表題の通り、WordPress のシングルページで特定のタクソノミーの場合のみ表示を変えたいケースのスニペットをメモ。
さっくり終わらせたかったのでとりあえずできたものを貼っておきます。
スニペット
<?php
if(
in_array(
'AN_TAXONOMY_SLUG',
array_column(
get_the_terms(
$post->ID,
'AN_TERMS_KEY'
),
'slug'
)
)
) {
?>
<!-- Some codes -->
<?
}
?>
今回はこれでfix。
サンプルケース
例えば「cms」というカスタムタクソノミーに「wordpress」,「basercms」,「concretecms」といったタクソノミー、およびそのスラッグが存在した場合に「wordpress」のみ if内 の内容を表示させたい場合は次のようなイメージ。
<?php
if(
in_array(
'wordpress',
array_column(
get_the_terms(
$post->ID,
'cms'
),
'slug'
)
)
) {
?>
<!-- Some codes -->
<?
}
?>
参考
カスタムタクソノミーの表示
- カスタム投稿タイプのターム名を[single-XX.php]に表示する方法【WordPress】 | 妙高Web屋
- 関数リファレンス/get the terms – WordPress Codex 日本語版