トップページとそれ以外(投稿・固定ページ)で表示内容を変更|WordPress
※当サイトはWeb広告を利用していますWordPressでサイトのトップページとそれ以外(投稿や固定ページで作成したページ)で、部分的に表示内容を変更する方法を紹介します。
例えば、以下のようなときに便利ですね。
・トップページにはバナーが不要
・サイドバーのデザインを変えたい
・テキストの表示内容を変えたい
・異なる内容の広告を表示させたい
使いどころは多いですよ。
目次
表示内容を変更する3つの方法
このページではそれらを実現するために、
・トップページとそれ以外で表示内容を変更
・トップページにのみ表示
・トップページ以外にのみ表示
の3つの方法をみていきましょう。
トップページとそれ以外で表示内容を変更
テキストやHTMLで表示させる場合は、以下の記述になります。
<?php if ( is_home() || is_front_page() ) { ?> <p>トップページの内容</p> <?php } else { ?> <p>トップページ以外のページの内容</p> <?php } ?>
WordPressの関数やphpを入れる場合は、以下の記述になります。ちなみに以下は、トップページはsidebar.phpをそれ以外は、sidebar-in.phpを表示させます。
<?php if ( is_home() || is_front_page() ) { // トップページの内容 get_sidebar(); } else { // ップページ以外のページの内容 get_sidebar( 'in' ); } ?>
ヘッダーやフッターなどでも、表示を切り替えたいときに使えますね。
トップページにのみ表示
トップページにだけに表示させたい内容を指定できます。header.phpなど、全ページ共通にしているファイルで使えますね。
<?php if ( is_home() || is_front_page() ) : ?> <p>トップページのみに表示させる内容</p> <?php endif; ?>
トップページ以外にのみ表示
トップページ以外の中面(投稿や固定ページ)にだけ表示させたい内容を指定できます。
<?php if ( !is_home() && !is_front_page() ) : ?> <p>トップページ以外にのみ表示させる内容</p> <?php endif; ?>
is_home()とis_front_page()
home.phpやindex.phpをトップページとしているなら、
<?php if(is_home()): ?>
でもOKです。
is_front_page()は、管理画面の設定→表示設定で、フロントページの表示を固定ページにしている場合に必要です。
ここでは、どちらであっても判断できるよう、
<?php if ( is_home() || is_front_page() ) : ?>
としています。