我是一位经验丰富的网络开发人员,所以我很尴尬地问这个,但为什么我的if语句会兑现WordPress?
<!-- THE BLOCK FOR THE HEADER IN THE CMS !-->
<span class="PostHeader"><p>
<?php
if(empty(get_the_block("Header"))){
echo "Employment"; //Empty only on the employment screen
} else {
the_block("Header");
}
?>
</p>
<!-- END OF THE BLOCK -->
这是在Wordpress的模板中,如果我注释掉控件结构,它会正常加载,但只要我尝试让它在模板中运行,页面就会停止加载。
为什么要这样做?
- 编辑 -
很抱歉忘了提及“多个内容块”插件已启用。
答案 0 :(得分:2)
empty()是一个不是函数的结构,它只接受变量,你应该使用它:
<!-- THE BLOCK FOR THE HEADER IN THE CMS !-->
<span class="PostHeader"><p>
<?php
$block = get_the_block("Header");
if(empty($block)){
echo "Employment"; //Empty only on the employment screen
} else {
the_block("Header");
}
?>
</p>
<!-- END OF THE BLOCK -->
有关更多信息,请参阅PHP Empty
答案 1 :(得分:0)
根据WordPress Codex,没有任何功能get_the_block()
。
除非你已经定义了它或者有一个定义了它的插件,否则你会收到一个致命的错误。您服务器的错误日志可能会证实这一点。
答案 2 :(得分:0)
您必须下载此插件:http://downloads.wordpress.org/plugin/multiple-content-blocks.zip并安装它。
您尝试使用的功能不在WordPress Codex中,也找不到。这就是为什么你得到一个空白页面,也就是死亡的白色屏幕(也因为php reporting_error设置为false)。你可以尝试把这一行
error_reporting(-1);
在你的if else声明面前。
材料:
http://plugins.trendwerk.nl/documentation/multiple-content-blocks/