1

私は経験豊富なWeb開発者なので、これを尋ねるのは恥ずかしいのですが、なぜ私の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 -->

詳細については、PHPEmptyを参照してください

于 2012-08-01T20:21:02.663 に答える
0

WordPressCodexget_the_block()による機能はありません。

あなたがそれを定義したか、それを定義したプラグインを持っていない限り、あなたは致命的なエラーを受け取ります。サーバーのエラーログでこれを確認できる可能性があります。

于 2012-08-01T20:07:46.003 に答える
0

このプラグインをダウンロードする必要があります:http://downloads.wordpress.org/plugin/multiple-content-blocks.zipそしてそれをインストールします。

使用しようとしている関数はWordPressCodexになく、また見つかりません。これが、死の白い画面とも呼ばれる空白のページが表示される理由です(php Reporting_errorがfalseに設定されているため)。この行を入れてみることができます

error_reporting(-1);

ifelseステートメントの前。

材料 :

http://plugins.trendwerk.nl/documentation/multiple-content-blocks/

于 2012-08-01T20:09:16.347 に答える