【WordPress】投稿記事の抜粋文の表示方法

WordPressの記事一覧ページなどに投稿記事の抜粋文を表示する方法です。

the_excerpt() 関数を使用する

投稿の抜粋を表示するために、任意のテーマファイルで the_excerpt() 関数を使用します。
通常は、archive.php や index.php などのテンプレートファイルに配置します。

<?php the_excerpt(); ?>

抜粋の長さを制御する

the_excerpt()関数を使用すると、デフォルトでは55ワードの抜粋が表示されます。抜粋の長さを制御するには、以下のコードをfunctions.phpファイルに追加します。

function custom_excerpt_length($length) {
    return 20; // 抜粋の長さを20ワードに設定
}
add_filter('excerpt_length', 'custom_excerpt_length');

return 20; の数値を変更すれば任意の文字数に変更することができます。

抜粋の省略記号を変更する

デフォルトでは、抜粋の末尾に「[…]」が表示されますが、あまり見栄えがよくないので変更することが多いです。

これを変更するには、次のコードをfunctions.phpファイルに追加します。

function custom_excerpt_more($more) {
    return '... <a href="' . get_permalink() . '">続きを読む</a>';
}
add_filter('excerpt_more', 'custom_excerpt_more');

上記の例では、custom_excerpt_more という関数を作成し、抜粋の末尾に「… 続きを読む」というリンクを追加しています。get_permalink()関数を使用して続きを読むリンクが正しい記事にリンクするようにしています。

HTMLタグを許可する

デフォルトでは、the_excerpt()関数はHTMLタグを削除します。しかし、HTMLタグを許可したい場合は、以下のコードをfunctions.phpファイルに追加します。

function allow_html_in_excerpt($content) {
    return apply_filters('the_content', $content);
}
add_filter('the_excerpt', 'allow_html_in_excerpt');

この例では、allow_html_in_excerpt という関数を作成し、the_excerpt フィルターを使用してHTMLタグを許可しています。これにより、抜粋内でHTMLタグを使用できます。