• Решено makissm21

    (@makissm21)


    Когда пользователь находится в категории нужно вывести ее подкатегории, которые относятся к первой категории(родительской), чтобы подкатегории показывались на всех подкатегориях и главной категории(родительской) одинаково, т.е. весь список подкатегорий.

    Как добавить пункт Показать все, т.е. чтобы перекидывало на главную родительскую категорию или вывести главную(родительскую) и переименовать на «Показать все»?

    Пробовал сделать активный пункт(selected) но с ‘value_field’ => ‘slug’ он не работает((

    Надеюсь на вашу помощь, заранее большое спасибо!

    <?php
    $term_slug = get_query_var('term');
    $taxonomy = get_query_var('taxonomy');
    $term = get_term_by( 'slug', $term_slug, $taxonomy );
    wp_dropdown_categories( array(
    'hierarchical'     => 1,
    'name'             => 'specializacyja',
    'child_of'         => $term->term_id,
    'show_option_none' => 'Выберите специализацию',
    'taxonomy'         => 'specializacyja',
    'value_field'      => 'slug'
    ));
    ?>
    <script>
        var dropdown = document.getElementById("specializacyja");
        function onCatChange() {
            if ( dropdown.options[dropdown.selectedIndex].value > '' ) {
                location.href = "<?php echo get_option('home');
                ?>/specializacyja/"+dropdown.options[dropdown.selectedIndex].value;
            }
        }
        dropdown.onchange = onCatChange;
    </script>
Просмотр 1 ответа (всего 1)
  • Рабочий код

    <?php
    $term_slug = get_query_var('term');
    $taxonomy = get_query_var('taxonomy');
    $term = get_term_by( 'slug', $term_slug, $taxonomy );
    $termParent = ($term->parent == 0) ? $term : get_term($term->parent, $taxonomy);
    wp_dropdown_categories( array(
        'hierarchical'     => 1,
        'name'             => 'specializacyja',
        'child_of'         => $termParent->term_id,
        'show_option_all'  => 'Выберите специализацию',
        'taxonomy'         => 'specializacyja',
        'value_field'      => 'slug'
    ));
    ?>
    <script>
        $("#specializacyja option[value='0']").val('<?php echo $termParent->slug; ?>');
        $('#specializacyja option[value="<?php echo $term->slug; ?>"]').prop('selected', true);
        var dropdown = document.getElementById("specializacyja");
        function onCatChange() {
            if ( dropdown.options[dropdown.selectedIndex].value != 0 ) {
                location.href = "<?php echo get_option('home') . "/?" . $taxonomy . "="; ?>" +
                    dropdown.options[dropdown.selectedIndex].value;
            }
        }
        dropdown.onchange = onCatChange;
    </script>
Просмотр 1 ответа (всего 1)
  • Тема «wp_dropdown_categories выпадающий список терминов из кастомной таксономии» закрыта для новых ответов.