上図の様に親と子が分かりやすい表示をやりたいのですが、色々調べるも頭がこんがらがってしまいました。
<form method="get" id="testSearch" action="<?php echo home_url('/'); ?>"> <input type="hidden" name="post_type" value="osakahu"> <ul style="list-style: none; padding-left: 0;"> <li><select name="osaka"> <option value="" >選択</option> <?php $terms = get_terms('osaka'); 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" value="検索" /> </form>
ここまでは、調べてやりました。
function add_post_taxonomy_restrict_filter() { global $post_type; if ( 'osakahu' == $post_type ) { echo '<select name="osaka">'; echo '<option value="">カテゴリー指定なし</option>'; $terms = get_terms('osaka', 'hide_empty=0'); foreach ($terms as $term) : if ($term->parent == 0): echo '<option value="' . $term->slug . '">' . $term->name . '</option>'; $parentID = $term->term_id; $children = get_term_children( $parentID , 'osaka' ); if(!empty($children)): foreach($children as $childID): $child=get_term_by('id', $childID, 'osaka'); echo '<option value="' . $child->slug . '"> ' . $child->name . '</option>'; endforeach; endif; endif; endforeach; echo '</select>'; } } add_action( 'restrict_manage_posts', 'add_post_taxonomy_restrict_filter' );
これを参考に書いてみましたら、こうなりました。
<form method="get" id="testSearch" action="<?php echo home_url('/'); ?>"> <input type="hidden" name="post_type" value="osakahu"> <ul style="list-style: none; padding-left: 0;"> <li><select name="osaka"> <option value="" >選択</option> <?php $terms = get_terms('osaka'); foreach ($terms as $term): ?> <option value="<?php echo esc_attr($term->slug); ?>"> <?php echo esc_html($term->name); ?></option> <?php $parentID = $term->term_id; ?> <?php endforeach; ?> <?php $children = get_term_children( $parent , 'osaka' ); foreach($children as $child):?> <option value="<?php echo esc_attr($child->slug);?>"><?php echo esc_html($child->name);?></option> <?php endforeach; ?>←ここでエラー </select> </li> </ul> <input type="submit" value="検索" /> </form>
で、syntax error, unexpected 'endforeach' (T_ENDFOREACH), expecting end of fileのエラーがでました。
どのようなワードで調べたらいいかも、分からなくなってしました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/26 08:17
2018/01/26 09:07 編集
退会済みユーザー
2018/01/26 08:50
2018/01/26 08:55
退会済みユーザー
2018/01/26 08:58 編集
2018/01/26 09:04 編集
退会済みユーザー
2018/01/26 09:11
2018/01/26 09:16
退会済みユーザー
2018/01/26 09:24
2018/01/26 10:12 編集