这篇文章主要介绍了怎样实现WordPress登录查看网站,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
如网站内容只希望注册用户浏览,对其他所有人隐藏,浏览者未登录访问直接跳转到登录注册页面,可以用下面的代码实现。
将下面代码添加到当前主题函数模板functions.php中:
代码一 未登录访问网站直接跳转到默认登录页面。
add_action( 'wp', 'login_access' ); function login_access() { global $pagenow; if( !is_user_logged_in() && $pagenow != 'wp-login.php' ) auth_redirect(); }
代码二 未登录访问网站,可以302跳转到自定义的页面
add_action( 'template_redirect', 'zm_force_login' ); function zm_force_login() { // 判断登录 if ( ! is_user_logged_in() ) { // 判断HTTPS $schema = isset( $_SERVER['HTTPS'] ) && 'on' === $_SERVER['HTTPS'] ? 'https://' : 'http://'; // 判断站内链接 $url = $schema . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; // 添加白名单 $allowed = apply_filters_deprecated( 'zm_force_login_whitelist', array( array( '允许访问的链接1', '允许访问链接2' ) ), '1.0', 'zm_force_login_bypass' ); $bypass = apply_filters( 'zm_force_login_bypass', in_array( $url, $allowed ), $url ); if ( preg_replace( '/\?.*/', '', $url ) !== preg_replace( '/\?.*/', '', wp_login_url() ) && ! $bypass ) { // 防止缓存 nocache_headers(); // 跳转的页面链接 $page = '跳转到的页面链接'; // 执行302跳转 wp_safe_redirect( $page, 302 ); // 跳转到默认登录页面 // wp_safe_redirect( wp_login_url(), 302 ); exit; } } }
注:跳转的页面链接要同时加到白名单中,否则会形成死循环
感谢你能够认真阅读完这篇文章,希望小编分享的“怎样实现WordPress登录查看网站”这篇文章对大家有帮助,同时也希望大家多多支持创新互联网站建设公司,,关注创新互联行业资讯频道,更多相关知识等着你来学习!