説明
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

コメント