「A,B,C」のカスタム投稿に共通の「abc」のカスタムタクソノミーを使っています。その「abc」の中には「aa,bb,cc」があります。
そこに、各カスタム投稿ごとに絞り込み検索「絞り込みA,絞り込みB,絞り込みC」を作成しました。
さらに、Aにはaaを含む記事を、Bにはbbを含む記事を,Cにはをccを含む記事を書きました。
Aのカスタム投稿限定で絞り込み検索Aをプルダウン形式で表示した時、本来ならaaの選択肢しかでないはずが、bbとccの選択肢が表示されます。
Bのカスタム投稿限定で絞り込み検索Bをプルダウン形式で表示した時、本来ならbbの選択肢しかでないはずが、aaとccの選択肢が表示されます。
Cのカスタム投稿限定で絞り込み検索Cをプルダウン形式で表示した時、本来ならccの選択肢しかでないはずが、aaとbbの選択肢が表示されます。
関数リファレンス/get terms
より、「'hide_empty'=>true」を指定しましたが駄目でした。
なぜ、他のカスタム投稿までの選択肢を表示されるのか見当がつきません。
どうすれば、
Aのカスタム投稿限定で絞り込み検索Aをプルダウン形式で表示した時、aaだけの選択肢を表示。
Bのカスタム投稿限定で絞り込み検索Bをプルダウン形式で表示した時、bbだけの選択肢を表示。
Cのカスタム投稿限定で絞り込み検索Cをプルダウン形式で表示した時、ccだけの選択肢を表示。
と、出来ますか?
Aの検索フォームのコードは以下です。
<form method="get" id="Aform" class="Aform" action="<?php echo home_url('/'); ?>"> <input type="hidden" name="post_type" value="A"> <label class="checklabel" for="s">CHECK:</label> <li> <select name="abc"> <option value="" > 選択</option> <?php $terms = get_terms('abc'); foreach ($terms as $term): ?> <option value="<?php echo esc_attr($term->slug); ?>"> <?php echo esc_html($term->name); ?></option> <?php endforeach; ?> </select> </li> </ul> <input type="submit" id="a1" class="a1" value="この内容で検索" /> </form>
Bの検索フォーム
<form method="get" id="Bform" class="Bform" action="<?php echo home_url('/'); ?>"> <input type="hidden" name="post_type" value="B"> <label class="checklabel" for="s">CHECK:</label> <li> <select name="abc"> <option value="" > 選択</option> <?php $terms = get_terms('abc'); foreach ($terms as $term): ?> <option value="<?php echo esc_attr($term->slug); ?>"> <?php echo esc_html($term->name); ?></option> <?php endforeach; ?> </select> </li> </ul> <input type="submit" id="a1" class="a1" value="この内容で検索" /> </form>
Cの検索フォーム
<form method="get" id="Cform" class="Cform" action="<?php echo home_url('/'); ?>"> <input type="hidden" name="post_type" value="C"> <label class="checklabel" for="s">CHECK:</label> <li> <select name="abc"> <option value="" > 選択</option> <?php $terms = get_terms('abc'); foreach ($terms as $term): ?> <option value="<?php echo esc_attr($term->slug); ?>"> <?php echo esc_html($term->name); ?></option> <?php endforeach; ?> </select> </li> </ul> <input type="submit" id="a1" class="a1" value="この内容で検索" /> </form>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。