上の画像のような形で、カスタムタクソノミーをプルダウンで制作しています。
タームを選択すると画像の「カテゴリー一覧」の部分がターム名になり、該当のタームの記事一覧にリンクするようにしています。
参考にしたサイト https://recooord.org/category-pulldown-menu/
リンクの移動等の動作に問題はないのですが、
親カテゴリー
ー 子カテゴリー1
ー 子カテゴリー2
ー 子カテゴリー3
上記のように親子関係があるタームの場合、子タームを選択すると、リンク後に「カテゴリー一覧」の部分に親タームの名前が表示されてしまいます。(表示される記事は子タームで絞り込めています)
こちらの表示を、子を選んだ場合は子優先で表示させたいです。
記事投稿の際は親と子どちらもカテゴリ選択しています。
ご教授いただけますと幸いです。
該当のソースコード
<div class="work_pull_in"> <!-- 1. onChangeでvalue属性に指定したURLに遷移する --> <select name="select" onChange="location.href=value;"> <option>選択してください</option> <option value="<?php echo home_url(); ?>/home/">すべて</option> <?php $terms = get_terms('タクソノミー', Array('hide_empty' => false)); // 2. foreach文でタクソノミーのタームをすべて表示する foreach($terms as $term) { $terms = get_the_terms($post->ID,'タクソノミー'); $slug = $terms[0]->slug; // 3. if文でタクソノミーページの場合 & 現在表示されているページと同じカテゴリーの場合「selected」属性を付与する if(is_tax() && $slug == $term->slug){ echo '<option value="'.get_term_link($term->slug,'タクソノミー').'" selected>'.$term->name.'</option>'; }else{ echo '<option value="'.get_term_link($term->slug,'タクソノミー').'">'.$term->name.'</option>'; } } ?> </select> </div>あなたの回答
tips
プレビュー