php - 如果未登录,则重定向到首页 WordPress

标签 php wordpress loops redirect authentication

如果用户未登录,我希望将他们重定向到特定页面。 所以 blog.com/welcome

因此他们可以查看此页面或 WordPress 登录页面。 我正在尝试修改这个插件 http://wordpress.org/plugins/redirect-to-login-if-not-logged-in/

add_action( 'wp', 'dmk_not_loggedin_redirect' );

function dmk_not_loggedin_redirect() {
    global $pagenow;

但是我最终遇到了重定向循环。我可以使用一些帮助来阻止这种情况。

if ( ! is_user_logged_in() && $pagenow != 'wp-login.php' or 'http://www.blog.co.uk/front' )
    wp_redirect( 'http://www.blog.co.uk/front' , 302 ); exit; }

最佳答案

我尝试使用操作 Hook init 但当前帖子/页面信息尚不可用。但是,template_redirect 完成了这项工作,它只作用于前端,登录和管理页面正常工作。

这里有一个带有 slug welcome 的页面,用于检查帖子使用 is_single('post-slug'):

add_action( 'template_redirect', 'redirect_so_18688269' );

function redirect_so_18688269() 
{
    if( !is_user_logged_in() && !is_page( 'welcome' ) )
    {
        wp_redirect( site_url( 'welcome' ) );
        exit();
    }
}

关于php - 如果未登录,则重定向到首页 WordPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18688269/

相关文章:

php - Symfony 2 中的 Beanstalkd

php - 检查 PHP 中部分 session 变量是否为 null

wordpress - 什么是默认的 WordPress API

CentOS 上带有 docker-compose.yml 的 Wordpress

javascript - 如何遍历多维关联javascript数组?

loops - Kotlin:如何以函数方式编写嵌套循环?

php - 使用 jQuery.ajax 获取 PHP 脚本的进度

php - 如何仅为自定义产品类型定义字段 - Woo Commerce Hook

php - woocommerce 产品类别短代码分页不起作用

loops - 如何在clojure中的每一行打印数字列表?