![](/img/trans.png)
[英]Jquery (or css) in php to show div to logged in users only (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.