Как сделать выпадающий список select с таксономиями WordPress

226
19 декабря 2018, 13:10

Есть таксономия категории

В ней структура

Категория 1 - Подкатегория 1

Категория 1 - Подкатегория 2

Я делаю select таким образом:

<?php 
$categories = get_terms( 
    'company_category', 
    array( 'hide_empty' => false, 'parent' => 0 ) 
); ?>
<select name="catID" id="cat">
<?php
foreach ($categories as $category) {
    $catID = $category->term_id;
    $catName = $category->name;
?>
<option value="<?= $catID; ?>"><?= $catName; ?></option>
<?php } ?>
</select>

Получаю выпадающий список с категориями первого уровня

Но хочу получить второй выпадающий список который зависит от первого

То есть если выбрать в первом выпадающем списке Категория 1

То во втором выпадающем списке можно выбрать Под-категорию которая принадлежит "Категории 1"

Answer 1

В цикле, где перебираются родительские категории нужно добавить получение подкатегорий этой категории

foreach ($categories as $key => $category) {
    $categories[$key] = get_terms( 
        'company_category', 
        ['hide_empty' => false, 'parent' => $category->term_id] 
    );

Только тогда либо дважды придется прогонять foreach (Первый - для вывода селекта с родительскими, второй - для вывода селектов с дочерними категориями). Либо переделать html для вывода не селектом, а списком через <ul>. Тогда, можно будет справится за один foreach

READ ALSO
laravel выборка или как получить массив

laravel выборка или как получить массив

Есть модель Friend на запроc:

186
Wordpress ищет темы не там, где нужно

Wordpress ищет темы не там, где нужно

Вот содержание functionphp

197