WordPress の「アイキャッチ画像」を他の文言に変更する方法
こんにちは、KUCKLU(くっくる)です。
もうすっかり春です。春なんですけれど、夜はまだ寒いです。手が空気で少し痛くなるくらいには寒いです。暖かい春は、もう少し先ですかね。そんな桜が少し咲き始めた時期に、WordPress のアイキャッチ画像という文言を他の文言に変更するという地味なネタです。
この記事は、WordPress 4.3 以上を対象とした方法です。
投稿タイプを新しく作成する場合の例
投稿タイプを新しく作成する場合は、特に難しいことはありません。カスタム投稿タイプを作成する時、 register_post_type() という WordPress の関数を使用します。この時、register_post_type() 関数に色々とパラメータをセットするはずです。そのパラメータの 1 つに labels というパラメータがあります。この labels というパラメータに、featured_image、set_featured_image、 remove_featured_image の 3 つをセットしてあげます。
<?php /** * その他のパラメータは色々省略しています。 */ register_post_type( 'books', array( 'labels' => array( 'featured_image' => __( 'Book Cover', '3288-visualive-example' ), 'set_featured_image' => __( 'Set book cover', '3288-visualive-example' ), 'remove_featured_image' => __( 'Remove book cover', '3288-visualive-example' ), ), ) );
これらの labels は、WordPress 4.3 から追加されました。
既存の投稿タイプの場合の例
既に追加されている投稿タイプの「アイキャッチ画像」という文言を書き換える方法はいくつかあります。今回は、いくつかある方法の内の 2 つの方法を書きます。
WordPress 4.3 以上の場合
WordPress 4.3 以上の場合、post_type_labels_{$post_type} というフィルターフックがあるので、これを使用します。{$post_type}の部分は投稿タイプを指定します。例えば、デフォルトの投稿(post)の場合、post_type_labels_post になります。
<?php add_filter( 'post_type_labels_post', function ( $labels ) { $labels->featured_image = __( 'Thumbnail Image', '3288-visualive-example' ); $labels->set_featured_image = __( 'Set thumbnail image', '3288-visualive-example' ); $labels->remove_featured_image = __( 'Remove thumbnail image', '3288-visualive-example' ); return $labels; } );
WordPress 4.4 以上の場合
WordPress 4.4 以上の場合、前述の post_type_labels_{$post_type} に加えて、register_post_type_args というフィルターフックが使用できます。register_post_type_args は、register_post_type() 関数にあるフィルターフックで、register_post_type() 関数の第二引数の値を書き換えることができます。
<?php add_filter( 'register_post_type_args', function ( $args, $post_type ) { switch ( $post_type ) { case 'post': $args['labels']['featured_image'] = __( 'Thumbnail Image', '3288-visualive-example' ); $args['labels']['set_featured_image'] = __( 'Set thumbnail image', '3288-visualive-example' ); $args['labels']['remove_featured_image'] = __( 'Remove thumbnail image', '3288-visualive-example' ); break; } return $args; }, 10, 2 );
register_post_type_args は 2 つの引数を受け取れます。第一引数は register_post_type() 関数の第二引数($args)、第二引数は投稿タイプ($post_type)です。$post_type で条件分岐して、$args の値を書き換えて、$args を return すれば完了です。
最後に
実は、くっくるがこの方法に気づいたのは、つい先程です。WordPress 4.4 がリリースされた時に、色々チェックはしていたので、気づいたというよりは、忘れていたといった方がいいのでしょう(笑)
つい先日、WordPress 4.5 RC がリリースされ、4 月 12 日には WordPress 4.5 が正式リリース予定です。 4.5 でも色々と変わっているので、より便利になりますね。
それでは本日はここまで。
くっくるでした。
[amazonjs asin=”4774187062″ locale=”JP” title=”エンジニアのためのWordPress開発入門 (Engineer’s Library)”]