2021-11-04に投稿

WordPress のシングルページで特定のタクソノミーの場合のみ表示を変えたい

表題の通り、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 -->
<?
    }
?>

参考

カスタムタクソノミーの表示

PHP, 連想配列の中の特定のキーの値で判定

Originally published at labor.ewigleere.net
ツイッターでシェア
みんなに共有、忘れないようにメモ

arm-band

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント