フリーランス|WEB 制作経験丸7年、制作会社様からのご依頼に丁寧・高クオリティでお手伝いいたします。 IRODORI DESIGN

B L O G

【WordPress】投稿タイプ名(スラッグ名)を取得する方法

archive.php
single.php
WordPress
投稿タイプ名

WordPressでWebサイトを構築している時、ふと投稿タイプ名(スラッグ名)を取得する方法ってどんなだったかな?と思って手が止まることがよくあります。
投稿タイプ名(スラッグ名)に限らずWordPressでWebサイトを構築しているとよくあります。
この記事ではsingle.phparchive.phpで表示中のページの投稿タイプ名(スラッグ名)を取得する方法をご紹介します。

single.phpで表示中のページの投稿タイプ名(スラッグ名)を取得する

single.phpで表示中のページの投稿タイプ名(スラッグ名)を取得するには、get_post_type()関数を使います。

get_post_type()関数には投稿ID、または投稿オブジェクトを指定します。

投稿IDを指定する場合はこちら。

$post_type = get_post_type( get_the_ID() );
echo $post_type;

投稿オブジェクトを指定する場合はこちら。

$post_type = get_post_type( $post );
echo $post_type;

引数を指定しない場合、現在表示中の記事が対象になります。
つまりsingle.phpで現在表示中のページの投稿タイプ名(スラッグ名)を取得する場合、引数は不要です。

$post_type = get_post_type();
echo $post_type;

特定の投稿記事の投稿タイプ名(スラッグ名)を取得する

特定の投稿記事の投稿タイプ名(スラッグ名)を取得する場合もget_post_type()関数を使うことで取得することが出来ます。

投稿タイプ名(スラッグ名)を取得したい記事の投稿IDをget_post_type()関数の引数に指定します。

$post_type = get_post_type( 2 );
echo $post_type;

archive.phpの投稿タイプ名(スラッグ名)を取得する

archive.phpで投稿タイプ名(スラッグ名)を取得するには、get_query_var()関数を使います。

get_query_var()の使い方はこちら。

$post_type = get_query_var( 'post_type' );
echo $post_type;

まとめ

いかがでしたか?
WordPressで表示中の記事やページの投稿タイプ名(スラッグ名)を取得する方法のご紹介でした。
表示したいページによって使う関数が変わるので注意したいですね。