WordPressの投稿で、タイトル文字数を気にして書く人は多いかと思います。
というのも、「Google検索結果のタイトルに表示される文字数」は限られているので「どのように見えるか?」を推測する上で重要な数値となるからです。
あと、「自分は今日どれくらいの長さを書いたのだろうか?」と「本文文字数」を見る人もいるかと思います。
これらの文字数を頻繁に確認する場合は、以下のように管理画面から一覧で見れると便利です。
ということで以下では「タイトル」と「本文」の文字数を「投稿管理リスト(テーブル)」にカラムとして表示させるカスタマイズ方法を紹介します。
目次
主な手順
文字数を表示する主な手順はこちら。
- functions.phpにコードを貼り付ける
基本的に、1回のコピペのみでカスタマイズできます。
functions.phpにコードを貼り付ける
まずは、子テーマのfunctions.phpに以下のコードを貼り付けます。
//カラムの挿入 add_filter( 'manage_posts_columns', function ($columns) { //文字数表示 $columns['word-count'] = '文字数'; return $columns; } ); //カラムの内容 add_action( 'manage_posts_custom_column', function ($column_name, $post_id) { //文字数表示 if ( 'word-count' == $column_name ) { //テーマで設定されているサムネイルを利用する場合 $post = get_post($post_id); $title_count = mb_strlen(strip_tags($post->post_title)); $content_count = mb_strlen(strip_tags(do_shortcode($post->post_content))); $thum = ' 題:'.$title_count.'<br>'. '本文:'.$content_count; } if ( isset($thum) && $thum ) { echo $thum; } } , 10, 2 ); //カラム幅を整える add_action('admin_print_styles', function () { echo '<style> /*記事一覧の文字数幅*/ .column-word-count{ width:76px; } </style>'.PHP_EOL; });
タイトル、本文ともmb_strlen関数を用いて文字数を取得しています。
ここで注意点。本文はdo_shortcode関数を用いてショートコードを展開しています。ですので、ショートコード実行後の文字数を返す仕様にしています。
なので、「ショートコードは実行させたくない」という場合はdo_shortcode関数を取り除く必要があるかと思います。
スタイルの調整部分
単にカラムを追加しただけでは、投稿一覧画面では以下のように「デフォルトのカラム幅」で表示されます。
上記の「文字数」カラムは、内容の割には幅を取りすぎます。
なので、admin_print_stylesフック部分においてカラム幅を調整しています。
/*記事一覧の文字数幅*/ .column-word-count{ width:76px; }
動作確認
カスタマイズ実装後の「投稿リスト(テーブル)」がこちら。
WordPressは、管理画面の「オプション」機能から「カラムの表示切り替え」も可能です。
「文字数」のチェックを外すと、カラムが非表示になります。
「カスタマイズしたけど常に表示させておきたくない」なんて場合は、オプションから非表示にしておくとよいかと思います。
まとめ
こんな感じで、PHPコードを1回コピペするだけで、管理画面から「タイトル」と「本文」の文字数を手軽に知ることが出来るようになります。
タイトル・本文文字数は、ビジュアルエディター等からみることもできる場合(※)がありますが、一覧画面でまとめて確認できると、いろいろ捗るケースもあるかと思います。