1

我是一位经验丰富的网络开发人员,所以我很尴尬地问这个问题,但是为什么我的 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 的模板中,如果我注释掉控制结构,它可以正常加载,但是一旦我尝试让它在模板中运行,页面就会停止加载。

为什么要这样做?

- 编辑 -

抱歉忘记提及“多个内容块”插件已启用。

4

3 回答 3

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 空

于 2012-08-01T20:21:02.663 回答
0

get_the_block()根据WordPress Codex没有功能。

除非你已经定义了它或者有一个插件定义了它,否则你会遇到一个致命错误。您的服务器的错误日志可能会证实这一点。

于 2012-08-01T20:07:46.003 回答
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/

于 2012-08-01T20:09:16.347 回答