RSSフィードに出力されるdescriptionの文字数を増やしたいとの依頼から、WordPressのカスタマイズを行なった。
文字数を減らすのは、こちらのコードをfunctions.phpに追記することでOKだった。
add_filter( 'the_excerpt_rss', 'mytheme_the_excerpt_rss' );
function mytheme_the_excerpt_rss( $out ) {
if ( mb_strlen( $out ) > 100 )
$out = mb_substr( $out, 0, 100 ).'[...]';
return $out;
}
(参考 : RSSフィードの抜粋をさらに抜粋 – WordPress私的マニュアル )
しかし、文字数を増やそうとしても、110文字以上にならず、試行錯誤した。
なぜ110文字以上に増やすことができないのか?何か原因が他にあるのでは、そう考えて探して見つけたのがこちらの記事の「抜粋の文字数・文字列」の項目だ。
原因は、Multibyte Patchプラグインの設定だった。
「WP Multibyte Patch」の デフォルトでは文字数は110字。この設定が(抜粋の文字数)上書きします。
参考 : WordPress – RSS/Atomフィード カスタマイズ
WP Multibyte Patch プラグインのフォルダ内に、設定ファイルのサンプルが同梱されており、この設定ファイルを wp-content 直下に配置すると、プラグインの設定値を変更できる。
▼ 同梱されているサンプル設定ファイル
wp-content
plugins
wp-multibyte-patch
wpmp-config-sample-ja.php
このファイルをダウンロードする。
25行目のパラメータ「 110 」を変更する。
/**
* 投稿抜粋の最大文字数
*
* この設定は the_excerpt() とその関連の抜粋系関数に適用されます。
* この設定は $wpmp_conf['patch_wp_trim_excerpt'] が false の場合は無効となります。
*/
$wpmp_conf['excerpt_mblength'] = 110;
今回は、300に変更した。
$wpmp_conf['excerpt_mblength'] = 300; //変更後の抜粋文字数
wpmp-config-sample-ja.php のファイル名を wpmp-config.php にリネームした上で、wp-content フォルダ直下にアップロードする。
wp-content
wpmp-config.php
これで、WP Multibyte Patch プラグイン の設定値を変更でき、RSSフィードのdescriptionを300文字にカスタマイズ完了となった。