ワードプレスのget_post_type関数の使用方法・解説

概要

get_post_type 関数は、投稿情報の投稿タイプを取得するために用いられます。この関数は以下のような機能を実装する際によく使われます。

  1. カスタム投稿タイプの確認
  2. 特定の投稿タイプの記事リストを表示
  3. 投稿タイプに応じた異なるテンプレートをロード
  4. 管理画面での投稿タイプのカスタマイズ
  5. 投稿タイプに基づく条件分岐
  6. 投稿内容に基づいたメタデータの取得
  7. ウィジェットやショートコード内での投稿タイプの利用
  8. REST APIエンドポイントのカスタマイズ

構文

get_post_type( $post );

パラメータ

  • $post (オプション): 投稿オブジェクトまたは投稿IDを指定します。指定しない場合は、グローバル $post を使用します。

戻り値

指定された投稿の投稿タイプを示す文字列を返します。該当する投稿が存在しない場合は、false を返します。

関連する関数

使用可能なバージョン

WordPress 2.0.0 以降で使用可能です。

コアファイルのパス

wp-includes/post.php

サンプルコード

サンプルコード1: 投稿タイプの取得と表示

$post_id = 42;
$post_type = get_post_type( $post_id );
echo '投稿タイプ: ' . $post_type;

このコードは、投稿IDが42の投稿の投稿タイプを取得して表示します。

サンプルコード2: 現在の投稿の投稿タイプを確認

if ( is_single() ) {
    $post_type = get_post_type();
    if ( $post_type === 'page' ) {
        echo 'このページは通常のページです。';
    }
}

このコードは、現在の投稿が通常のページであるかどうかを確認します。

サンプルコード3: カスタム投稿タイプの場合にメッセージを表示

if ( is_singular() ) {
    $post_type = get_post_type();
    if ( $post_type === 'recipe' ) {
        echo 'これはレシピの投稿です。';
    }
}

このコードは、現在の投稿がカスタム投稿タイプ「recipe」かどうかを確認してメッセージを表示します。

サンプルコード4: ループ内での投稿タイプの表示

while ( have_posts() ) {
    the_post();
    $post_type = get_post_type();
    echo '<h2>' . get_the_title() . '</h2>';
    echo '<p>投稿タイプ: ' . $post_type . '</p>';
}

このコードは、投稿のループ内で各投稿のタイトルと投稿タイプを表示します。

サンプルコード5: REST APIでの投稿タイプの取得

add_action( 'rest_api_init', function () {
    register_rest_route( 'custom/v1', '/post-type/', array(
        'methods' => 'GET',
        'callback' => function ( $data ) {
            return get_post_type( $data['id'] );
        },
    ));
});

このコードは、REST APIに新しいエンドポイントを追加し、指定された投稿IDの投稿タイプを返します。

この関数のアクションでの使用可能性

アクション 使用可能
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

非推奨または削除されたバージョン

特に非推奨や削除されたバージョンはありません。

この関数について質問する


上の計算式の答えを入力してください