首页 > 解决方案 > 在 WordPress 中添加用于登录和注销的双向菜单

问题描述

我正在寻找使用钩子在 wordpress 主题中添加两个菜单。当成员登录我的系统时,应显示一个菜单,而当成员从系统注销时,将显示第二个菜单。

我正在使用下面的代码,但它只显示已注销的用户。

function custom_new_menu() {
  register_nav_menus(array('custom-menu' => __( 'Custom Menu' ),'extra-menu' => __( 'Extra Menu')));
}
add_action( 'init', 'custom_new_menu' );

标签: phpwordpress

解决方案


您可以利用该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。这些语法略有不同,因为我们不再需要内部数组。

推荐阅读