wordpress不同分类调用当前子分类,子目录(含别名)
在使用wordpress建网站时,往往需要在侧边栏调用当前栏目的子分类子目录,而且在点击子目录时,还会侧边栏显示这些子目录的分类。
在wp程序下,不同分类调用自己的子分类,子目录的方法如下:
- 将以下的函数代码复制,粘贴到自己的网站的中文wordpress主题的functions.php中;(以下代码的作用:获取当前目录的ID)
//获取当前分类ID
function get_category_root_id($cat) {
$this_category = get_category($cat); // 取得当前分类
while($this_category->category_parent) // 若当前分类有上级分类时,循环
{
$this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类(往上爬
}
return $this_category->term_id; // 返回根分类的id号
} - 在网站上需要调用子目录子分类的地方,用以下的代码来调用。(以下代码的作用:通过wp_list_cats标签在参数中添加child_of的值为 get_category_root_id($cat))
<?php wp_list_cats('child_of=' . get_category_root_id($cat) . '&depth=1&hide_empty=0&hierarchical=1&optioncount=1');?>
- 如果想更灵活的调用出当前分类下的子分类,可以使用以下的循环代码(含调用别名):
<?php
$args=array(
'orderby' => 'name',
'child_of'=> get_category_root_id($cat),
'order' => 'ASC'
);
$categories=get_categories($args);
foreach($categories as $category) {
echo '<li><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "" ), $category->name ) . '" ' . '><em>' . $category->name.'</em>'.$category->slug.'</a></li>';
}
?>
相关教程:wordpress调用某一分类下的子分类
使用以下代码调用当前子分类:
if(get_category_children(get_category_root_id(the_category_id(false)))!= "" )
{
echo '<ul>';
echo wp_list_categories("child_of=".get_category_root_id(the_category_id(false)). "&depth=0&hide_empty=0&title_li=&orderby=id&order=asc");
echo '</ul>';
}
?>