投稿ページや固定ページで特定のページのみ画像や文章を出したい時ってありますよね。
そんな時に使える便利なWordPressの関数と設置例をご紹介します。
目次
広告
投稿ページの場合
投稿ページでの特定のページの判定はis_single関数で行います。
参考:関数リファレンス/is single – WordPress Codex 日本語版
投稿ページは「single.php」ファイルに出力内容が記載されているので 「single.php」ファイル に is_single関数を使った条件分岐を記述します。
記述する内容は下記のようなコードになります。
<?php if(is_single( $post )): ?> <!-- 条件に当てはまる場合 --> <?php else: ?> <!-- 条件に当てはまらない場合 --> <?php endif; ?>
is_single関数のパラメータとして指定している’ $post ‘の箇所には、投稿IDや投稿タイトルが指定できますが、投稿タイトルは変更することがあるので投稿IDを指定しましょう。
私が使っているテーマであれば、下記のような感じになります。
<?php get_header(); ?> <section id="primary" class="content-single content-area"> <main id="main" class="site-main" role="main"> <?php if(is_single( 210 )): ?> <!-- postIDが210の場合のみ処理を実行 --> <p>投稿IDが210です</p> <?php else: ?> <!-- 210以外はなにもしない --> <?php endif; ?> <?php while ( have_posts() ) : the_post(); get_template_part( 'template-parts/content', 'single' ); maxwell_related_posts(); comments_template(); endwhile; ?> </main><!-- #main --> </section><!-- #primary --> <?php get_sidebar(); ?> <?php get_footer(); ?>
補足ですが、投稿IDはWordPressの記事編集画面のURLに’post=XXX’の形式で記載されていますので、そちらを参照して投稿IDを確認してください。
固定ページの場合
固定ページでの特定のページの判定はis_page関数で行います。
参考:関数リファレンス/is page – WordPress Codex 日本語版
固定ページは「page.php」ファイルに出力内容が記載されているので 「page.php」ファイルにis_page関数を使った条件分岐を記述します。
記述する内容は下記のようなコードになります。
<?php if(is_page( $post )): ?> <!-- 条件に当てはまる場合 --> <?php else: ?> <!-- 条件に当てはまらない場合 --> <?php endif; ?>
is_single関数と同様ですが、 is_page関数のパラメータとして指定している’ $post ‘の箇所には、投稿IDや投稿タイトルが指定できますが、投稿タイトルは変更することがあるので投稿IDを指定しましょう。
私が使っているテーマであれば、下記のような感じになります。
<?php get_header(); ?> <section id="primary" class="content-single content-area"> <main id="main" class="site-main" role="main"> <?php if(is_page( 7 )): ?> <!-- postIDが7の場合のみ処理を実行 --> <p>投稿IDが7です</p> <?php else: ?> <!-- 7以外はなにもしない --> <?php endif; ?> <?php while ( have_posts() ) : the_post(); get_template_part( 'template-parts/content', 'page' ); comments_template(); endwhile; ?> </main><!-- #main --> </section><!-- #primary --> <?php get_sidebar(); ?> <?php get_footer(); ?>
投稿ページと同じですが、投稿IDはWordPressの記事編集画面のURLに’post=XXX’の形式で記載されていますので、そちらを参照して投稿IDを確認してください。
今回紹介した方法はどうしても普通では対処できない場合の「イレギュラーな方法」として使う方が良いです。
相当凝ったデザインのWebサイトでなければ、基本的な構成は同じはずなので、統一感を出すためにも多用は控えた方が良さそうです。