ご注意下さい
この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。
↓
BlogシステムにWordpressを利用している方もいると思いますが、いろいろと自身でカスタマイズをしたくなってくるものです。
その一つに記事の抜粋の文字数を変更したい、ということでぐぐると大体、new_excerpt_length()を定義し、add_filterでexcerpt_length()を置きかえる替えるべし。とあると思います。
つまり
function new_excerpt_length($length) { return 220; // デフォルトの110から220に広げたい } add_filter('excerpt_length', 'new_excerpt_length');
上記のように変更するのが一般的な方法です。
ところが文字数が変わらないことがあると思います。
調べてみると「WP Multibyte Patchプラグイン」を使っている場合は(皆さん結構使っていると思います)、そちらで指定したデフォルトの110が有効化されているようです。
そのためadd_filter関数ではexcerpt_length()ではなくexcerpt_mblength()を置き換えてください。
function new_excerpt_length($length) { return 220; // デフォルトの110から220に広げたい } add_filter('excerpt_mblength', 'new_excerpt_length');
私はテーマとしてAdmiredを利用していますので
$wordpress/wp-content/themes/admired/functions.phpを以下のように修正しています。
// Sets the post excerpt length to 40 words. function admired_excerpt_length( $length ) { //return 40; return 240; add_filter( 'excerpt_mblength', 'admired_excerpt_length' ); }