is_single():投稿ページの判別

wordpress 条件分岐タグ

基本の記述

投稿ページかどうかを判別するには「is_single()」を利用します。

<?php if ( is_single() ) : ?>
 投稿ページのときに表示したい内容
 <?php endif; ?>

特定の投稿ページをIDで指定

特定の投稿ページだけを判別したい場合はIDを指定します。
例えば投稿IDが「30」かどうか判別するときは以下の通りに書きます。

<?php if ( is_single( 30 ) ) : ?>
 投稿IDが「30」のときに表示したい内容
 <?php endif; ?>

特定の投稿ページをタイトル名で指定

投稿のタイトルで判別したい場合はタイトル名を指定します。
例えば投稿のタイトルが「Kajico Blog」かどうか判別するときは以下の通りに書きます。

<?php if ( is_single( 'Kajico Blog' ) ) : ?>
 投稿のタイトルが「Kajico Blog」のときに表示したい内容
 <?php endif; ?>

特定の投稿ページをスラッグで指定

投稿スラッグで判別したい場合は投稿スラッグを指定します。
例えば投稿スラッグが「kajico_blog」かどうか判別するときは以下の通りに書きます。

<?php if ( is_single( 'kajico_blog' ) ) : ?>
 投稿スラッグが「kajico_blog」のときに表示したい内容
 <?php endif; ?>

複数の投稿ページを指定

複数の投稿ページを指定することもできます。

複数の投稿IDを指定

例えば投稿ID「3」もしくは「7」もしくは「13」かどうか判別するときは以下のようにarray()を使って書きます。array()は配列です。

<?php if ( is_single( array( 3 , 7 , 13 ) ) ) : ?>
 投稿IDが「3」、「7」、「13」のいずれかのときに表示したい内容
 <?php endif; ?>

複数の異なる基準で判別を指定

異なる基準で判別を指定することもできます。
例えば投稿ID「3」もしくは投稿タイトルが「Kajico Blog」もしくは投稿スラッグが「kajico_blog」かどうか判別するときは以下の通りに書きます。

<?php if ( is_single( array( 3 , 'Kajico Blog' , 'kajico_blog' ) ) ) : ?>
 投稿IDが「3」、投稿タイトルが「Kajico Blog」、投稿スラッグが「kajico_blog」のいずれかのときに表示したい内容
 <?php endif; ?>

否定文で投稿ページ以外を指定

否定文で判別を指定することもできます。
例えば投稿ページでないページ(固定ページ、カスタム投稿タイプ、アーカイブなど)を指定するときは以下の通りに書きます。

<?php if ( !is_single() ) : ?>
 投稿ページでないときに表示したい内容
 <?php endif; ?>

否定文で特定の投稿ページ(単ページ)以外を指定

例えば投稿ページ「3」でない他のページを一括指定するときは以下の通りに書きます。

<?php if ( !is_single( 3 ) ) : ?>
投稿ページ「3」以外のページのときに表示したい内容
<?php endif; ?>

否定文で特定の投稿ページ(複数ページ)以外を指定

例えば投稿ID「3」もしくは投稿タイトルが「Kajico Blog」もしくは投稿スラッグが「kajico_blog」以外かどうか判別するときは以下の通りに書きます。

<?php if ( !is_single( array( 3 , 'Kajico Blog' , 'kajico_blog' ) ) ) : ?>
投稿IDが「3」、投稿タイトルが「Kajico Blog」、投稿スラッグが「kajico_blog」のいずれか以外のときに表示したい内容
 <?php endif; ?>

コメント

タイトルとURLをコピーしました