wordpress调用当前分类的子分类
在企业网站制作时,需要在网站的边栏列出企业产品分类,如果公司网站产品项目很多的情况,就需要设置二级分类或者子分类。如下图:
如何在自己建网站时显示当前分类下的子分类或者在文章页显示所属分类的子分类这样的问题,尤其在做wordpress中文主题的时候必须要用到这个技巧的。
方法/步骤
1.首先在网站主题的函数模板function.php里添加以下代码:
//调用子分类、
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号
}
2.然后在页面要显示子分类的地方(一般是在侧边栏)粘贴下面这段代码即可
<?php wp_list_cats('child_of=' . get_category_root_id($cat) . '&depth=1&hide_empty=0&hierarchical=1&optioncount=1');?>
如果想更灵活的调用当前分类下的子分类,可以使用下面的代码:
<?php
$args=array(
'child_of'=> get_category_root_id($cat),
'hide_empty'=>'0',
);
$categories=get_categories($args);
foreach($categories as $category) {
echo '<h3><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a></h3>';
}
?>
相关知识:wordpress调用指定分类下的子分类
如果只是某一个分类调用子分类的话,可以使用:
<ul>
<?php wp_list_cats(‘sort_column=name&optioncount=0&hierarchical=1&hide_empty=0&child_of=117’); ?>
</ul>
把117改为这个分类的ID
报错了啊 Parse error: syntax error, unexpected ‘>’ in E:\www03\wp-content\themes03\sidebar2.php on line 13 这事怎么回事
sidebar2.php 13行有错误 ,重新做一遍。
我又使用了第二次的代码,可以出来了 但是后面还跟着 (0) 这样的东西, 这应该怎么改啊
后面的 (0)是显示你这个分类下的文章数。如果不需要显示,请使用下面的代码:
< ?php wp_list_cats('child_of=' . get_category_root_id($cat) . '&depth=1&hide_empty=0&hierarchical=1&optioncount=0');?>
我二级分类添加以后 所在的侧边栏的样式都没了 这是怎么回事