is_preview()

is_preview()は、プレビュー画面かどうかで条件分岐ができるタグです。

使いどころとしては、query_posts() を使用してループをカスタマイズした際、「下書き」状態の記事がプレビューできない件を解消するなど。

query_posts() はデフォルトでは「公開」状態の記事しか表示しませんので、下書き中の記事は公開しないとプレビュー不能という状態に陥ります。

is_preview()

 

引数「post_status=draft」を入れてやることで「下書き」も表示することができますが…。
これだとプレビューではない通常の閲覧時にも「下書き」が見えてしまうというトンデモナイ状況に。

こういったときに、is_preview() をつかって条件分岐してやるとうまくいきます。

 

is_preview()2

便利ですね!

コード記述例

<?php //プレビューのときだけ下書きも表示
if(is_preview()):
query_posts('cat=1&post_status=draft,publish');
else:
query_posts('cat=1');
endif; ?>
<?php if (have_posts()):while (have_posts()):the_post(); ?>
〜 略 〜
<?php endwhile; else: ?>
<p>只今、投稿はありません。</p>
<?php endif; ?>
<?php wp_reset_query(); ?>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です