如何在层次结构中显示自定义分类中的术语,并使用自定义html标记?

时间:2017-09-08 作者:jwyson

我已经创建了一个分层的自定义分类法(位置),并希望:a)显示一个符合层次结构的无序列表b)自定义显示输出,以便指定自定义url

下面是我使用的代码,包括我输出的两种不同方式。

<?php 
$args = array(
\'taxonomy\'     => \'locations\',
\'orderby\'      => \'name\',
\'hide_empty\'   => 0,
\'title_li\'     => \'\',
\'hierarchical\' => 1,
\'walker\'       => null,
);
?>    

// The following gives me the hierarchical display

<ul class="menu">
<?php wp_list_categories( $args ); ?>
</ul>

// And this gives me the customized links

<?php 
$categories = get_categories($args);
foreach($categories as $category) { 
echo \'<li><a href="http://website.com/?ls=&location=\' . $category->slug . \'">\' . $category->name.\'</a></li>\';
} 

?>
问题是这两种情况都会发生。

有什么解决方案吗?我猜这可能是一个定制的步行者,但如果没有一点指导,我还不知道该怎么办!!

2 个回复
SO网友:jwyson

使用以下自定义助行器解决了此问题:

class CustomWalker extends Walker_Category {
function start_el(&$output, $item, $depth=0, $args=array()) {  
$output .= "\\n<li><a href=\\"http://website.com/?ls=&location=" . $item->slug . "\\">".esc_attr($item->name);
}  

function end_el(&$output, $item, $depth=0, $args=array()) {  
$output .= "</li>\\n";  
}  
}  

SO网友:rudtek

我可能理解错误,但您不需要wp\\U list\\U类别。(您的编码也缺少一些详细信息)。

这能行吗?:

<?php 
$args = array(
\'taxonomy\'     => \'locations\',
\'orderby\'      => \'name\',
\'hide_empty\'   => 0,
);
?>    

// And this gives me the customized links

<?php 
$categories = get_categories($args);
echo \'<ul class="menu">\';
foreach($categories as $category) { 
    echo \'<li><a href="http://website.com/?ls=&location=\' . $category->slug . \'">\' . $category->name.\'</a></li>\';
} 
echo \'</ul>\';
?>

结束

相关推荐

Retrieve Taxonomy Label

我在这里也发过其他帖子,但都没有成功我想我需要从根本上推动这一点,因为我似乎无法将结果输出转换为相邻的标签。在查看分类术语归档页面时,我希望在输出上方显示顶级分类名称。使用下面的代码,如果我有一个分类法“Kitchen Features”,slug“Kitchen Features”-并且我在这个分类法的术语档案中(即洗碗机),那么这个代码将输出“Kitchen Features”。我需要的是“厨房特色”。我想我可以通过添加->标签->名称来实现这一点,但显然没有正确地应用它。因此,下面我将显