组织导航菜单

时间:2013-02-15 作者:skywind

我对菜单组织有问题。我有一个url为“pressroom”的页面,还有一个同名的类别。我想把它做成一个菜单项。

Pressroom (sitename.com/pressroom/)

  • page 1 (sitename.com/pressroom/page1/)
  • page 2 (sitename.com/pressroom/page2/)
  • category with posts (sitename.com/category/pressroom/news/)
当我在类别中时-nav\\u菜单父项具有正确的css选择器current-menu-ancestor current-menu-parent, 但当我去贴这个类别的帖子时(url改为sitename.com/pressroom/news/postid/) - 父菜单项的css选择器消失。

如何更正此问题?

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

检查导航菜单目标URL中的“/pressroom/”,然后检查它是否是帖子。如果合适,请将自定义类添加到该菜单项。

<?php
function my_add_posts_page_ancestor_class( $classes, $item ) {
    if( false !== strpos($item->url, \'/pressroom/\')
    && is_single($item->ID)
    && !is_page($item->ID) ) {
        $classes[] = \'my-ancestor-class\';
    }
    return $classes;
}
add_filter(\'nav_menu_css_class\', \'my_add_posts_page_ancestor_class\', 10, 2);
该代码未经测试,可以改进。这是一个值得思考的方向。

Update

看看我发现了什么:Add a class to wp_nav_menu() items with URLs included in the current URL

结束

相关推荐

Expiring Unique URLs

所以前几天我想为客户的网站开发一个新功能。每次新访问者单击Wordpress中的特定按钮时的唯一下载URL整个过程是如何进行的:比如说,我的网站左侧小部件区域有一个按钮,上面写着“立即下载电子书”。-我需要将每个访问者重定向到一个唯一的URL(该URL将在x个时间后过期)-在单独的页面上,下载链接将正常提供您是否知道是否有插件或脚本可以处理这样的任务或其他解决方案来实现这一点?谢谢