用于呈现保存在php文件中的html的块

时间:2019-12-30 作者:lonix

我有一个html片段保存为php文件(例如。mywidget.php):

<?php
if (!defined(\'ABSPATH\')) exit;
?>

<div>
  foo bar baz
</div>
在单独的文件中mywidget-block.php, 如何创建“包装”标记的块mywidget.php?

块文档非常复杂,我希望创建这个最简单的块,而不必学习react。它所做的就是输出保存在php文件中的html。

1 个回复
SO网友:Adriana Hernández

如果你正在处理Wordpress主题,你可以使用以下功能:

get_template_part( string $slug, string $name = null )
Wich将模板部分加载到php模板中。

get\\u template\\u part()将对存在的第一个文件执行PHP require()。。。

它的工作效率非常高,就像您需要另一个php文件一样。例如,在您的情况下,您可以在mywidget-block.php:

<?php
// some block that "wraps" the markup from mywidget.php
get_template_part(\'theme-templates/mywidget\');
// more code wrapping the markup
?>
在你的mywidget.php, 您拥有的所有代码:

<?php
if (!defined(\'ABSPATH\')) exit;
?>

<div>
  foo bar baz
</div>
此示例假设您有mywidget.php 在主题根目录中名为“主题模板”的文件夹中。Here is 此功能的文档。

记住这一点get_template_part() 是一个主题函数,因此不能使用该函数加载插件文件。如果您正在开发Wordpress插件,那么我建议您this post wich向您介绍了如何使用一个函数来加载插件模板,同时允许用户在其主题中覆盖插件模板。基本上,它所做的是在主题中的一个特殊文件夹中查找,如果没有找到,则在templates文件夹中查找插件。

相关推荐

class-wp-hook.php on line 288

有人能帮我解决这个错误吗?我的网站不工作,甚至wp管理页面。我收到了这个错误消息。我试图禁用所有插件,但仍然是同一个错误?警告:call\\u user\\u func\\u array()要求参数1为有效回调,在/home//public\\u html/wp includes/class wp hook中找不到函数“wp\\u pre\\u kses\\u block\\u attributes”,或函数名无效。php在线288警告:call\\u user\\u func\\u array()要求参