web関連

【wordpress】タクソノミーのタームが存在するかしないかの条件分岐

【wordpress】タクソノミーのタームが存在するかしないかの条件分岐

カスタム投稿のタクソノミーを用意

お客さんがタームを作るまで記事詳細・一覧ページにターム一覧のサイドバー出したくない

お客さんがターム作ったらサイドバー表示

どうすれば条件分岐できるのか調べた時の備忘録

「get_categories()」を使って条件分岐

<?php if(get_categories('taxonomy=blogs')): ?>
// カスタム投稿blogのタクソノミーblogs内に記事と紐づいてるtermがあれば表示
<?php elseif(get_categories('category=post')): ?>
// 投稿のカテゴリーに紐づく記事があれば表示
<?php endif; ?>

最初は「has_terms()」とか使えば上手くいくかと思っていたけど、
アクセスしている記事(投稿)が指定したタームがあるかどうかを判定するみたいで思っていた挙動と違った
※使い方「has_terms(‘ターム名’,’タクソノミー名’)」って感じで使う

それで調べていたら「get_categories()」だったら記事と紐づいているタームが1つでも存在すればtrue判定になるので使用した

サイト内にブログ用投稿が欲しいという事だったんでカスタム投稿作ったんだけどタクソノミーまで用意しても使うかわからなかったから使わない場合も考慮していい関数ないか調べてた