WordPress

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); ?>

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

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

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

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

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

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

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

この記事をシェアする

合わせて読みたい関連記事