个性化阅读
专注于IT技术分析

对于WP上已登录和已注销的用户,如何在标题菜单上使用不同的选项?

我正在将OceanWP主题与wordpress一起使用来创建我的网站。

我使用的模板有两个主页菜单栏, 即主菜单栏和顶部菜单栏, 如下所示:http://prntscr.com/po0bi2

我只想在顶部菜单栏上显示”我的帐户”和”供应商仪表板”选项以登录用户, 以及”注销”按钮。当前, 它们向已登录或已注销的用户显示。

我在网上找到了一些代码, 我对其进行了一些微调, 然后将其添加到functions.php文件中, 该文件应该提供创建两个菜单的选项, 一个用于登录用户, 一个用于注销用户。这是代码:

/* Menu location */
function prefix_menu_location() {

    // Register navigation menus
    register_nav_menus( array(
        'logged_in'     => 'Logged In', 'logged_out'    => 'Logged Out', ) );

}
add_action( 'after_setup_theme', 'prefix_menu_location', 10 );

/* Menu for logged in and out users */
function prefix_top_menu_location() {

    $return = 'top_menu';

    if( is_user_logged_in() ) { 
        $return = 'logged_in';
    } else {
        $return = 'logged_out';
    }

    return $return;

}
add_filter( 'ocean_top_menu_location', 'prefix_top_menu_location' );

添加后, 它在我的菜单页面中创建了”已登录”和”已注销”位置。请参阅:http://prntscr.com/po0fok

另外, 它还为我提供了在编辑菜单页面上选择选项的选项:http://prntscr.com/po0geh

我创建了两个菜单, 分别命名为”顶部栏菜单1″和”顶部栏菜单2″, 第二个菜单是我想用于注销用户的菜单。问题是它只会让我将一个菜单分配给顶部栏。请在这里查看:http://prntscr.com/po0j5t

当我为登录的用户将”顶部栏菜单1″设置为”顶部栏”时, 然后尝试为注销的用户编辑”顶部栏2菜单”, 这将不允许我也选择顶部栏正如上面说的那样, 当前顶部栏设置为”顶部栏菜单1″, 因此当用户登录时, 他们将看到”顶部栏菜单1″, 但是当他们注销时, 顶部栏将为空白, 因为它不会让我将”顶部栏菜单2″分配给顶部栏。 http://prntscr.com/po0ll2

有谁知道如何将注销用户的第二个菜单分配给顶部栏, 或者是否需要更改添加到functions.php文件中的代码?

非常感谢,


#1


你可以在header.php文件中执行此操作(或在导航菜单显示的位置)

<?php if ( is_user_logged_in() ) : ?>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu' => 'logged_in', 'menu_class' => 'nav-menu' ) ); ?>
<?php else : ?>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu' => 'logged_out', 'menu_class' => 'nav-menu' ) ); ?>
<?php endif; ?>

或者, 如果你仍要在功能文件中执行此操作, 则可以使用它。

function my_wp_nav_menu_args( $args = '' ) {

if( is_user_logged_in() ) { 
    $args['menu'] = 'logged_in';
} else { 
    $args['menu'] = 'logged_out';
} 
    return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );
赞(0)
未经允许不得转载:srcmini » 对于WP上已登录和已注销的用户,如何在标题菜单上使用不同的选项?

评论 抢沙发

评论前必须登录!