こんにちは。
wordpressを使用してホテルのウェブサイトを制作しています。
***実現したいこと***
ホテルの検索ページでドロップダウンを使用して目的地と旅行テーマでフィルターをかけられるページを作成しています。
カテゴリー”ホテル”の投稿記事に、カテゴリー”旅行テーマ”が登録されているか確認して、その登録されている旅行テーマ又は目的地のみを表示したいです。
例としてカテゴリーは以下です。
カテゴリー ホテル(id=18)
カテゴリー 目的地(id=15) => 子カテゴリー ”日本=>東京”、”イギリス=>ロンドン”、”フランス=>パリ”
カテゴリー 旅行テーマ(id=2) => 子カテゴリー ”ショッピング”、”食べ歩き”、”ロマンティック”
記事Aは、ホテル、旅行テーマの食べ歩き、目的地は日本=>東京
記事Bは、ホテル、旅行テーマのロマンティック、目的地はフランス=>パリ
この場合、旅行テーマのドロップダウンの選択肢には、食べ歩きとロマンティックのみを表示させ、目的地の選択肢には日本とフランスのみを表示させたいのですが、どうやってcategory.php上でそれぞれのカテゴリーを取得したらいいのか全く分からず手が動かない状態です。目的地と旅行テーマの子カテゴリーには、たくさん他にも登録されています。
***現状**
下記のコードだと全てのカテゴリーが表示され、フィルターできていない状態です
<!--category-18.php--> <!--目的地のカテゴリー取得--> $destinations = get_categories(array( 'parent' => 15, 'hide_empty' => 1, 'hierarchical' => 0 )); foreach ($destinations as $dest) : ?> <option class="category__filter__dropdown" value="<?php echo $dest->term_id; ?>" data-destination="<?php echo $dest->term_id; ?>"> <?php echo $dest->name;> </option> <?php endforeach; ?> <!--旅行テーマのカテゴリー取得--> $travel_topics = get_categories(array( 'parent' => 2, 'hide_empty' => 1, 'hierarchical' => 0 )); foreach ($travel_topics as $cat) : ?> <option class="category__filter__dropdown" value="<?php echo $cat->term_id; ?>" data-reisethema="<?php echo $cat->term_id; ?>"> <?php echo $cat->name;> </option> <?php endforeach; ?>
もしアドバイスいただけたらとても助かります。よろしくお願いします。
stackoverflowでも同じ質問をしました。

あなたの回答
tips
プレビュー