WP特定の記事、特定の固定ページだけに表示する条件分岐タグの応用

Last Updated on 2014-11-17 by adsize_m

<?php if( is_page( array(ページID,ページID,ページID) ) ): ?>
表示したいコンテンツ
<?php endif; ?>

エクスクラメーションマーク(ビックリ)をつけると表示したくないページを指定

<?php if( !is_page( array(ページID,ページID,ページID) ) ): ?>
表示したくないコンテンツ
<?php endif; ?>

をコンテンツの直前に記述すれば実現します。

概要

このたび、新しくWPで作られたサイトを任されることになりました。その際に、ご要望にお答えするためには、WPが勝手にコードを整形してしまう機能(特にPタグの挿入)を排除しなければならない場面に遭遇しました。

通常、
functions.php に

remove_filter('the_content', 'wpautop');

を追加

または
特定のファイルの

<?php the_content(); ?>

の直前に

<?php remove_filter ('the_content', 'wpautop'); ?>

と入力すれば良いのですが

すべてのページ、すべての記事などまとめて反映されてしまうので
今まで整形されることを前提として作りこんできたレイアウトが
他のページで崩れてしまう可能性が出てきます。

そこで、条件分岐タグを使おうとしたところ

<?php if(is_page(ページID)): ?> ~ <?php endif; ?>

または

<?php if(is_post(記事ID)): ?> ~ <?php endif; ?>

とすれば、指定したIDのページにしか表示されないということがわかりました。

複数ページを指定する方法は、いろいろ紹介されているようですが
一番簡単だなと思ったのが、今回の記述。

array()

を追加するだけというシンプルさが気に入りました。
早速、クライアント様のWPに導入。

表示して欲しい2ページのみに

<?php remove_filter ('the_content', 'wpautop'); ?>

が表示されるようになりました。

作業メモでした。

Follow me!

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

PAGE TOP