繁体   English   中英

显示特定类别以仅在WordPress中登录用户

[英]Show specific categories to logged in users only in WordPress

我想在我的WordPress博客中为公众隐藏某些类别,但那些可以由登录用户查看的类别。

如果公众访问受限类别,则应向他们显示一个登录框,他们必须登录才能查看该类别

我有适用于WordPress的is_user_logged_in函数,但不知道如何为此目的使用它。 我应该在我的functions.php中添加什么?

我已经试过了这段代码,但是无法正常工作:

  add_action( 'init', 'check_redirect_page' );

function check_redirect_page() {
    if ( !is_user_logged_in() && !is_category( 177 ) ) {
        wp_redirect( home_url( '/login' ) );
        exit(); 
    }
}

还有其他建议吗? 它只是对我不起作用:(

I.类别模板

您可以开始为要隐藏的类别构建类别模板:

http://codex.wordpress.org/Category_Templates

例如category-slug.php

然后,您可以在此页面上执行以下操作:

<?php if ( is_user_logged_in() ): ?> 
<?php 
    // start The Loop
    // see http://codex.wordpress.org/The_Loop
    if ( have_posts() ) : while ( have_posts() ) : the_post();
        the_content();
    // etc.
    ?>
    <?php endwhile; else: ?>
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    <?php endif; ?>
<?php else:
        wp_redirect( home_url( '/login' ) );
        exit();     
endif; ?>

http://codex.wordpress.org/Function_Reference/is_user_logged_in http://codex.wordpress.org/Function_Reference/wp_login_url

此外,我假设您想有一个模态/弹出窗口供用户登录。 为此,您可以尝试:

http://wordpress.org/plugins/wp-modal-login/http://wordpress.org/plugins/simplemodal-login/-尽管我没有测试这些。

对于会员插件... http://wordpress.org/plugins/wp-members/您可以成为您的朋友吗?

二。 或者您可以尝试(简单方法):

<?php 
add_action( 'init', 'check_redirect_page' );

function check_redirect_page() {
    if ( !is_user_logged_in() && is_category( 177 ) ) {
        wp_redirect( home_url( '/login' ) );
        exit(); 
    }
}
?>

如您所说,此代码应驻留在您的functions.php中。

要使用第二种解决方案,请用[ wp ]替换[ init ]

新代码如下:

/**
 * Make category members only and redirect non-members to login page.
 */
add_action( 'wp', 'check_redirect_page' );
function check_redirect_page() {
    if ( !is_user_logged_in() && is_category( 91 ) ) {
        wp_redirect( home_url( '/wp-admin' ) );
        exit(); 
    }
}

91替换为您的类别ID,并将/ wp-admin替换为您的网站登录名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM