WordPressで1ページ目だけに表示したいコンテンツがある時の条件分岐

wordpress

WordPressをカスタマイズしている時に、1ページ目だけに表示させたいコンテンツなのにページネーションのおかげで2ページ目以降にも表示されて困ったな…ということがあったので解決方法をメモしておきます。

WordPressのループって素晴らしいなと思う反面、たまに「ムムッ」ってなる時があるんですよね。

スライドショーはトップページ(1ページ目)だけに表示したい

具体的には、ストークのカスタマイズをしていてMeta Sliderというプラグインでスライドショーをつくった時に、2ページ目以降にはスライドショーを表示したくなかったので、こんな感じにしました。

<?php if ( !is_paged() ) :?>
<?php echo do_shortcode("[metaslider id=100]"); ?>
<?php endif; ?>

is_pagedは、こんな関数。

表示中のページが複数ページにわたり、現在のページ番号が 1 より大きいかどうかを調べます。ブーリアン関数で、TRUE または FALSE のどちらかを返します。

出典:WordPress Codex 日本語版 関数リファレンス/is paged

ちなみに、ぼくは2ページ目にはスライドショーはない方がいいなと思っているのですが、あった方がいいという人もいるようです。感覚って違うものですね…。

メインエリアのウィジェットはトップページだけに表示したい

これまたストークを使っていて、不便に感じたのでプラグインとコードで解決。

Widget Logicというプラグインを入れるとウィジェットに条件分岐タグを入れることができるようになります。

なので、プラグインを入れて、こんな具合に条件分岐を書くとコンテンツエリアに入れたウィジェットをトップページだけに表示させることができます。

Widget Logic

ウィジェットの出し分けがテーマ側で設定できるようになると嬉しいですね(勝手言います)。

Follow me!

この記事を書いた人

橋本 敬BridgeBookJP
デジタルガジェットやカメラ、写真、文房具などが大好きなWEBプロデューサー。浦和レッズサポでもあります。