我有这个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' ) );
}
?>