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

関連記事

パーマリンクの設定

stinger8のダウンロードサイトにはパーマリンク設定を"postname"にしているとあったのでそのように設定してみた。 で、実際に新規で記事を追加すると 記事のタイトルが反映されURLは以下のよ ...

wordpressで時々使うやつ

wordpressでよく使うけど毎回調べてる気がするタグたち。 忘備録として 目次1 ページネーションを表示する2 外観→メニューを表示3 カテゴリリンク付きリスト表示4 5 6 7 ページネーション ...

wordpressでカテゴリー名を出力

archive.phpでカテゴリ名を表示したい時 カテゴリーページ(archive.php)にカテゴリ名を出力したいときは これが一番シンプルで簡単です。 (ループの外で以下を使用) <?php ...

困った!wordpressのログイン画面にアクセスできなくなった!

ある日、記事を書こうとしたら wordpressのログイン画面にいくとアクセスできなくなっていた! 目次1 エラーメッセージ2 対応策1. .htaccessファイルのIPを変更2.1 パーマリンク設 ...

wordpressトップページに新着記事を表示する

固定ページをトップページに設定して、 そのページに新着記事や商品一覧を表示したいことってサイト作ってるとよくあること。 私は以下のページを参考にして作成しました。 [WP]WordPress で固定ペ ...