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

コメント