WordPress管理画面に投稿文字数を表示する方法【SWELL対応・他テーマもOK】

WordPress管理画面に投稿文字数を表示するカスタマイズ方法の解説アイキャッチ画像
  • URLをコピーしました!

ブログ記事を増やしていくと、「この記事、どれくらい文字数あるかな?」と一覧でサッと確認したくなることってありますよね。

当ブログは最近、WordPressテーマをCocoonからSWELLに変更したのですが、
“SWELL”では、標準では管理画面の投稿一覧に文字数が表示されません。

Cocoonでは表示されていたので、表示がなくなるとちょっと不便に感じてしまいます。

カゲノ

それ以外はSWELLに変更して不満な点はありません。特にページの表示スピードがかなり快適になったのでオススメではあります。

そこで今回は、functions.phpにコードを追加するだけで投稿一覧に文字数を表示する方法を紹介します!

簡単にできるので、ぜひ試してみてください。

目次

SWELLではなぜ文字数が表示されない?

そもそもWordPressでは、投稿本文の文字数はデータベースに保存されていません。

記事編集画面(Gutenbergエディター)ではリアルタイムで文字数をカウントして表示してくれますが、これはJavaScript側で動的に計算しているだけで、保存されていないようなのです。

そのため、管理画面で文字数を表示したいなら、毎回本文から計算する必要があります

【コピペOK】投稿一覧に文字数を表示するコード

以下のコードを、子テーマのfunctions.phpに追加してください。

// 投稿一覧に「文字数」カラムを追加する
function add_post_columns_word_count($columns) {
    $columns['word_count'] = '文字数'; // カラム名を追加
    return $columns;
}
add_filter('manage_posts_columns', 'add_post_columns_word_count');

// 「文字数」カラムに本文から計算した文字数を表示する
function add_post_columns_word_count_content($column_name, $post_id) {
    if ($column_name === 'word_count') {
        $post_content = get_post_field('post_content', $post_id); // 本文取得
        $plain_text = strip_tags($post_content); // HTMLタグ除去
        $word_count = mb_strlen($plain_text); // マルチバイト文字対応でカウント
        echo esc_html($word_count);
    }
}
add_action('manage_posts_custom_column', 'add_post_columns_word_count_content', 10, 2);

これでできること

  • 管理画面の投稿一覧に「文字数」という新しいカラムが追加されます。
  • 記事本文のみを対象に、リアルタイムで文字数をカウントして表示します。
  • このコードはテーマに依存しないため、SWELL以外でも使えます。

このカスタマイズ方法のメリット

コードがシンプルで手軽に導入できる

functions.phpに数行追加するだけで完了するので、初心者でもすぐに設定できます。

  • 必ず子テーマのfunctions.phpを編集してください。
  • 編集前はバックアップを忘れずに取るようにしてください。

すぐに反映され、リアルタイムで文字数を確認できる

保存や待ち時間なしで、管理画面に文字数がすぐ表示されます。

SWELL以外のテーマでも使える汎用性

WordPress標準の仕組みを使っているので、テーマを問わずほぼすべての環境で動作します。

このカスタマイズ方法のデメリット

投稿一覧ページを開くたびにリアルタイム計算が走る

記事一覧を表示する際に毎回文字数を計算するため、記事数が非常に多い場合には管理画面の表示がわずかに遅くなることがあります。

大規模サイト(1000記事超えなど)では別の方法が望ましい

もし記事数が非常に多くなる場合は、文字数をカスタムフィールドに保存する「保存型」への切り替えも検討するとよいです。

保存型では記事保存時に文字数を記録するため、管理画面の表示速度が安定します。
将来的に記事数が増えそうな場合はおすすめです。

今回は、手軽に導入できるリアルタイム計算方式を採用しました。

まとめ

  • SWELLでは標準で文字数表示はないが、カスタマイズで追加できる
  • functions.phpに簡単なコードを追加するだけ
  • 通常規模のブログなら、負荷もほぼ気にしなくてOK

これで、投稿一覧からサッと記事のボリュームを把握できるようになります。

文字数管理が楽になると、ブログ運営がさらに快適になります。
ぜひ一度設置してみてくださいね。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

当ブログの運営者であり全ての記事を書いた陰の者。
なんでも好きなものだけ書きます。
X(旧Twitter)でも更新情報とたまにくだらないことを発信中。
コメント解放しておりませんので、Xの方で感想いただけると嬉しくて更新が早くなる傾向にあります。調子乗りです。

目次