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

説明

get_post_type() は、投稿の投稿タイプ名を返す関数です。

基本構文

get_post_type( int|WP_Post|null $post = null ): string|false

引数

  • $post:投稿IDまたはオブジェクト(省略するとループ中の投稿)

戻り値

投稿タイプ名。取得できなければ false。

使い方(サンプル)

if ( 'news' === get_post_type() ) {
	// お知らせ用の処理
}

注意点

  • ループ外では false になることがあります。

実務での使いどころ

  • 現在の投稿が、どの投稿タイプかを調べるとき。
  • 投稿タイプごとに、表示を変えるとき。

よくあるミスと対処

  • ループの外や、投稿が決まっていない場所で呼び、false が返る。
  • アーカイブページの投稿タイプの判定に使っている。アーカイブの判定は、is_post_type_archive()。

NG例

if ( 'news' === get_post_type() ) {
	// アーカイブ全体の判定のつもり
}

OK例

if ( is_post_type_archive( 'news' ) || 'news' === get_post_type() ) {
	// お知らせの、アーカイブか、ループ中の投稿
}

使い分け早見表

やりたいこと 使うもの
投稿の、投稿タイプを取得 get_post_type()
投稿タイプの情報を取得 get_post_type_object()
投稿タイプのアーカイブか is_post_type_archive()

関連項目

get_post_types()、is_singular()、get_post_type_object()

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

コメント

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