WordPress技巧—从导航菜单移除特定页面

Wordpress 3.0引入了自定义菜单功能(menu),可以自定义导航,非常实用。然而这需要主题本身支持,不幸的是,仍然有许多主题不支持导航菜单功能,其中尤以【用页面做导航】的主题居多。使用这类主题时,导航菜单上一般都有 Home(主页)、About(关于)页面,这也没什么,但是Privacy Policy(隐私政策)、Sitemap(站点地图)这些不管轻重的次要页面赫然屹立在醒目的导航菜单上,着实让人不爽。那么如何去除导航菜单上的特定页面呢?下面介绍插件法纯代码法.

  • 插件法(通用)从导航菜单上去除页面

此类插件以Exclude Pages为代表。安装此插件后,在每个页面编辑页面的右侧都有个设置框,可以设置该页面是否显示在导航菜单,如右图所示:

  • 代码法(少数主题不适用)

将以下代码插入到function.php文件中。

// add page ids to the exclude list
function my_banned_pages( $exclude_array ) {
return array_merge( $exclude_array, array( 4, 17 ) );
}
add_filter( 'wp_list_pages_excludes', 'my_banned_pages' );

注:$exclude_array, array( 4, 17 ) 中的数字是页面ID,就是页面编辑界面地址栏最后一个数字。将要从导航菜单去除的页面ID写成“2,5,7”形式,数字之间逗号隔开,最后不加符号

  4Comments

  1. Terry Chen   •  

    我自己是修改了header.php,因为主题大多是用wp_list_pages函数,加个exclude就行了!对了,申请一下友链,我现在先加上你的。

    • Jeriff Cheng   •     Author

      function.php文件和 插件作用一样的,都是给wordpress增加额外的功能。我现在只用四个插件:Dagon Design Sitemap Generator,Google XML Sitemaps,WP Minify,无觅相关文章插件。本来有8个,那四个都让我整合到function.php文件中去了。
      PS:友链已添加。

      • Terry Chen   •  

        我用了三个插件,一个SlimBox(有时间我也整合一下!)一个Google XML Sitemap和Willin大湿的my_visitors,无觅暂时先用代码实现相关日志,等他的无觅网络开放了我再装上,WP Minify或许我会装上。
        谢谢添加友链!

        • Jeriff Cheng   •     Author

          你的网站主题相当简洁,CSS基本没有,JS也很少,不需要WP Minify :wink:我已经将Dagon Design Sitemap Generator整合到主题里去了,现在剩下三个插件

Leave a Reply

Your email address will not be published. Required fields are marked *