カスタム投稿ごとの管理画面のアイキャッチに説明文を追加する方法

61Thumb

クライアントにwordpressサイトを納品する際などに画像サイズが投稿画面に記載されていると便利で親切です。

また、ブログだけでなく、カスタム投稿タイプごとにアイキャッチを設定する場合もあります。
それらが別々のサイズとなってくると、制作者自身も覚えているのは面倒です。

そういった場合に使える【投稿画面のアイキャッチ部分に、画像サイズを追記する方法】です。

カスタムする際の2つのポイントとコード

投稿画面全般に追加する方法は結構ヒットしたのですが、カスタム投稿タイプごとの投稿画面に別々の説明文を追加する方法は中々ヒットせず。

結局そのまま使えるものは見つかりませんでした。
その点で調整するのに手間がかかったので出来たコードをシェアします。

ポイント❶ 『admin_post_thumbnail_html』というフィルターフックでサイズを追記。

『functions.php』に 『admin_post_thumbnail_html』というフィルターフックを記述すると、アイキャッチの下に説明文を追記できます。

add_filter( 'admin_post_thumbnail_html', 'my_admin_post_thumbnail_html');
function my_admin_post_thumbnail_html( $content ) {
    return $content .= '<p>ここに説明文を記述</p>';
}

でも、これだけだと 全ての投稿画面内に同じ文章が出力されます。

ポイント❷ 『get_current_screen()』で投稿画面の投稿タイプを調べて分岐する

『get_current_screen()』で投稿画面の種類を調べて、if文で各投稿タイプで分岐させます。

完成したコード

両方のポイントを掛け合わせて書いたコードです。
↓はこのサイトで実際使用しているカスタム投稿タイプとアイキャッチのサイズです。

//投稿/カスタム投稿ごとの管理画面のアイキャッチに説明文を追加


function my_admin_post_thumbnail_html( $content ) {
$screen = get_current_screen();      //各投稿/カスタム投稿ごとに分岐
if ( $screen->post_type == 'post' ) {     //投稿(BLOG)の管理画面
    
$content .= '<p>サイズ:280×180px</p>';
    
}elseif ( $screen->post_type == 'bookmarks' ) {     
//カスタム投稿タイプ『BOOKMARKS』の管理画面(Post Type Slugを指定)
    
$content .= '<p>サイズ:225×145px</p>';
 
}elseif ( $screen->post_type == 'lp-design-library' ) {
//カスタム投稿タイプ『LIBRARY』の管理画面(Post Type Slugを指定)

$content .= '<p>サイズ:310×186px</p>';

}
return $content;
}
add_filter( 'admin_post_thumbnail_html', 'my_admin_post_thumbnail_html’);

61-01

【pタグ内の文章】と【カスタム投稿タイプの数/スラッグ名】を任意で変更すれば、自由に使えるので良かったらお使いください。