WP:WordPress(ワードプレス)

【WordPress】is_single()で記事個別ページかどうかの判定

is_single()で記事個別ページの判定

投稿記事の個別ページにのみ表示させたい内容実行したい処理ってよくあります。

例えば、
記事個別ページでのみ実行したいJavasriptの処理があれば、
<head>~</head>内で記事個別ページかどうかを判定してJavascriptのコードを出力します。

そんな場合には、
is_single()という関数を使って条件判定を行います。

このようなコードになります。

<?php if( is_single() ): ?>
ここに処理を書く
<?php endif; ?>

もし、記事個別ページ記事個別ページ以外で処理を分けたい場合には、以下の様なコードになります。

<?php if( is_single() ): ?>
記事個別ページでの処理
<?php else: ?>
記事個別ページ以外での処理
<?php endif; ?>

 

記事ID、記事タイトル、スラッグを指定して、特定の記事個別ページの判定

特定の記事ページのみで処理を実行したい場合もあります。

その場合には、記事ID記事タイトルスラッグのいずれかを指定します。

このような感じになります。

【記事IDを指定】
is_single("記事ID")
【記事タイトルを指定】
is_single("記事タイトル")
【スラッグを指定】
is_single("スラッグ")

また、複数の記事個別ページを判定する場合には、配列で指定します。
is_single( array("記事ID1", "記事ID2", "記事ID3") )

is_single( array("記事ID1", "記事ID2", "記事タイトル", "スラッグ") )
のように、記事ID、記事タイトル、スラッグが混ざっていてもOKです。

 

is_singular()を使った記事個別ページの判定

is_singular()を使って、記事個別ページかどうかの判定も可能です。

以下の様に使用します。

<?php if( is_singular() ): ?>
ここに処理を書く
<?php endif; ?>

ただ、is_singular()は、記事個別ページ固定ページ添付ファイルページのいずれかの判定を行います。

なので、もし記事個別ページのみを判定して処理を行う場合には、
is_singular()に「post」を指定します。

このように使います。

<?php if( is_singular("post") ): ?>
ここに処理を書く
<?php endif; ?>

 

記事一覧ページで特定の記事判定

記事の一覧ページの中で、特定の記事のみを判定して処理を変更したり、表示の仕方を変えたい場合があります。

例えば、
先日、ブログ記事の中で重要なお知らせを記載した場合のみ、タイトルを目立たせたい、
という案件がありました。

具体的には、
「タイトルに "重要なお知らせ" とい文字列が入っている場合のみ、記事タイトルを目立たせる」
という仕様になりました。

そんな場合には、このようなコードを書けば可能です。

<?php if(have_posts()):while(have_posts()):the_post(); ?>
<?php if( strpos(get_the_title(),"重要なお知らせ") !== false ): ?>
&lt;span class="bold"&gt;&lt;?php the_title(); ?&gt;&lt;/span&gt;
<?php else: ?>
<?php the_title(); ?>
<?php endif; ?>


<?php endwhile;else: ?>
<?php endif; ?>

・カスタムフィールドでチェックボックスを用意
・チェックが入っている場合のみ、記事タイトルを目立たせる
とすればいいと思うのですが、
お客さんがこれがいいと言われたので、今回はこのような対応になりました。

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. SEO対策とは
  2. SE(システムエンジニア)
  3. カメラ
  4. アクセス解析
  5. ファイアウォール
  6. 一眼レフカメラ
  7. システム開発用のアイキャッチ
  8. FTPサーバー
  9. システム開発用のアイキャッチ
  10. Warning
PAGE TOP