prix
  • 0
Новичок

Список пользовательских категорий боковой панели?

  • 0

Я пытаюсь создать собственное отображение категорий на боковой панели, и для этого мне нужен какой-то способ получить как список категорий, так и дочерний список в двух разных массивах или что-то подобное…

Сначала я попробовал функцию get_categories, но она не позволяет мне собирать только категории верхнего уровня:

$args=array('orderby' => 'name', 'order' => 'ASC');
$categories=get_categories($args);

Затем я перешел к тому wp_list_categories, что делает то, что я хочу. Однако возврат не дает мне массив данных, который я могу запросить. Это дает мне простой список в формате HTML, готовый к печати:

$categories=wp_list_categories('echo=0&style=none&orderby=name&order=ASC&depth=1&title_li=');
  • Есть ли способ собрать список категорий верхнего уровня таким образом, чтобы я мог персонализировать его по своему желанию?

    Например:

    foreach($category_list as $category) {
        echo ' <li>';
        echo '  <a title="' . sprintf( __( "View all posts in %s" ), $category->cat_name ) . '" href="' . get_category_link($category->cat_ID) . '">' . $category->cat_name . ' (' . $category->cat_ID .') </a>';
        echo '  <a onclick="s_toggleDisplay(document.getElementById('CHILD CATS'), this, '▼', '▲');" href="javascript:void(null);">▼</a>';
        echo ' </li>';
    }
    

Почему мне нужен только верхний уровень? Потому что я хотел сделать функцию отображения/скрытия для детей категории верхнего уровня. Если у вас есть другой способ выполнить это или предложение, дайте мне знать.

Share
  1. Вы можете пропустить категории, у которых есть родитель в вашем цикле:

    foreach($category_list as $category) {
    
    if( '0' != $category->parent )
        continue;
    

    Я просмотрел источник, но, похоже, он depth учитывается только в нем, wp_list_categories() и вам, вероятно, потребуется расширить Walker_Category класс до пользовательского ходока, чтобы внести изменения в вывод.

    На самом деле, это может быть хорошей идеей, если вам нужен действительно сложный формат вывода категорий.

    • 0

Оставить ответ

You must login to add an answer.