添加_操作模板_重定向不适用于主页

时间:2018-05-27 作者:Jagan Veeraraghavan

我正在最新的wordpress上使用bimber主题。我想在登录后强制所有frontpage视图,并在bimber的函数中添加了以下代码。php

function members_only() {
    // Check to see if user in not logged in and not on the login page
    if( !is_user_logged_in() && (is_home()||is_front_page())){
        auth_redirect();
    }
}
add_action( \'template_redirect\', \'members_only\' );
但这对个人帖子有效,但对我的主页无效。如何修复此问题?

1 个回复
SO网友:Kevin Vess

小心不要混淆这两个查询条件。

是否is_home()is_front_page() 返回true或false取决于某些选项值的值。

使用这些查询条件时:

如果“posts”==get\\u选项(“show\\u on\\u front”):

  • 在站点首页:
    • is\\u front\\u page()将返回true,WordPress忽略指定用于显示站点首页的页面或博客文章索引,如果“page”==get\\u选项(“show\\u on\\u front”):
      • 指定用于显示站点首页的页面:
        • is\\u front\\u page()将返回true
        • is\\u home()将返回false
        • 指定用于显示博客文章索引的页面:is\\u front page()将返回falsefalse将返回trueReference:
          https://developer.wordpress.org/reference/functions/is_home/#usage

          若要强制访问者(未登录)在查看您的首页时登录,请尝试将您的条件声明更改为:

          function members_only() {
              // Check if user in not logged in and on the front page
              if ( ! is_user_logged_in() && is_front_page() ) {
                  auth_redirect();
              }
          }
          add_action( \'template_redirect\', \'members_only\' );
          
          我想强制所有frontpage视图[…]

          如果“所有frontpage视图”是指整个站点,而不仅仅是站点的“首页”,我建议您安装Force Login 插件可以轻松简单地完成这一点。

结束

相关推荐

EDIT-Comments.php COMMENT_ROW_ACTIONS AJAX问题

在编辑注释上。php页面,我正在连接到comment\\u row\\u actions过滤器,以便在末尾添加另一个链接。我正在复制“Approve”链接,添加另一个查询键和值,并修改锚文本。我想根据新查询键的值添加一些注释元。批准的链接:/wp-admin/comment.php?c=9999&action=approvecomment&_wpnonce=8526c66已批准的元链接/wp-admin/comment.php?c=9999&action=approvecommen