get_post_type_object() の使い方|説明・引数・注意点

説明

get_post_type_object() は、投稿タイプの設定情報を取得する関数です。

基本構文

get_post_type_object( string $post_type ): WP_Post_Type|null

引数

  • $post_type:投稿タイプ名

戻り値

WP_Post_Type。存在しなければ null。

使い方(サンプル)

$obj = get_post_type_object( 'news' );
if ( $obj ) {
	var_dump( $obj->label );
}

注意点

  • 登録名のラベルなどを取得するときに使います。

実務での使いどころ

  • 投稿タイプの、表示名(ラベル)や、設定を取得するとき。
  • アーカイブの見出しに、投稿タイプの名前を出すとき。

よくあるミスと対処

  • 存在しない投稿タイプでは null が返る。確認せずにプロパティへアクセスする。
  • 表示名を、$obj->name から取っている。name はスラッグ。表示名は、$obj->labels->name や $obj->label。

NG例

$obj = get_post_type_object( 'news' );
echo $obj->name; // スラッグであり、表示名ではない

OK例

$obj = get_post_type_object( 'news' );
if ( $obj ) {
	echo esc_html( $obj->labels->name );
}

使い分け早見表

やりたいこと 使うもの
1つの投稿タイプの情報 get_post_type_object()
投稿タイプの一覧 get_post_types()
投稿タイプがあるか確認 post_type_exists()

関連項目

get_post_types()、register_post_type()

公式リファレンス:get_post_type_object() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました