改造する

Release | Updated |

WordPressで特定のシングルページやアーカイブページを指定する方法。投稿とカスタム投稿で条件指定が異なる?!

この記事では、特定のシングルページや特定のアーカイブページの指定方法について解説します。

条件分岐を用いると、例えば、、、

  • 「ページごとに別のCSSを当てたい」
  • 「このページにだけJavaScriptを読み込ませたい」

といった場合に活用できます。下記例↓↓↓

<?php if( 条件1 ) :?>
  <!-- 条件1に当てはまる場合の処理 -->
<?php elseif( 条件2 ) :?>
  <!-- 条件2に当てはまる場合の処理 -->
<?php else :?>
  <!-- 条件1にも条件2にも当てはまらない場合の処理 -->
<?php endif ;?>

なお、この記事では、index.php等に直接記述し切り分ける方法になります。
一番推奨されているのはfunctions.phpで切り分ける方法となりますが、本記事では割愛します。

注意点としては、通常の投稿とカスタム投稿で、指定方法が異なります。

特定のアーカイブページの指定方法

通常の投稿とカスタム投稿で指定方法が異なるのでご注意ください!

通常の投稿のアーカイブページにだけ適用する方法

is_archiveを利用します。
通常の投稿に対するアーカイブページは1つしか無いので、is_archive()の括弧の中には何も記述しなくても大丈夫です。

<?php if ( is_archive() ) :?>
  <!-- 通常の投稿のアーカイブページにだけ適用したい処理 -->
<?php endif;?>

特定のカスタム投稿のアーカイブページにだけ適用する方法

is_post_type_archiveを利用します。

<?php if( is_post_type_archive( 'カスタム投稿タイプ名' ) ) :?>
  <!-- 特定のカスタム投稿のアーカイブページにだけ適用したい処理 -->
<?php endif;?>

いくつかの特定のカスタム投稿のアーカイブページだけに適用する方法

例えば、カスタム投稿が3つ以上あり、それらのうち2つのアーカイブページにだけ適用したい場合です。

is_post_type_archiveとarrayを利用します。

<?php if( is_post_type_archive( array( 'カスタム投稿タイプ名1', 'カスタム投稿タイプ名2') ) ) :?>
  <!-- いくつかの特定のカスタム投稿のアーカイブページだけに適用したい処理 -->
<?php endif;?>

特定のシングルページの指定方法

アーカイブページと同様に、通常の投稿とカスタム投稿で指定方法が異なるのでご注意ください!

通常の投稿のシングルページにだけ適用する方法

is_singleを利用します。
通常の投稿に対するシングルページは1つしか無いので、is_single()の括弧の中には何も記述しなくても大丈夫です。

<?php if ( is_single() ) :?>
  <!-- 通常の投稿のシングルページにだけ適用したい処理 -->
<?php endif;?>

特定のカスタム投稿のシングルページにだけ適用する方法

is_singularを利用します。

<?php if( is_singular( 'カスタム投稿タイプ名' ) ) :?>
  <!-- 特定のカスタム投稿のシングルページにだけ適用したい処理 -->
<?php endif;?>

いくつかの特定のカスタム投稿のシングルページだけに適用する方法

is_singularとarrayを利用します。

<?php if( is_singular( array( 'カスタム投稿タイプ名1', 'カスタム投稿タイプ名2' ) ) ) :?>
  <!-- いくつかの特定のカスタム投稿のシングルページだけに適用したい処理 -->
<?php endif;?>

カスタム投稿の追加方法参考記事

なお、カスタム投稿の追加方法については、下記記事で詳しく紹介しております。
カスタム投稿で不明点ある場合は、ぜひご覧ください!

こちらの記事もいかかですか?

すべての記事一覧へ

  1. HOME
  2. WordPressで特定のシングルページやアーカイブページを指定する方法。投稿とカスタム投稿で条件指定が異なる?!