wp_excerptの文字数変更をfunctions.phpに追加したらwordpress-popular-postに影響が出た

記事本文の抜粋でwp_excerptを使われているが、「抜粋される文字数を変更させたいときにどうするかの問題」でfunctions.phpにスクリプトを追加する方法を取ったらwordpress-popular-postの表示が崩れてしまって困ったので、とりあえずの対処法。

まずはwp_excerptの文字数変更スクリプトをfunctions.phpに追加

functions.phpに以下を追加。

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

return 90
の数字が抜粋される文字数なのでこれをお好みの数字にする。

同じようなスクリプトでWP Multibyte Patchを有効にしないといけないスクリプトも紹介されているがこれだとWP Multibyte Patchは関係ない。

するとwordpress-popular-postの表示が崩れる

これで抜粋される文字数の変更が出来たわけだが、wordpress-popular-postで記事の抜粋(excerpt)を表示する設定していると、表示が崩れてしまう。

ウィジェットのwordpress-popular-post設定画面

wpp

Display post excerptにチェックを入れて保存すると

wpp_2

こういう感じになってExcerpt lengthで抜粋する文字数の設定が出来る。

この状態だとwordpress-popular-postで表示されるリストの一番目と二番目が崩れる。

functions.phpに追加したスクリプトが影響している。

解決策はKeep text format and linksのチェックを外すだけ。

簡単な事だけど気づくまでちょっと掛かってしまった。

まとめ

抜粋(excerpt)を使っているのがwordpress-popular-postだけだったらウィジェットのwordpress-popular-post設定画面で抜粋文字数を設定すればいいのだけど、他のアーカイブページなどの記事リストで抜粋(excerpt)を使っている場合はそこの抜粋される文字数を設定したい訳で、そういう場面ではfunctions.phpに追加したスクリプトで設定する。

で、そうするとwordpress-popular-postが崩れるので設定をチェックして直す。

以上でした。