web関連

【WordPress】「the_excerpt()」で抜粋の文字数変更が効かない件

【WordPress】「the_excerpt()」で抜粋の文字数変更が効かない件

「the_excerpt()」の抜粋の文字数を変える記述をfuncution.phpに書いても「110文字」勝手に抜粋されてしまったので調べてみました。

「WP Multibyte Patch」プラグインが原因

wordpressを日本語環境に対応させるプラグイン「WP Multibyte Patch」が入ってるとうまくいかないみたい。

だから、add_filterの部分に「excerpt_mblength」を設定する必要性がある

function my_excerpt_length($length) {
  return 60;
}
add_filter('excerpt_mblength', 'my_excerpt_length');
文字数を変更するだけであれば以上
文字数を変更して抜粋記事の最後を変更する場合は以下を参考にしてどうぞ

抜粋文字数・末尾変更して出力する方法

function.phpに記述します。

// 記事抜粋文字数制限
function my_excerpt_length($length) {
  return 60;
}
add_filter('excerpt_mblength', 'my_excerpt_length');

// 抜粋末尾の省略文字変更
function my_excerpt_more($more) {
  return '…';
}
add_filter('excerpt_more', 'my_excerpt_more');
記事抜粋の文字数を60文字に変更して、末尾(デフォだと「[…]」)の文字を「…」に変更しています。

テンプレートphpに記述します。

// 抜粋記事の出力方法
<?php echo get_the_excerpt(); ?>
「the_excerpt();」は出力時pタグが一緒に出力されるので「get_the_excerpt()」で出力しています。

参考

▼記事の抜粋が110文字になる理由、ご存じですか?
https://www.nishi2002.com/19750.html

検索結果の上位に来ている記事を参考にしたらうまく行かなかった。 おかげで調べるきっかけになったけど…