記事の抜粋文に追記タグ以降のテキストも含めたい!
WordPressの抜粋文は、投稿画面で記事ごとに指定することができます。
また、指定がなくとも記事本文の最初から110文字を抽出したものを抜粋文として扱います。
この110文字というのはデフォルトで指定されている設定値ですが、
110文字以内に「追記タグ」が存在すると、抜粋文もそこで途切れてしまいます。
// 抜粋文を表示する the_excerpt();
記事の本文例
記事の追記タグを110文字以内に入れます。<!--more-->ここから先は抜粋文に入りません。1234567890123456789012345678901234567890123456789012345678901234567890123ここから先は110文字以降です。
上の記事の抜粋文
記事の追記タグを110文字以内に入れます。
追記タグ以降も抜粋として含めたい場合は、
追記タグ以降を含めた全文を取得する必要があります。
追記タグ以降を含めた記事本文を取得する
the_content() では追記タグ以降は省略されてしまうため、別の方法で本文を取得します。
$post->post_content | ループ中の記事の本文を全て取得します。パスワード付きの記事も取得するのでご注意を。 |
---|
// パスワードのついていない記事のみ抜粋文を表示させる if ( empty($post->post_password) ) { // 追記タグ以降を含めた記事本文の全文を取得する // 抜粋文なのでHTMLタグ、ショートコードは削除する $content = strip_tags(strip_shortcodes($post->post_content)); // 180文字まで抽出 $content = mb_strimwidth($content, 0, 180, '...', 'UTF-8'); echo $content; } // パスワードのついている記事 else { // なくてもいいです echo 'この記事はパスワード保護されているため、抜粋文はありません。'; }
the_content() と違い、パスワード保護の有無に限らず取得できてしまうので
パスワードの有無をチェックさせます。保護を今後も使わない場合必要はありません。
また、この方法で抜粋文を表示すると、デフォルトの110文字以上表示できます。
抜粋文のデフォルト文字数は設定から変えられますが、この方法だとテーマだけで変更することができて楽です。
抜粋文の文字数変更だけなら、functions.php を変更する方法があります。
こちらも合わせてどうぞ。
>> WordPressの抜粋文の文字数を110文字から変更したい
関連記事