我有这个wordpress网站。我做了两个菜单。一个应该在用户未登录时显示,一个用于用户登录时显示。我正在谈论自己登录网站,而不是仪表板。
如何将菜单的更改从我未登录的菜单更改为我所在的菜单?
我已尝试将以下代码添加到functions.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' );
我不确定下一步该在哪里,我在谷歌上找不到任何解决方案。希望有人可以帮助我!
我也确定我得到了session_start();在每个.php页面的顶部。
答案 0 :(得分:1)
您可以制作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' ) );
}
?>