Как на Wordpress сделать вывод иерархического древовидного выпадающего вертикального списка рубрик?

Здравствуйте!
Помогите, пожалуйста с проблемой. Нужно в сайдбаре (виджетах) сайта на WP вывести вертикальный список рубрик. Только, что бы он был выпадающий иерархический. У меня сотни рубрик, так что вручную делать не вариант. Количество записей в каждой рубрике совсем не обязательно.
Перебрал кучу плагинов, не подошёл ни один...
Буду рад решению в php, так как можно этот код вставить в виджет PHP-код.
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 1
@atabrakadabra
Обновил
<select name="category" id="category-select">
    <option value="">Выберите из списка</option>
    <?php
    $categories = get_terms(array(
        'taxonomy'   => 'category',
        'hide_empty' => false,
        'orderby'    => 'term_order', 
        'order'      => 'ASC',
    ));

   
    function display_category_options($categories, $parent = 0, $depth = 0) {
        foreach ($categories as $category) {
            if ($category->parent == $parent) {
                $indent = str_repeat('&nbsp;', $depth * 4); 
                echo '<option value="' . esc_url(get_category_link($category->term_id)) . '">' . $indent . esc_html($category->name) . '</option>';
                display_category_options($categories, $category->term_id, $depth + 1); 
            }
        }
    }

    display_category_options($categories);
    ?>
</select>

<script>
document.getElementById('category-select').addEventListener('change', function() {
    const selectedValue = this.value;
    if (selectedValue) {
        window.location.href = selectedValue; 
    }
});
</script>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы