2017-08-29 16 views
0

私はpost_excerptを持っているかどうかを確認してから、いくつかのものを返します。私はいつもpost_excerptの下にsomethingsを表示したいと思っています。私は<?php endif; ?>を使用しますが、動作しません。 ifステートメントを終了するには?if - return - endif文

<?php 

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

global $post; 

if (! $post->post_excerpt) { 
    return; 
} 

?> 

    <p>Have post_excerpt</p> 

<?php endif; ?> 

    <p>Always display even no post_excerpt</p> 

私は以下を使用してみました:

<?php 

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

global $post; 

if (! $post->post_excerpt): 
?> 

<p> 
    <?php echo apply_filters('woocommerce_short_description', $post->post_excerpt); ?> 
</p> 

<?php endif; ?> 

    <p>Always display even no post_excerpt</p> 

私はpost_excerptを表示することはできません。

+0

どこにいるかの開始ですか! –

+0

'endif;'(あなたのコードには存在しない) 'if():'文を閉じます。 [制御構造の代替構文](http://php.net/manual/en/control-structures.alternative-syntax.php)を参照してください。 – axiac

答えて

0

はこれを試してみてください:

 <?php 

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

global $post; 

if (! $post->post_excerpt) {?> 
     <p>Always display even no post_excerpt</p> 

<?php } else{?> 
    <p>Have post_excerpt</p> 

    <?php }?> 
+0

まだ表示されません。そこには他に "have post_excerpt"という段落が戻りの後ろにあり、到達不能になるでしょう。 – Sondre

+0

「global」から手をつけてください –

+0

私はこれを試しましたが、「post_excerpt」を返さなかった – Murasaki

2

return;の場合、PHPの実行をブロックします。

if (condition) { 
    ... 
} 
else { 
    ... 
} 

OR this way: 

if (condition): 
    ... 
else: 
    ... 
endif; 

あなたがそれらを混在させることはできません:構築物は、このようにしていること

<?php 

if (! $post->post_excerpt): 

?> 

<p>Have post_excerpt</p> 

<?php endif; ?> 

<p>Always display even no post_excerpt</p> 

注:

私はあなたではなく、このような何かをしたいと思います。

更新コード私はあなたのコードをコピーしましたが、いくつか問題があるかもしれないと思いますが、この$ postグローバル変数については確かですか?どのフレームワークを使用していますか?

あなたが最初にそこに何のvar_dump($ポスト)に確認する必要があり、そうでなければ、しようとする場合があります:

if (!empty($_POST['post_excerpt'])): 
+0

まだ意味がありません。そのブロックが行うのは、post_excerptを持つエコーですが、そのチェックはまったく反対です。彼が本当に望んでいると思っているのはifのオペレータではなく、echoが設定されていればそれをエコーすることです – Sondre

+0

私はこれを試しましたが、post_excerptを表示できません – Murasaki

+0

私は私の答えにメモを追加しました。 – Johnny

関連する問題