賢威7.0

賢威7:記事一覧の抜粋部分を指定の文字数にする方法

post-index-excerpt-length-thumbnail

こんにちは、ぶどうサワーです。
サイトの閲覧ありがとうございます。

今回の記事では、WordPressテーマ:賢威7のトップページやアーカイブページ、検索結果などに表示される記事一覧の抜粋部分を、指定の文字数に変更する方法を紹介したいと思います。

ここでは賢威7のビューティー版を使用していますが、それ以外のテーマでも同じようにカスタマイズすることができます。

カスタマイズ前

↓ 賢威をインストールしたばかりの状態

post-index-excerpt-length-before

カスタマイズ後

カスタマイズ 1

↓ 本文の抜粋記事を20文字に変更

post-index-excerpt-length-after-1
カスタマイズ 2

↓ 抜粋記事を35文字に変更

post-index-excerpt-length-after-2

[ad]

はじめに

WordPressでは、フィルターフックという便利な機能があるので、今回はこれを利用して記事一覧の文字数を変更していきます。

フィルターフックという名前の通り、用意されたフックにかかっているフィルターに通して、表示する内容を変更するという感じのものです。

(たしか変数に置き換えるかどうか、という点がアクションフックとの違いで、それ以外は同じだった気がします ← 変数に置き換えるから上書きできる = フィルターに通せる)

なので、タイトルには「賢威7」と書いてありますが、賢威6でも動きますし、Stingerのような賢威以外のWordPressテーマでも同じように動くはずです。

1. WP Multibyte Patch のプラグインを有効化

まずはWordPressインストール時に用意されている WP Multibyte Patch のプラグインを有効化します。

https://wordpress.org/plugins/wp-multibyte-patch/

※ 日本語はアルファベットのように1バイトの文字ではないので、この WP Multibyte Patch のようなプラグインを使わないと、どうしても文字数をカウントするような場合に、おかしくなってしまいます。

2. functions.php を編集

次に functions.php を編集していきます。

親テーマ(賢威7本体)の functions.php や、子テーマの functions.php に、以下のコードを追加します。

function custom_excerpt_length( $length ) {
    return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

これで記事一覧の抜粋部分の文字数が、20文字になりました。

post-index-excerpt-length-after-3

2-1. 20文字以外の文字にする場合は

先ほどは抜粋記事の文字数を20文字にしましたが、20文字以外の文字数にする場合には、 return ○○ の○○部分をお好みの数字にすれば、それが抜粋記事の文字数になります。

なので 例えば 35文字にする場合の functions.php に追加するコードは、

function custom_excerpt_length( $length ) {
    return 35;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

となります。
このような要領でコードを変更すれば、お好みの文字数にすることができます。

↓ 抜粋記事の文字数が35文字になった

post-index-excerpt-length-after-4

今回のカスタマイズは以上です。
最後まで閲覧ありがとうございました。