自定义侧栏类别列表?

时间:2010-10-22 作者:Prix

我正在尝试在我的侧栏上显示自定义类别,为此,我需要某种方法来同时获得这两个类别,类别列表和子列表在两个不同的数组中或类似的东西。。。

首先,我尝试了这个函数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>\';
}
为什么我只想要顶级的?因为,我想为顶级类别的子级创建一个显示/隐藏函数。如果您有其他方法来完成此任务或建议,请告诉我。

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

您可以跳过循环中包含父项的类别:

foreach($category_list as $category) {

if( \'0\' != $category->parent )
    continue;
我已经查过了消息来源depth 仅在中考虑wp_list_categories() 您可能需要扩展Walker_Category 类来定制walker,以便对输出进行更改。

实际上,如果您需要非常复杂的类别输出格式,这可能是一个好主意。

结束

相关推荐

WordPress删除wp_List_Categories中最后一项的分隔符

我正在尝试删除最后一个分隔符(通常是<br/> 标记,但我将其从wp\\u list\\u categories的最后一个链接更改为“/”)。基本上我想要这个:类别1//类别2//类别3//看起来像这样:类别1//类别2//类别3以下是我当前使用的代码:<?php $cat_array = array(); $args = array( \'author\' => get_the_author_meta(\'id\'),&#x