WordPressで特定の投稿タイプの説明文を変更する方法

WordPressで新しく投稿タイプを追加することもあると思います。投稿タイプの追加は「register_post_type」を使えばできます。

投稿タイプの説明文を指定したい

ところで、投稿タイプの説明文を指定する場合は「register_post_type」で使えるパラメーター「description」で指定することができます。

投稿タイプの説明文を変更する場合ってどうする

ここからが本題ですが、Webサイトを運用していく中で「投稿タイプに指定した説明文は、将来的には変更したいこともあるな」と思いました。

そんな時は「registered_post_type」のフックを使えばできることを知りました。以下にサンプルとしてコードを書きましたのでご参考ください。

コードは使用中のテーマフォルダ内にある「functions.php」に追記します。

add_action( 'registered_post_type', 'custom_post_description', 10, 3 );
function custom_post_description( $post_type, $args ) {
 if ( $post_type !== 'function_reference' ) return;
 $args->description = 'このページはWordPressの関数リファレンスだよ'; //変更したいテキストを入れる
}

コードがやっていること

「function_reference」という投稿タイプの説明文を変更する処理をしています。比較的少ないコードでできました。

この方法を使えば、例えば管理の都合上投稿タイプの追加をプラグイン化して運用している場合には「プラグインファイルを直接いじらずに説明文を変更」できますね。

おまけ:変更できるのは説明文だけじゃないよ

ほかにも「registered_post_type」を使えば「$args」で得られる投稿タイプの情報を変更することができます。あまり機会がないかもしれませんが、以下のコードは投稿タイプのラベル名を変更したい場合です。

add_action( 'registered_post_type', 'custom_post_description', 10, 3 );
function custom_post_description( $post_type, $args ) {
 if ( $post_type !== 'function_reference' ) return;
 $args->labels->name = '変更したいラベル名を入れる'; //ラベル名を変更する
}

という具合で、投稿タイプの情報を変更することができます。

何かのご参考となりましたらうれしいです。

著者:bouya Imamura