php - 在 wordpress 的子菜单中单击时子菜单消失

标签 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;
  }
}

最佳答案

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

  • 父类别 a(当前)所以显示全部
    • 子类别 a(当前)所以显示全部
      • 子子猫
  • 父类别 b
  • 父类c
  • 父类别d

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

  1. 从 URL 中获取类别参数
  2. 实现一个递归函数来遍历所有类别。
  3. 重要的是,我们还需要获取该类别的后代,以便能够判断是否 该菜单应显示其子项或子项的子项是否已被 选中。

如果您愿意,可以遵循更准确的细节。

关于php - 在 wordpress 的子菜单中单击时子菜单消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763497/

相关文章:

android - 同一 Activity 中的多个 android-menudrawer

html - 使用没有 ID 的 CSS 删除元素

wordpress - 重写到Wordpress基础之外的URL

php - 开始使用 MySQL

php - Zend MySQL 检查表是否存在

php - php foreach 循环中的 Ajax 调用

android - 与 onCreateOptionsMenu 方法不同的行为

html - 如何使文本随我滚动?

php - 在类中设置变量

php - composer dump-autoload -o 跳过我所有的类(class)