您好我有一个脚本,显示wordpress菜单中的所有类别,但我也想在此菜单中添加子类别。如何检查类别是否具有子类别,然后将其显示在类别的子菜单中。
$items .= '<ul class="sub-menu">';
$categories = get_categories();
foreach ($categories as $category) {
$option = '<li><a href="'.get_category_link( $category->term_id ).'">';
$option .= $category->cat_name;
$option .= '</a></li>';
$items .= $option;
}
$items .= '</ul></li>';
答案 0 :(得分:2)
get_categories()仅获取分配给任何帖子的类别和子类别,除非您将数组(“hide_empty”=&gt; 0)作为参数传递以获取非活动类别/子类别
尝试以下
$items .= '<ul class="sub-menu">';
$categories = get_categories(array("hide_empty"=>0,'parent'=> '0'));
foreach ($categories as $category) {
$childrens = get_categories(array('child_of'=>$category->term_id,"hide_empty"=>0));
$subitems ='';
if(count($childrens)>0){
$subitems .= '<ul class="sub-menu">';
foreach($childrens as $children){
$opt = '<li><a href="'.get_category_link($children->term_id ).'">';
$opt .= $children->cat_name;
$opt .= '</a></li>';
$subitems .= $opt;
}
$subitems.= '</ul></li>';
}
$option = '<li><a href="'.get_category_link( $category->term_id ).'">';
$option .= $category->cat_name;
$option .= '</a>'.$subitems.'</li>';
$items .= $option;
}
$items .= '</ul></li>';
我知道这是一种肮脏的方式。除非你确实需要,否则不要使用“hide_empty”=&gt; 0