【WordPress】抜粋の文字数と最後の文字列 […] を変更

抜粋の文字数と最後の文字列を変更

WordPressで投稿をしたとき、抜粋文の文字数はデフォルトのままだと 110 文字となっていています。
また抜粋文の最後の文字列も […] となっていて、見栄えがいいとは言えないでしょう。
それから固定ページにはデフォルトで抜粋機能はついていません。

今回はこの抜粋に関するカスタマイズをしていきます。

  1. 抜粋の文字数を変更する
  2. 抜粋文の最後の文字列 […] を変更する
  3. 固定ページにも抜粋機能を追加する

以上の方法について解説していきます。

抜粋文を文字数を変更

抜粋文の文字数を変更するには、下記コードを functions.php に記述します。

// ↓ 抜粋の文字数を変更する
function change_excerpt_length($length)
{
    return 80;  //変更する文字数
}
add_filter('excerpt_length', 'change_excerpt_length', 999);

フィルターフック 'excerpt_length'で抜粋の長さを定義しています。

上記コードで抜粋の文字数が 80 文字となりました。

注意点として第3引数は 999 のままにしてください。

999などの優先順位を正しく設定してください。そうしないと、この関数のデフォルトのWordPressフィルターが最後に実行され、ここで設定した内容が上書きされます。
引用元:WordPress.ORG

抜粋文の最後の文字列 […] を変更する

抜粋文の最後の文字列 […] を変更するためには、先程同様 functions.php に下記コードを記述します。

// ↓ 抜粋文の最後の文字列[…]を変更する
function change_excerpt_more($more)
{
    return '……';  //変更後の文字列
}
add_filter('excerpt_more', 'change_excerpt_more');

フィルターフック'excerpt_more'で、抜粋文の後に来る文字列を変更しています。

固定ページにも抜粋機能を追加する

固定ページには抜粋機能がデフォルトで有効にはなっていません。
これを有効化したい場合は functions.php に下記コードを記述します。

// 抜粋機能の有効化
add_post_type_support('page', 'excerpt');

関数のadd_post_type_support( $post_type, $supports )は、投稿タイプ別の機能を設定することができます。

今回の場合は以下のように設定しました。

  • 第1引数 $post_type 'page'として「固定ページ」を指定
  • 第2引数 $supports 'excerpt'として追加する機能に「抜粋」を指定

以上、抜粋機能のカスタマイズについての解説は終わりです。
お疲れさまでした(^O^)/

この記事を書いた人

けいた

高校卒業してから15年間勤めた会社を退職→脱サラしてWeb制作。
現在はWordPressサイト構築とShopifyストア構築をメインに、副業で物販をやっています。