管理画面の投稿一覧にアイキャッチ画像項目を追加

以前の記事と同じく管理画面の投稿一覧に項目を追加する手順としては、’manage_posts_columns’と’manage_posts_custom_column’をフィルターします。

カラムを追加

まずは投稿一覧にアイキャッチ画像を表示するための新たな項目を以下で追加します。

function add_thumbnail_column( $columns ) {
  $post_type = isset( $_REQUEST['post_type'] ) ? $_REQUEST['post_type'] : 'post';
  if ( post_type_supports( $post_type, 'thumbnail' ) ) {
    $columns['thumbnail'] = 'アイキャッチ画像';
  }
  return $columns;
}
add_filter( 'manage_posts_columns', 'add_thumbnail_column' );

次に追加した項目にアイキャッチ画像を表示します。一覧に大きな画像を追加すると1行で画面がいっぱいになってしまうので、ここでは50×50で画像を取得しています。

function display_thumbnail_column( $column_name, $post_id ) {
  if ( $column_name == 'thumbnail' ) {
    if ( has_post_thumbnail( $post_id ) ) {
      echo get_the_post_thumbnail( $post_id, array( 50, 50 ) );
    } else {
      _e( 'None' );
    }
  }
}
add_action( 'manage_posts_custom_column', 'display_thumbnail_column', 10, 2 );

以前でも説明しましたが、投稿一覧以外にも表示したい場合は、フィルターする以下の名前の◯◯◯の部分を固定ページ(pages)やカスタム投稿タイプ名に書き換えればできます。

add_filter( 'manage_◯◯◯_columns', 'add_thumbnail_column' );
add_action( 'manage_◯◯◯_custom_column', 'display_thumbnail_column', 10, 2 );