注销用户的不同主页

时间:2017-01-01 作者:user86168

我创建网站,我需要有不同的登录和注销用户的主页。我有一个页面“主页”,它被设置为主页,里面充满了关于我的网站和图片的信息,还有一个简单的页面“主页登录”,它被设置为BuddyPress活动流。我需要的是:-用户A正在访问网站,但他没有登录,可以将“主页”作为主页查看-用户B正在访问网站,他已登录,可以将“主页登录”作为主页查看。我试图通过将此代码插入到我的主题函数中来实现它。php:

function switch_homepage() {
if ( is_user_logged_in() ) {
    $page = get_page_by_title( \'Home page logged in\' );
    update_option( \'page_on_front\', $page->ID );
    update_option( \'show_on_front\', \'page\' );
} else {
    $page = get_page_by_title( \'Home page\' );
    update_option( \'page_on_front\', $page->ID );
    update_option( \'show_on_front\', \'page\' );
}
}
add_action( \'init\', \'switch_homepage\' );
但此代码有时在刷新页面或注销时开始显示注销用户的“主页已登录”。当我读到这篇文章时,因为这段代码改变了数据库中的主页。所以现在我的问题是,如何在不每次更改数据库的情况下为注销的用户提供单独的主页?

2 个回复
SO网友:Pete

你能用这个重定向注销的用户吗?

<?php if ( !is_user_logged_in() { ?>
<?php wp_redirect( \'https://yourdomain.com.au/logoutpage\', 302 ); exit; ?>
<?php } ?>
还是这个解决方案?setting a specific home page for logged in users

SO网友:Daniel Gronow

我目前正在使用以下代码为登录和注销的用户显示不同的主页。您只需在wordpress中更改所选页面的页面id,并将其添加到您的函数中即可。php文件:

function switch_homepage() {
    if ( is_user_logged_in() ) {
        $page = 898; // for logged in users
        update_option( \'page_on_front\', $page );
        update_option( \'show_on_front\', \'page\' );

    } else {
        $page = 615; // for logged out users
        update_option( \'page_on_front\', $page );
        update_option( \'show_on_front\', \'page\' );
    }
}
add_action( \'init\', \'switch_homepage\' );
我想按用户角色设置一个不同的主页,但我很难得到我需要的解决方案。

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请