WordPress新エディタで「タイトルを追加」部分の文字数カウント

「タイトルを追加」部分の文字数カウント

WordPressの新規投稿ページで「タイトルを追加」部分の文字数は全角30文字以下にすると、Googleの検索結果に(必ずではないが)すべての文字が省略されずに表示されるため、アクセス数や検索結果順位の上昇につながる。

しかし、WordPressにはバージョン5.2以降の新エディタにも「タイトルを追加」部分の文字数をカウントする機能はない。

All In One SEO Packというプラグインをインストールすれば文字数がカウントされるが、全角も半角も1文字としてカウントされるので、日本語だと役に立たない。

タイトルの文字数カウントの実装方法

私が調べた限りだと半角を0.5文字、全角を1文字計算でカウントしてくれるプラグインはないのでfunctions.phpにJavaScriptの追加の処理が必要。

functions.phpに以下のコードを貼り付けるだけで新エディター画面の左上に文字数を表示する機能を実装可能だ。

// 管理画面 body終了タグ直前にJavaScript追加
function my_admin_footer_script() {
	echo '<script>(function(){setTimeout(() => {
		function d(a){for(var b=0,c=0;c<a.length;c++)b+=255>=a.charCodeAt(c)?1:2;return b/2}var a=document.querySelector(".edit-post-header__toolbar"),b=document.getElementById("post-title-0");if(!a) return;var e=a.textContent;a.textContent=e+" \u5168\u89d2"+d(b.value)+"\u6587\u5b57";b.addEventListener("input",function(){a.textContent=e+" \u5168\u89d2"+d(b.value)+"\u6587\u5b57"})},2000);})();</script>'.PHP_EOL;
}
add_action('admin_print_footer_scripts', 'my_admin_footer_script');