当贴子父类别为特定类别时,如何向特定导航栏项目添加类别

时间:2020-06-30 作者:MMPL1

我有与网页命名为类别相同的网站。例如,我调用了pageCities 还有一个类别叫做Cities. 当用户阅读特定类别的帖子时,我想将类添加到导航栏项中。所以当我阅读分类中的帖子时Cities 我想突出显示导航栏中指向页面的链接Cities. 我做了简单的函数

add_filter(\'nav_menu_css_class\' , \'my_nav_special_class\' , 10 , 2);
  function my_nav_special_class($classes, $item){

    global $post;

    $category   = get_the_category();

    $slug = $category[0]->slug;
    $slug = str_replace(\'-\', \'\', strtolower($slug));

    $menu_item = sanitize_title( $item->title );
    $menu_item = str_replace(\'-\', \'\', strtolower($menu_item));

    if( is_single() && $slug === $menu_item) {
      $classes[] = \'current_page_item\';
    }

   return $classes;
}
当帖子类别与导航栏项匹配时,我添加了css类。问题是,例如,当职位类别为Tiger 在导航栏中,我调用了pageAnimals. 在这种情况下,我也想突出显示导航栏项。我的问题是-我该怎么做?当我想将css类添加到特定的菜单项时,当post具有特定的cat或cat父项时,情况应该是什么样的?

1 个回复
最合适的回答,由SO网友:mozboz 整理而成

似乎应该使用类别层次结构,因为听起来“老虎”属于“动物”组。

您可以使用$category->parent 所以,若页面类别是Tiger,父类别是Animals,那个么这就行了。

让我知道这是否对你有用,如果你需要更多信息

相关推荐

如何在GET_POSTS()函数中通过某个页面的插件及其所有子页面获取页面ID数组?

我的主题中有一个自定义函数,可以创建动态sitemap.xml 文件我用的是$myVar = get_posts( array(...) ). 在该数组中,我需要排除一些页面。我想排除某些父页面及其所有子页面。我只想使用父页面slug来获取父页面和子页面的所有ID的数组。问题是:\'exclude\' => 在array() 仅接受ID数组。不是鼻涕虫。如何通过某种函数(或其他方式)通过父页面slug返回ID数组(包括父ID及其所有子项)来实现它?例如,假设父页面slug是abc.谢谢你了。