今日もWordPressのブログのカスタマイズをしています。勉強のため、バズ部さんのXeory Baseテーマを利用しています。
シンプルなつくりなので勉強になります。ところで、セオリーベースでは、トップページの投稿一覧に全文が表示される仕様となっています。
トップページ投稿リストには、アイキャッチ・日付・タイトル・抜粋が掲載されていればよかったので。
全文表示のコードを変更して、投稿リストの記事一覧内では単一記事本文を抜粋表示にしました。
検索しても見つからなかったので、以下のコードを書きました。
CodeSnippetsか子テーマのfunctions.phpに貼り付けです。
add_filter( 'the_content', function ( $content ) {
// 管理画面、フィード、個別記事ページ、メインクエリ以外、ループ外を除外
if (
is_admin() ||
is_feed() ||
is_singular() ||
! in_the_loop() ||
! is_main_query()
) {
return $content;
}
$post = get_post();
if ( ! $post || $post->post_type !== 'post' ) {
return $content;
}
$excerpt = trim( (string) $post->post_excerpt );
if ( $excerpt === '' ) {
$excerpt = wp_trim_words(
wp_strip_all_tags( strip_shortcodes( $content ), true ),
80,
'…'
);
}
return '<p class="retro-list-excerpt">' . esc_html( $excerpt ) . '</p>';
}, 1 );
以上でXeory Baseの記事一覧が抜粋表示になりました。
