管理画面の投稿一覧にメタディスクリプションを表示させる

投稿一覧へメタディスクリプションを表示

WordPressで書いたメタディスクリプションは、通常の使い方では編集画面を開くかブラウザの開発者モードでしか見れないため管理画面の投稿一覧へ表示できるようカスタマイズしてみました。

テーマによっては標準的に備わっていたりしますが、デフォルトテーマなどを使った場合は少し工夫が必用です。

投稿一覧にメタディスクリプションを表示

WordPressの投稿一覧では、個別投稿のタイトルや投稿日、カテゴリーなどが表示され一覧の状態でこれらの確認が可能です。

今回は、子テーマのfunctions.phpを編集してここにメタディスクリプションを追加で表示させることにします。やり方はカスタムフィールドを挿入させるテクニックの応用です。

functions.phpを編集するので事前にファイルのバックアップをすませておきます。

うっかりミスNGなWPのファイルfunctions.phpとは

子テーマのfunctions.phpに追加するコードは次の通り。

functions.php
function add_posts_columns( $columns ) {
  $columns['description'] = 'description';
  return $columns;
}
function custom_posts_column( $column_name, $post_id ) {
  if ( $column_name == 'description' ) {
    $sng_meta_description = mb_strimwidth(get_post_meta( $post_id , 'sng_meta_description' , true ), 0, 60,"...", 'UTF-8');
    echo ( $sng_meta_description ) ? $sng_meta_description : '-';
  }
}
add_filter( 'manage_posts_columns', 'add_posts_columns' );
add_action( 'manage_posts_custom_column', 'custom_posts_column', 10, 2 );

この例でも、データベースで使われているメタディスクリプションのフィールド値が使うテーマやプラグインによって違っているので確認が必用です。

マーカー部分を自分の環境に見合うよう書き換えます。

ここではテーマにSANGOを使っているので、sng_meta_descriptionにしていますが専用プラグインのEasy WP Meta Descriptionの場合は_easy_wp_meta_descriptionを使うなど自分の環境に合わせます。

ちなみにCocoonなんかだと標準機能でメタディスクリプションが表示されるのでカスタムは不要です。

ファイルを編集(アップロード)後に投稿一覧を表示させるとメタディスクリプションが追加されているのが確認できると思います。

表示幅が広がらないよう文字数を調整

メタディスクリプションが表示されると、一覧中の1記事あたりの表示高さが大きくなりチェックのためにスクロールしなければなりません。

とりあえず投稿ページにメタディスクリプションが追加されているか、その有無を確認したいだけなら次のようにコードを書き換えて一定の文字数でテキストを丸めても良いでしょう。

投稿一覧に表示させたメタディスクリプション

参考画像は文字数を60(全角の日本語だと約29文字)に制限して表示させたものです。もう少し多くても良さそうですが半角英字などが混じると表示が安定しないのでこの程度が無難かと思います。

これで、1記事あたりの表示幅を無駄に拡張することなくメタディスクリプションを一覧に表示できるようになりました。

真ん中の2記事目はメタディスクリプションが空のままなのでー(ハイフン)が表示されています。

メディア運営にあたっては、いち早く最新記事を投稿することを重要視していてメタディスクリプションの編集は後回しといった場面も少なくないのではと思います。

このように、投稿ページをあとから見直すとき該当ページにメタディスクリプションを挿入していたかどうかを簡単にチェックできるといった意味でも今回のようなカスタマイズは有効なことでしょう。

また、テーマの変更などで手動でメタディスクリプションを書き直した際のチェックにも一覧表示が可能であれば作業性は良くなることが期待できます。

おすすめ記事

メタディスクリプションをコピペで移行 テーマ変更によるメタディスクリプションの移行は編集画面でコピペ プラグインやテーマで作成したメタディスクリプションは何処に? プラグインやテーマで作成したメタディスクリプション「meta description」は何処にある?