WordPressで記事を運用していると、投稿一覧画面から各記事の文字数をチェックしたくなる場面があります。
例えば、タイトルの長さや本文の文字数をカウントして、SEO対策や記事の品質管理に役立てたい場合などです。
この記事では、テーマのfunctions.phpにコードを追加するだけで、管理画面の投稿一覧に「タイトル文字数」と「本文文字数」のカラムを表示させる方法を解説します。
この記事のポイント
- 管理画面の投稿一覧に任意のカラムを追加するためのフィルターとアクションの仕組みを解説
- 「タイトル文字数」と「本文文字数」のカラムを追加し、各投稿の文字数を表示する方法を紹介
- 日本語などマルチバイト文字も正確にカウントするための関数を利用
Contents
WordPressの文字数カウント表示の仕組みとコード
カラムを追加する仕組み
WordPressでは、「manage_posts_columns 」フィルタを使って投稿一覧のカラムをカスタマイズできます。
今回のコードでは、投稿一覧の「タイトル」カラムの後に新しく「タイトル文字数」と「本文文字数」の2つのカラムを追加します。
また、各カラムには 「manage_posts_custom_column」 アクションで、実際の数値を出力する処理を記述します。
コード例
以下のコードを、使用中のテーマ(または子テーマ)の functions.php に追加してください。
// カラムを追加する
function add_custom_columns( $columns ) {
$new_columns = array();
foreach ( $columns as $key => $value ) {
$new_columns[ $key ] = $value;
// 「タイトル」カラムの直後に追加
if ( $key == 'title' ) {
$new_columns['title_char_count'] = 'タイトル文字数';
$new_columns['content_char_count'] = '本文文字数';
}
}
return $new_columns;
}
add_filter( 'manage_posts_columns', 'add_custom_columns' );
// カラムの内容を表示する
function display_custom_columns( $column, $post_id ) {
if ( $column == 'title_char_count' ) {
$title = get_the_title( $post_id );
// マルチバイト文字対応の文字数カウント
echo mb_strlen( $title );
}
if ( $column == 'content_char_count' ) {
$content = get_post_field( 'post_content', $post_id );
// HTMLタグを除去して文字数をカウント
echo mb_strlen( wp_strip_all_tags( $content ) );
}
}
add_action( 'manage_posts_custom_column', 'display_custom_columns', 10, 2 );
コードのポイント解説
1. カラムの追加
- manage_posts_columns フィルタを利用して、既存のカラム配列に新しいカラムを挿入しています。
- 「title」カラムの直後に、
'title_char_count'
と'content_char_count'
の2つのキーを追加し、それぞれ「タイトル文字数」「本文文字数」として表示されます。
2. カラムの内容を出力
- manage_posts_custom_column アクションを利用して、各投稿のタイトルと本文から文字数を取得しています。
mb_strlen
を用いることで、日本語などのマルチバイト文字も正しくカウントできます。- 本文は
wp_strip_all_tags
を使ってHTMLタグを除去してから文字数をカウントするため、実際のテキスト量が確認できます。
WordPressの文字数カウント表示利用の注意点とまとめ
利用する際の注意点
- パフォーマンスについて
投稿数が多い場合、全記事の本文からHTMLタグを除去して文字数をカウントする処理は多少負荷となる可能性があります。
その場合は、必要なときだけ表示するか、表示件数を調整することを検討してください。 - カスタマイズの自由度
上記のコードは基本的な例です。表示位置や文字数のフォーマットなど、さらにカスタマイズが可能です。
例えば、数字にカンマ区切りのフォーマットを適用したり、特定の投稿タイプにのみ適用することもできます。
まとめ
この記事では、WordPress管理画面の投稿一覧にタイトルと本文の文字数を表示するためのカスタマイズ方法を紹介しました。
シンプルなコードを functions.php に追加するだけで、記事の内容を数値として確認できるようになり、SEO対策や記事の品質管理に役立てることができます。
ぜひお試しいただき、ブログ運営の効率化にお役立てください。