php - 在 WordPress 中添加用于登录和注销的双向菜单
问题描述
我正在寻找使用钩子在 wordpress 主题中添加两个菜单。当成员登录我的系统时,应显示一个菜单,而当成员从系统注销时,将显示第二个菜单。
我正在使用下面的代码,但它只显示已注销的用户。
function custom_new_menu() {
register_nav_menus(array('custom-menu' => __( 'Custom Menu' ),'extra-menu' => __( 'Extra Menu')));
}
add_action( 'init', 'custom_new_menu' );
解决方案
您可以利用该is_user_logged_in()
功能检查当前用户是否已登录 Wordpress。
function custom_new_menu() {
if (is_user_logged_in()) {
register_nav_menu(
// Loads the additional nav for logged in users
'extra-menu' => __( 'Extra Menu')
);
} else {
register_nav_menu(
// Loads the default nav for visitors
'custom-menu' => __( 'Custom Menu' ),
);
}
}
add_action( 'init', 'custom_new_menu' );
- 请注意,上面的代码从
register_nav_menus()
which registers multiple menus 切换到register_nav_menu()
which registers a single menu。这些语法略有不同,因为我们不再需要内部数组。
推荐阅读
- odoo - Qweb odoo 10 中的表格大小、thead 和 tbody
- json - 嵌套对象中的 OpenApi 必需属性不起作用
- angular - 刷新浏览器 Angular 应用程序不工作。当我将应用程序部署到 apache tomcat 时出现 404 错误
- javascript - 使用Javascript将图像拖到div上时如何缩放鬼图像?
- rest - 允许使用 3rd 方 API 从我在 Golang 中的 REST 端点下载文件
- regex - 正则表达式 2 数字或特殊字符
- php - PHP 工作但 Laravel 不工作,返回 503 Service Unavailable
- android-studio - 在 AndoidStudio 项目和 IntelliJ 项目之间共享代码的概念方法
- jmeter - Jmeter模拟用户发送多个HTTP请求
- python - python请求验证SSL证书