WordPress> wp_list_categories без дочерних категорий в списке - PullRequest
3 голосов
/ 27 сентября 2010

Сценарий ниже создает список категорий на сайте (исключая категории, не вошедшие в категорию).

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

Я думал, что аргумент "глубина" = 1 поможет, но не так. В нем перечислены ВСЕ категории. Когда я удаляю «иерархический» аргумент, он исключает дочерние категории, но затем также включает категорию «без категории», которую я явно исключаю через аргумент exclude_tree = 1.

В убыток. WordPress 3.0.1 протестирован.

    $cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h);
    $cat_args['title_li'] = '';
    $cat_args['exclude_tree'] = 1;
    $cat_args['depth'] = 1;
    wp_list_categories(apply_filters('widget_categories_args', $cat_args));

Ответы [ 2 ]

0 голосов
/ 27 сентября 2010

После некоторых проб и ошибок это действительно сработало для меня ...

    $cat_args = array('orderby' => 'count');
    $cat_args['title_li'] = '';
    $cat_args['exclude_tree'] = 1;
    $cat_args['exclude'] = 1;
    $cat_args['depth'] = 1;
    wp_list_categories(apply_filters('widget_categories_args', $cat_args));
0 голосов
/ 27 сентября 2010

добавить это $cat_args['child_of'] = 0; с комбинацией $cat_args['depth'] = 1;

Будет сгенерирована только корневая категория

$cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h);
$cat_args['title_li'] = '';
$cat_args['exclude_tree'] = 1;
$cat_args['depth'] = 1;
$cat_args['child_of'] = 0;
wp_list_categories(apply_filters('widget_categories_args', $cat_args));
...