> Wordpress > Wordpressで投稿タイプを取得・表示する方法

Wordpressで投稿タイプを取得・表示する方法

Wordpressのテンプレートで投稿タイプの情報を取得するには、get_post_type()関数を利用すると便利です。

投稿を指定して投稿タイプを取得する

$post_type = get_post_type( $post );

上記のようにすると、$post の記事の投稿タイプを取得できます。
$post には、投稿オブジェクトまたは投稿のIDを利用します。
未入力であった場合は現在の投稿が対象となりますので、シングルページなどで現在の投稿の投稿タイプを取得できます。

戻り値は、投稿タイプのスラッグになります。

参考リンク:関数リファレンス/get post type

アーカイブページで投稿タイプを取得する

アーカイブページで投稿タイプを取得するには、get_post_type() ではなく get_query_var() を利用します。

$post_type = get_query_var('post_type');

戻り値は、投稿タイプのスラッグになります。

参考リンク:WordPress:現在の投稿タイプをget_post_type()で取得できない場合の代替案

タクソノミーアーカイブページで投稿タイプを取得する

タクソノミーアーカイブページで投稿タイプを取得するには、get_taxonomy()get_query_var() を利用します。

$taxonomy = get_query_var('taxonomy');
$post_type = get_taxonomy($taxonomy)->object_type[0];

get_query_var() で取得したタクソノミーを get_taxonomy() に渡すとタクソノミーのオブジェクトを取得できます。
戻り値は、投稿タイプのスラッグになります。

参考リンク:WordPress:現在の投稿タイプをget_post_type()で取得できない場合の代替案

投稿タイプのスラッグから投稿タイプの名前・ディスクリプションなどを取得する

投稿タイプのスラッグから投稿タイプの名前・ディスクリプションなどを取得するには、get_post_type_object() を使用します。

$obj = get_post_type_object($post_type);

上記のようにすると、投稿タイプのオブジェクトを取得できます。
$post には、投稿タイプのスラッグを利用します。

戻り値は投稿タイプのオブジェクトです。
便利に使用できそうな値としては、

echo $obj->labels->name;         //投稿タイプ名
echo $obj->labels->singular_name;//投稿タイプ名(単数形)
echo $obj->name;                 //投稿タイプのスラッグ
echo $obj->description;          //投稿タイプのディスクリプション
echo $obj->rewrite['slug'];        //投稿タイプのパーマリンク

などがあります。

参考リンク:関数リファレンス/get post type object

この記事が気に入ったらシェアしてください

関連記事

Wordpressのカスタム投稿タイプで一覧・詳細画面を作らない方法

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

Comment Form

コメント投稿はこちらをクリックしてください
  • コメントを入力してください。
登録フォーム
Name
Mailaddress
URL
Message
Postkey
(スパム対策に、投稿キー を半角で入力してください。)