【WordPress】抜粋が未入力の場合でも、本文の冒頭を自動的に表示しないようにする
MENU
  • 記事公開:2019/02/23
  • 最終更新:2019/09/15

【WordPress】抜粋が未入力の場合でも、本文の冒頭を自動的に表示しないようにする

Wordpressで、抜粋が未入力の場合、本文の冒頭を自動的に表示しないようにする方法をご紹介します。【the_excerpt()】だけだと本文の冒頭が表示されてしまうので、【has_excerpt】と合わせて使う方法です。詳しくはコンテンツをご覧ください。

この記事は約 2 分で読めます。

WordPressのカスタマイズはお任せください。

WordPressのカスタマイズを格安で代行いたします。ご希望のカスタマイズがあればご相談ください。

抜粋が未入力の場合に何も表示させないなら【has_excerpt】を使え!

ある案件でのお話です。
LOOPに表示させる抜粋に、以下のようなカスタマイズをすることになりました。

抜粋に値がある=抜粋の値を表示
抜粋に値がない=何も表示しない

最初は簡単にできると思っていたのですが、予想以上に苦戦してしまいました。

抜粋の取得は【the_excerpt()】で行うのですが、この関数だけでは希望の形にできません。
【the_excerpt()】には、抜粋が空の場合、本文の冒頭を表示させる機能があるからです。

抜粋が未入力=何も表示しないということはできないんですね。

何か方法はないかしら?と調べてみると、【has_excerpt】という関数に行き当たりました。
【has_excerpt】は、抜粋があるかどうかを判断してくれる関数です。

この関数を使えば、抜粋があれば表示という条件分岐ができるので、以下の形が実現できます。

抜粋に値がある=抜粋の値を表示する
抜粋に値がない=何も表示しない

抜粋を表示させる箇所に以下のコードを記述してやればOKです。

<?php
$excerpt = get_the_excerpt();
if ( has_excerpt() ) : ?>
<?php echo nl2br($excerpt); ?>
<?php endif; ?>

抜粋に値がある=抜粋の値を表示する
抜粋に値がない=何も表示しない

上記が実現できているか確認してみたください。

まとめ

抜粋が未入力の場合、本文の冒頭を自動的に表示しないようにする方法をご紹介しました。

【the_excerpt()】だけでは、抜粋がない場合、本文の冒頭を取得してしまいます。
【has_excerpt】で、抜粋が「空じゃない場合は表示」と条件分岐してやることで希望の形が実現できました。

WordPressで何かしたいとき、関数を探せば大概のことはどうにかできる。
そんなことを再認識した瞬間でした。

Wordpressサイトのカスタマイズで
お困りではありませんか?

あなたのWordpressサイトを、ご希望に沿ってカスタマイズいたします。
次に該当する方は、お気軽にご相談下さい。

  • Wordpressサイトをカスタマイズしたいが、やり方が分からないで困っている。カスタマイズの知識が豊富な人に任せたい。
  • Wordpressサイトをカスタマイズしたいが、自分でカスタマイズする暇がない。カスタマイズが得意な人に丸投げしたい。
  • Wordpressサイトをカスタマイズしてみたが、上手くカスタマイズできなかった。カスタマイズ経験が豊富な人に任せたい。
  • Wordpressサイトをカスタマイズしてみたら、バグが発生して困っている。正常に動作するように正しくカスタマイズしてほしい。

一つでも該当する方は、以下のリンクからチェックしてみてください。

詳細を確認する


著者:takaya kondo

岡山在住のWordPress専門フリーランサーです。Wordpressを使ったWEBサイト制作を中心に10年間ほど活動させていただいています。

Wordpress関連の記事でお役に立てれば幸いです。

【関連記事】あなたが興味のありそうな関連記事をご紹介します。

コメントを残す

(必須)

CAPTCHA