如果您转到www.lindysez.com并点击顶级导航链接,您会注意到位置存在由较暗的背景指示(与悬停状态相同)。这适用于每个链接除了"提示&技术"
如果我看一下,我注意到" current_page_item"课程未被添加到"提示&成员资格的父母
时的菜单项
另外,奇怪的是,当在提示页面上," Blog"的父母
任何人都知道为什么"提示&技术"菜单项目未获得" current_page_item"班级一旦被选中?
感谢你在这个方向上的推动,看起来我似乎可以创建一个可以解决这个问题的解决方法。然而,夫妻俩。
这会处理问题的症状而不是根。我想知道如何让wp添加" current_page_item"本地上课。知道是什么引起了这个吗?我认为这也可能与我所遇到的另一个涉及"提示"没有显示在RSS源中。我发布了另一个关于这个的问题,但没有看到任何答案...... https://stackoverflow.com/questions/15980846/custom-post-type-not-showing-up-in-wordpress-rss-feed
即使作为一种解决方法,我也要尽量避免使用依赖于硬编码菜单项的解决方案 - ##"。我的开发和生产服务器都有不同的ID#。我知道我可以解释这一点,但我希望有一个更好的,可扩展的解决方法。
您提供的代码对我不起作用,而不是我发现它有任何错误,也没有任何错误。似乎它应该工作,但不是没有。我甚至尝试创建一个非常简单的版本,可以为所有项添加一个类,但这也不会执行。这是代码。
function add_class_to_wp_nav_menu($classes, $item)
{
$classes[] = 'classy-class';
return $classes;
}
add_filter('nav_menu_css_class', 'add_class_to_wp_nav_menu', 10, 2);
非常感谢你的帮助!
答案 0 :(得分:0)
“提示”页面是一个帖子存档页面,它显示的是帖子而不是正常页面,这就是博客被突出显示的原因。您可以通过将以下自定义CSS添加到style.css
文件来轻松解决此问题。
.post-type-archive-tips .menu-item-23{
background:url(images/nav-hover.png) repeat-x;
}
答案 1 :(得分:0)
您需要循环播放菜单,默认情况下,当前页面类会添加到博客页面,因为最终会自定义帖子。
//Change current_page_parent for custom post type
function remove_parent_classes($class)
{
// check for current page classes, return false if they exist.
return ($class == 'current_page_item' || $class == 'current_page_parent' || $class == 'current_page_ancestor' || $class == 'current-menu-item') ? FALSE : TRUE;
}
function add_class_to_wp_nav_menu($classes)
{
switch (get_post_type()) {
case 'portfolio':
// we're viewing a custom post type, so remove the 'current_page_xxx and current-menu-item' from all menu items.
$classes = array_filter($classes, "remove_parent_classes");
// add the current page class to a specific menu item (replace ###).
if (in_array('menu-item-14', $classes)) {
$classes[] = 'current_page_parent';
}
break;
case 'tips':
// we're viewing a custom post type, so remove the 'current_page_xxx and current-menu-item' from all menu items.
$classes = array_filter($classes, "remove_parent_classes");
// add the current page class to a specific menu item (replace ###).
if (in_array('menu-item-23', $classes)) {
$classes[] = 'current_page_parent';
}
break;
}
return $classes;
}
add_filter('nav_menu_css_class', 'add_class_to_wp_nav_menu');
该功能只有一种自定义帖子类型,但我相信你可以弄清楚如何添加更多。有任何问题,请随时发表评论! :)