しょっちゅう使う処理だけど、テンプレートタグもなさそうなので関数化。
ソース(functions.php)
/* ---------- 投稿タイプトップの判定 ---------- */
if( !function_exists( 'is_post_type_top' ) ) {
function is_post_type_top(){
if( is_home() ){
return true;
}elseif( is_archive() ){
if( is_category() || is_tag() || is_tax() || is_date() || is_month() || is_year() || is_author() ){
return false;
}else{
return true;
}
}else{
return false;
}
}
}
is_archive()でtrueになるケースのうち、
ターム、年月日、著者「では無い」場合に「true」になる。
出力例
<?php
/* ---------- 投稿タイプの説明文 ---------- */
if( is_post_type_top() && get_post_type_object( get_post_type() )->description ){
echo '<div class="posttype-lead site-content site-width"><div class="inner">';
echo '<p>' . get_post_type_object( get_post_type() )->description . '<p>';
echo '</div></div>';
}
?>
投稿タイプのトップアーカイブにだけ「投稿タイプの詳細(description)」を出力する例。