强制要求用户在访问你的WordPress博客之前登陆

强制要求用户登陆之后才能访问你的站点文章,这个功能方面就要看个人了,有些文章涉及到技术含量比较高的,有些站点涉及到需要互动的,那么这些措施可能就有一定的作用了,但是在使用这个功能之前你必须确定你的站点值得用户去注册,要么没有什么值得用户注册的地方,那么这个功能可能让你的站点根本没人来。

效果方面显示为:站点首页可以访问,点击文章页面就会直接跳转到登录页面,就是这么简单。

下面是  代码 部分,直接添加到functions.php中即可:

function v_getUrl() {
$url  = isset( $_SERVER['HTTPS'] ) && 'on' === $_SERVER['HTTPS'] ? 'https' : 'http';
$url .= '://' . $_SERVER['SERVER_NAME'];
$url .= in_array( $_SERVER['SERVER_PORT'], array('80', '443') ) ? '' : ':' . $_SERVER['SERVER_PORT'];
$url .= $_SERVER['REQUEST_URI'];
return $url;
}
function v_forcelogin() {
if( !is_user_logged_in() ) {
$url = v_getUrl();
$whitelist = apply_filters('v_forcelogin_whitelist', array());
$redirect_url = apply_filters('v_forcelogin_redirect', $url);
if( preg_replace('/?.*/', '', $url) != preg_replace('/?.*/', '', wp_login_url()) && !in_array($url, $whitelist) ) {
wp_safe_redirect( wp_login_url( $redirect_url ), 302 ); exit();
}
}
}
add_action('init', 'v_forcelogin');
<p style="text-indent: 2em">通过 <svg class="icon" aria-hidden="true"><use xlink:href="#icon-youhuibiaoqian"></use></svg> <a href="http://www.xxxx.com/%e4%bb%a3%e7%a0%81" title="点击查看其余 209 篇关于 代码 的文章" target="_blank">代码</a> 我们可以看出基本是靠的302跳转实现的,监控的是80端口以及443端口。是否使用请慎重考虑。

发表评论 0