我已经开始编写一个插件,允许管理员选择特定页面并将其设置为可见only to logged-in users; 插件可以选择将限制应用于all child pages 也当站点访问者试图查看这些页面时,他们会被重定向到登录页面。
到目前为止,一切顺利。这一切都可以做到这一点,并且复制了我在现有插件中看到的功能。
然而,我还想做的是automatically remove all of those pages (including child pages, where specified) from the front-end site\'s menus. 除非您登录,否则我根本不想让它们可见。
我见过一些解决方案,人们可以创建两个菜单,并根据登录状态在它们之间切换,但这是我不想做的额外步骤。
我想我可以通过在插件代码中为“wp\\u nav\\u menu\\u items”添加一个过滤器或操作挂钩来实现这一点,但我还没有成功。
有什么想法吗?
ThanksPhil公司
其他详细信息(问题的较小部分):
下面是我的插件中的一些代码,我正试图使用这些代码连接到菜单项中:
add_filter(\'wp_nav_menu_items\',\'ppa_filter_visible_menus\');
function ppa_filter_visible_menus($nav) {
die("filter menus");
}
我的问题是没有调用ppa\\u filter\\u visible\\u菜单。