WordPress カスタム投稿タイプのラベルやスラッグの表示方法

WordPress でカスタム投稿タイプのラベルやスラッグを取得して表示する方法を紹介します。
例えば、アーカイブページでカスタム投稿のラベルを表示したい時に便利な方法です。

  1. カスタム投稿タイプのラベルを表示する方法
  2. カスタム投稿タイプの名前(スラッグ)を表示する方法
  3. カスタム投稿タイプのディスクリプションを表示する方法
  4. カスタム投稿タイプのラベルやスラッグを使った条件分岐の方法
    1. 投稿タイプのラベルを見て投稿タイプを判別する方法
    2. 投稿タイプのスラッグを見て投稿タイプを判別する方法

カスタム投稿タイプのラベルを表示する方法

カスタム投稿タイプのラベルを表示する場合、次のコードをカスタム投稿を表示するテンプレートに追加します。

<?php echo esc_html(get_post_type_object(get_post_type())->label); ?>

カスタム投稿タイプの名前(スラッグ)を表示する方法

カスタム投稿タイプの名前(スラッグ)を表示する場合、次のコードをカスタム投稿を表示するテンプレートに追加します。

<?php echo esc_html(get_post_type_object(get_post_type())->name); ?>

上記の方法では、投稿がひとつもないと情報が取得できないため、投稿がないときでもスラッグを取得したい場合は get_query_var() でスラッグを取得します。

<?php echo $cp_slug = get_query_var('post_type'); ?>

カスタム投稿タイプのディスクリプションを表示する方法

カスタム投稿タイプに指定したディスクリプションを表示するには、次のコードをカスタム投稿を表示するテンプレートに追加します。

<?php echo esc_html(get_post_type_object(get_post_type())->description); ?>

カスタム投稿タイプに紐づくディスクリプションの指定方法は、WordPress カスタム投稿タイプの作成方法をご覧ください。

カスタム投稿タイプのラベルやスラッグを使った条件分岐の方法

カスタム投稿タイプのラベルやスラッグを使った条件分岐の方法を紹介します。

投稿タイプのラベルを見て投稿タイプを判別する方法

投稿タイプのラベルを取得する場合は、get_post_type_objectget_post_type())->label を指定します。
例えば、カスタム投稿タイプのラベルが製品の場合に、投稿タイプを判別する条件分岐を実装する場合は、次のコードをループ内に追加します。

<?php // 現在表示している投稿の投稿タイプを判別
$cp_label = esc_html(get_post_type_object(get_post_type())->label); // 投稿オブジェクトからラベルを取得
if($cp_label=='製品'){ // ラベルが一致する場合 true
echo $cp_label; // 投稿タイプのラベルを表示
}
?>

投稿タイプのスラッグを見て投稿タイプを判別する方法

投稿タイプのスラッグを取得する場合は、get_post_type_objectget_post_type())->name を指定します。
例えば、カスタム投稿タイプのスラッグが product の場合に、投稿タイプを判別する条件分岐を実装する場合は、次のコードをループ内に追加します。

<?php // 現在表示している投稿の投稿タイプを判別
$cp_slug = esc_html(get_post_type_object(get_post_type())->name); // 投稿オブジェクトからスラッグを取得
if($cp_slug=='product'){ // スラッグが一致する場合 true
echo $cp_slug; // 投稿タイプのスラッグを表示
}
?>

まとめ

WordPress でカスタム投稿タイプのラベルやスラッグを取得して表示する方法を紹介しました。
ラベルやスラッグを表示するには投稿が一つ以上公開されている必要があります。ご注意ください。