如何不使用插件排除WordPress菜单构建器中的指定页面
无需插件实现WordPress菜单创建器隐藏指定页面
WordPress后台菜单编辑页面的「页面」可选列表,官方预留了专用过滤器nav_menu_items_page来控制输出,只需要添加少量代码到主题文件即可实现指定页面隐藏,不需要安装额外插件。
操作步骤
- 首先获取需要隐藏的页面ID:在后台点击编辑对应页面,浏览器地址栏中
post=后面的数字即为该页面的ID,把所有要隐藏的页面ID整理成数组。 - 将以下代码添加到当前使用主题的
functions.php文件中(如果是公开更新的主题,建议优先用子主题的functions.php,避免主题更新覆盖自定义代码):
add_filter( 'nav_menu_items_page', 'custom_exclude_pages_from_menu_selector' ); function custom_exclude_pages_from_menu_selector( $pages ) { // 这里替换成你自己要排除的页面ID $exclude_ids = array( 2, 7, 19 ); $filtered_pages = array(); foreach ( $pages as $page ) { if ( !in_array( $page->ID, $exclude_ids ) ) { $filtered_pages[] = $page; } } return $filtered_pages; }
- 保存文件后刷新后台菜单编辑页面,你指定的页面就不会出现在页面可选列表里了。
补充说明
这个过滤器只会作用于菜单创建器的页面可选列表,不会影响前台页面展示、其他后台页面列表或者站点的其他功能,逻辑轻量无额外性能损耗。
内容的提问来源于stack exchange,提问作者Randy
相关产品推荐
相关产品推荐

