HOME > WordPress > カスタム投稿タイプ名(スラッグ)やラベルを表示したり条件分岐に使ったりする方法

カスタム投稿タイプ名(スラッグ)やラベルを表示したり条件分岐に使ったりする方法

カスタム投稿タイプの表示に関するまとめ

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

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

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

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

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

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

カスタム投稿タイプの条件分岐まとめ

<?php if (get_post_type() === '投稿タイプ名'): ?>
  //処理
<?php endif; ?>

header.phpやfunctions.php

is_archive()より先(上)に記述する。

<?php
// 一つのカスタム投稿タイプだけの場合
if( is_post_type_archive( 'スラッグ' ) ) {
  // 表示したい内容
}

// 複数のカスタム投稿タイプをまとめて指定したい場合
if( is_post_type_archive( array( 'スラッグ1', 'スラッグ2', 'スラッグ3') ) ) {
  // 表示したい内容
}
?>

is_single()より先(上)に記述する。

<?php
// 一つのカスタム投稿タイプだけの場合
if( is_singular( 'スラッグ' ) ) {
  // 表示したい内容
}
// 複数のカスタム投稿タイプをまとめて指定したい場合
if( is_singular( array( 'スラッグ1', 'スラッグ2', 'スラッグ3' ) ) ) {
  // 表示したい内容
   */
}
?>

アーカイブページ(archive.phpなど)の場合

//特定の投稿タイプに属するか
<?php if (is_post_type_archive('投稿タイプ名')): ?>
  //処理
<?php endif; ?>

//特定のカスタム投稿タイプのカテゴリーに属するか
<?php if (is_tax('タクソノミー名')): ?>
  //処理
<?php endif; ?>

投稿ページ(single.phpなど)の場合

特定のタクソノミーに属する特定の記事

<?php if(is_tax('タクソノミー名', 'ターム名')): ?>
  //処理
<?php endif; ?>
参考サイト