我可以在登录后在 Wordpress 中更改菜单吗?


Can I change a menu after I logged in, in Wordpress?

我有这个wordpress网站。我做了两个菜单。一个应该在用户未登录时显示,另一个在用户登录时显示。我说的是登录网站本身,而不是仪表板。

如何使菜单的更改,从我未登录的菜单更改为我所在的菜单?

我尝试将以下代码添加到函数.php页面,但它不起作用。

function my_wp_nav_menu_args( $args = '' ) {
if(session_status() != PHP_SESSION_NONE ) {
$args['menu'] = 'logged-in';
} else {
$args['menu'] = 'logged-out';
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );

我不确定下一步该去哪里看,我在谷歌上找不到任何解决方案。希望有人能帮助我!

我还确保在每个.php页面的顶部都有session_start();

您可以制作 2 个不同的菜单并使用简单的 if else :

<?php
   if ( is_user_logged_in() ) {
      wp_nav_menu( array( 'theme_location' => 'registered-menu' ) );
   } else {
      wp_nav_menu( array( 'theme_location' => 'visitor-menu' ) );
   }
?>