WordPressには、リッチエディタ内で自サイトURLを記述するだけで、自動的にブログカード形式でのリンク表示としてくれる便利機能があります。
しかし、テーマ変更でこのブログカード表示が異常に長い…!ということになってしまいました。
どうしてこんなことに…!
目次
ブログカードの抜粋文機能がうまく動作していない
Google Chromeのディベロッパーツールで要素を見てみると、ブログカードの箇所が以下のようになっていました。
<div class="wp-embed-excerpt"><p>さて、前回記事「kusanagi-SSH接続-セキュリティ対応サーバー側キャッシュ設定 • … 略 … kusanagiユーザーでSFTP接続できた方は … <a href= … 略 … </a></p></div>
埋め込み記事の抜粋部分、wp-embed-excerptの箇所にて、文字を切り詰めて抜粋する機能が上手く作用していないようです。
WordPress本来の仕様と、前提プラグインWP Muifibyte Patch
WordPressは本来、抜粋文はデフォルトで110文字を抜粋してくれます。
参考:WordPressの抜粋で知っておくべき基本と3つのカスタマイズ
ただし前提として、日本語を正しくカウントさせるために"WP Multibyte Patch" プラグインをインストールしておく必要があります。
各記事に1つずつ、個別に抜粋文を入力していくという手もあるが…!(マニュアル抜粋文)
WordPressが抜粋文として表示するのは、各投稿記事のオプション部分 "抜粋文" の項目です。
抜粋文の内容が空白だった場合、上述のデフォルト110文字での抜粋文利用となります。(自動抜粋)
オプションの抜粋文に記述、マニュアル抜粋文とすることで、動作しない自動抜粋機能を上書きしてくれる可能性があります。
またSEOの観点から、マニュアル抜粋文を利用すべき、とする記事も。
Not many people know and use the manual excerpt! It’s a big mistake. Using a manual excerpt helps you to:
- 100% control what displays in the excerpt
- Improving SEO score
How To Change Excerpt Length in WordPress (No Coding Required) GretaThemes
著者意訳:
マニュアル抜粋機能を知っており、利用している人はあまりいません!しかし、それは大きな間違いです。 マニュアル抜粋機能を利用すれば、以下の点で役立ちます。
- 抜粋文で表示される項目を100%コントロールできる
- SEOスコアを改善できる
しかし、各記事に1つずつ抜粋文を記述していくのは非常に面倒。
またSEOスコア改善といっても、個人的には懐疑的です。微々たるSEO改善効果しかないと思います。
( 回遊率の上昇には寄与するところが大きいかも )
functions.phpにフィルターフックを追記して抜粋文の文字数を一括調整
したがって、自動抜粋機能を利用して抜粋文の文字数を変更。こちらで調整していきます。
functions.phpに下記フィルターフックを記述したところ、無事に解消できました!
function custom_excerpt_length( $length ) {
return 10; //表示したい文字数
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
参考: WordPress 記事の抜粋を取得・表示、文字数・文末…のカスタマイズthe_excerpt()
私のテーマの場合(海外製)、日本語のカウントがいまだに上手く作用していないのか、文字数は"10"程度の短い文字数とすることで綺麗に表示されるようになりました。 最終的には、文字数は10→5へと変更。"5"で落ち着きました。
抜粋文の長さを調整できるWordPressプラグイン "Advanced Excerpt"
途中、Advanced Excerpt という、抜粋文の長さ等を設定できるプラグインを発見。
しかし、追加するも効果なし…と思いましたが、これも抜粋文の設定を"40文字"としていたからかと思います。
5〜10文字程度で設定していたら、綺麗に切り詰められて表示されていたでしょう。
function.phpに記述せず、プラグインを利用する場合は、2021年2月現在では上のAdvanced Excerptがおすすめ。
他のプラグインでは現行WordPressバージョン未対応だったり、最終更新が数年前というものが多くありました。
Leave a Reply