wordpress

投稿日:2024年4月2日 更新日:

wordpress 条件分岐【特定の親カテゴリに属する場合】

特定の親カテゴリに属する子カテゴリがたくさんある場合(たくさんなくてもいいけど)、条件分岐で子カテゴリを指定すると数多くの指定が必要になるので非常に手間がかかる。
その上、子カテゴリが増えた場合にまたその指定も書き換えが必要なので、親カテゴリを指定する方法が便利です。

これ、本当に使いやすいです!

functions.phpに記述

if ( ! function_exists( 'post_is_in_descendant_category' ) ) {
    function post_is_in_descendant_category( $cats, $_post = null ) {
        foreach ( (array) $cats as $cat ) {
            $descendants = get_term_children( (int) $cat, 'category' );
            if ( $descendants && in_category( $descendants, $_post ) )
                return true;
        }
        return false;
    }
}

条件分岐したい場所に記述

<?php if ( in_category(親カテゴリID) || post_is_in_descendant_category(親カテゴリID) ): ?>
    // 「親カテゴリ」もしくは「親カテゴリ」に属する子カテゴリーのものであった場合の出力内容
<?php else: ?>
    //  それ以外の出力内容
<?php endif; ?>

以下の記事を参照させていただきました
ありがとうございます!
WordPressで特定の親カテゴリとその子カテゴリに所属する場合の条件分岐の方法

- wordpress

関連記事

wordpressのテンプレート階層

wordpress使用している時、時々どのファイルを参照しているのか分からなくなるので記録。 目次1 トップページ1.1 トップが固定ページ1.2 トップが固定ページで投稿ページを設定1.3 トップが ...

wordpressの記事が一部表示されない不具合

いつのタイミングか不明だけどサイトを見ると記事の一部が表示されない不具合があった。 他のサイトは問題なくて、特定のサイトだけ。 しかも表示される記事もあればされない記事もある。 ただ、カテゴリに属して ...

WP Custom Fields Searchのsearchボタンを日本語に

仕事でサイトを作っていて 複数検索するのにWP Custom Fields Search というプラグインを使っているのだけど デフォルトだと検索ボタンのvalueが「search」となっているので変 ...

特定のカテゴリ一覧だけ見た目を変えたい時に

特定のカテゴリ一覧だけ見た目を変えたい時に。 こんな簡単な方法でできます。 知ってたら色々使えそう。 【WordPress】任意のテンプレートパーツを読み込む関数[get_template_part( ...

カスタムタクソノミーのカテゴリーやタグを出力

カスタム投稿のカテゴリーはよく出力するけど、毎回調べている気がするので記録。 カスタム投稿名:news カスタムタクソノミー(カテゴリー):news-cat カスタムタクソノミー(タグ):news-t ...