get_post_type()


WordPressのget_post_type()関数は、指定された投稿の投稿タイプを取得するために使用されます。この関数を利用することで、投稿が「投稿」、「ページ」、カスタム投稿タイプなど、どのタイプに属しているかを確認できます。

構文

get_post_type( int|WP_Post $post = null );
  • $post (int|WP_Post, 任意) — 投稿IDまたは投稿オブジェクトを指定します。省略すると現在の投稿が使用されます。

例 1: 現在の投稿タイプを取得する

現在表示されている投稿の投稿タイプを取得します。

<?php $post_type = get_post_type(); ?>

例 2: 投稿タイプを条件分岐で使用する

投稿タイプが「ページ」である場合に特定のメッセージを表示します。

<?php
if ( get_post_type() === 'page' ) {
    echo 'これはページです。';
}
?>

例 3: 投稿タイプをカスタム投稿タイプでチェックする

カスタム投稿タイプ「product」の場合に特定の処理を行います。

<?php
if ( get_post_type() === 'product' ) {
    echo 'これは製品投稿タイプです。';
}
?>

例 4: 複数の投稿タイプを条件分岐で確認する

投稿タイプが「投稿」または「ページ」の場合に処理を実行します。

<?php
$post_type = get_post_type();
if ( in_array( $post_type, ['post', 'page'] ) ) {
    echo '投稿またはページタイプが検出されました。';
}
?>

例 5: 投稿タイプをカスタムフィールドと組み合わせる

特定の投稿タイプの場合に、カスタムフィールドを表示します。

<?php
if ( get_post_type() === 'event' ) {
    echo get_post_meta( get_the_ID(), 'event_date', true );
}
?>

注意事項

  • 指定された投稿が存在しない場合、get_post_type()falseを返します。
  • 現在の投稿ループ外で使用する場合は、global $post;を宣言するか、投稿IDを明示的に指定してください。

関連機能: