WordPress 抜粋の表示方法
最終更新日 - 公開日 2017.10.20
by
WordPress で投稿の抜粋を取得して表示する方法を紹介します。
例えば、投稿一覧で投稿の冒頭文を表示したいときなどに便利な方法です。
抜粋とは?
WordPress の抜粋は、投稿にオプションでつけられる投稿の概要表示機能のことです。
投稿では最初から有効化されている機能ですが、固定ページでは機能を有効化する作業が必要です。
抜粋の取得と表示方法
抜粋の表示には the_excerpt()
を使用します。
次のコードは、抜粋の表示と取得の関数です。
<?php the_excerpt(); ?>(表示関数)
<?php get_the_excerpt(); ?>(取得関数)
抜粋を使った条件分岐の方法
抜粋で条件分岐を使用する場合は has_excerpt
を使用します。
次のコードは、投稿に抜粋があった場合に抜粋を表示する方法です。
<?php
if (has_excerpt()) {
the_excerpt();
} else {
echo '抜粋はありません';
}
?>
条件分岐のトリガーに the_excerpt
を使いがちですが、the_excerpt
は抜粋の入力がない場合に本文の一部を引用して表示するため、抜粋の条件分岐には has_excerpt
を使用しましょう。
固定ページで抜粋を表示する方法
固定ページで抜粋を表示する場合は、抜粋機能を有効化する必要があります。
抜粋機能を有効化する詳しい方法はWordPress 固定ページで抜粋を表示する方法をご覧ください。
抜粋の出力結果から P タグを除外する方法
抜粋を the_excerpt
で出力すると p タグで囲われて出力されます。
pタグを除外する場合は get_the_excerpt
を使用します。
<?php echo get_the_excerpt(); ?>
抜粋を文字数制限をかけて表示する方法
抜粋を文字数制限をかけて表示する場合は、条件分岐と strip_tags
を使用します。
抜粋を文字数制限をかけて表示するには、次のコードをループ内に追加します。
<?php // 抜粋を文字数制限をかけて表示
$excerpt_num = 72; // 制限をかけるバイト数を指定 全角=2バイト 半角=1バイト
$post_excerpt = strip_tags(get_the_excerpt()); // 抜粋を取得
if(mb_strlen($post_excerpt)>$excerpt_num ) { // 抜粋が指定したバイト数より多い時に TRUE
$content = mb_substr($post_excerpt,0,$excerpt_num); // 同じバイト数を指定
echo str_replace(array("\r", "\n"), '', $content).・・・; // 改行の削除、末尾に「...」を追加
} else {
echo str_replace(array("\r", "\n"), '', $post_excerpt); // 改行の削除
}
?>
最初に制限をかけるバイト数を指定しますが、全角と半角でバイト数が違うので注意が必要です。
※全角=2バイト、半角=1バイト
まとめ
WordPress で抜粋を取得して表示する方法を紹介しました。