在wordpress中单击子菜单时子菜单消失

时间:2012-03-19 00:10:29

标签: php wordpress menu submenu

这是我在wordpress主题中为菜单和子菜单编写的服装功能,但在我测试之后,当我点击子菜单时子菜单消失了,因为wordpress不会将类别与子类别分开,所以参数为它们是“cat”,这意味着当我点击子菜单时,创建子菜单的函数会检查url中的cat = id是否有子类别,但它不是因为它是子类别,我是wordpress的新手我不知道如何处理这个:

function costume_menu() {
$categories =  get_categories('hide_empty=0&style=none&parent=0'); 
  foreach ($categories as $category) {
    (is_category($category->term_id)) ? $active = 'class="active_menu"' : $active = '';
    $nav = '<li>';
    $nav .= '<a '.$active.'href="'.get_category_link($category->term_id).'">'.strtoupper($category->cat_name).'</a>';
    $nav .= '</li>';

    echo $nav;
  }

}

function costume_submenu($cat) {

$categories =  get_categories("child_of=$cat&hide_empty=0"); 
  foreach ($categories as $category) {
    (is_category($category->term_id)) ? $active = 'class="active_menu"' : $active = '';
    $nav = '<li>';
    $nav .= '<a '.$active.'href="'.get_category_link($category->term_id).'">'.strtoupper($category->cat_name).'</a>';
    $nav .= '</li>';

    echo $nav;
  }
}

1 个答案:

答案 0 :(得分:1)

您希望菜单看起来像什么?

  • 父类别a(当前)所以显示全部
    • 儿童类别a(当前)所以显示全部
      • Sub Sub cat
  • 父类别b
  • 父类别c
  • 父类别d

如果这是最终结果,那么我们需要的是

  1. 从网址
  2. 中抓取类别参数
  3. 实现递归函数以遍历所有类别。
  4. 重要的是,我们还需要获得该类别的后代能够判断是否 该菜单应显示其子女的孩子是否已经过 地选择。
  5. 如果您愿意,可以提供更详细的详细信息。