COWAZA

  • 2020.05.01

投稿記事だけを判別したいとき

WordPressで投稿記事を判別して、テーマファイルの表示を変更したり、特定の投稿記事にだけ何かを表示させたい時など。

is_single関数を使用する

is_singleは個別の投稿を表示しているかどうかをチェックできます。
以下のような使用方法があります。

is_single();
// 任意の個別投稿のページが表示中。

is_single( '17' );
// ID 17 の投稿が表示中。

is_single( 17 );
// ID 17 の投稿が表示中。17という整数パラメータも使えます。

is_single( 'Irish Stew' );
// "Irish Stew" というタイトルの投稿が表示中。

is_single( 'beef-stew' );
// "beef-stew" というスラッグの投稿が表示中。

is_single( array( 17, 'beef-stew', 'Irish Stew' ) );
// ID が 17、スラッグが "beef-stew"、またはタイトルが "Irish Stew" のいずれかにあてはまる投稿が表示中。
// 配列を引数に使えるのは バージョン 2.5 からです。

is_single関数の使い方

記事IDに対して表示する場合

<?php if(is_single('i')): ?>
 記事ID"i"にのみ表示する内容を入力する
<?php endif; ?>

※”i”は記事のIDです。

現在表示している記事に対して使用する場合

<?php if(is_single()): ?>
 この記事に表示する内容を入力する
<?php endif; ?>

複数の記事に対して使用すう場合

<?php if (is_single(array('i','i','i'))): ?>
 複数の記事IDの個別投稿ページに表示する内容
<?php endif; ?>

※”i”は記事のIDです。

is_single使用例

個別投稿ページのみにjsファイルを読み込ませたい場合

footer.phpに以下の記述をする。

<?php if (is_single()): ?>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/singlepage.js"></script>
<?php endif; ?>

逆に個別投稿ページ以外にjsファイルを読み込ませたいなら

footer.phpに以下の記述をする。

<?php if (!is_single()): ?>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/not_singlepage.js"></script>
<?php endif; ?>

is_singleの前に!が入っています。

リファレンス

WordPress Codex 関数リファレンス/is single

%d人のブロガーが「いいね」をつけました。