WordPress功能和受限类别访问

时间:2014-08-02 作者:Fractaliste

我有一个Wordpress博客,只与一些人分享内容。用户必须登录才能访问此网站。

我在这个博客上创建了新角色和新功能。

我有一些属于某一类别的文章,我只想与具有特定角色的人分享。

有没有一个钩子可以在有人请求文章时使用,我可以在哪里测试当前用户是否具有良好的功能,从而在需要时修改请求?

1 个回复
最合适的回答,由SO网友:gmazzap 整理而成

我认为最好的钩子应该是\'template_redirect\', 当这个钩子被激活时,主查询已经设置好了,所以您可以查看被查询的对象,如果用户没有所需的功能,您可以将请求重定向到某个地方:

add_action( \'template_redirect\', function() {
  if (
    (
      is_category( \'special-category\' )
      || is_singular() && has_category( \'special-category\', get_queried_object() )
    ) &&
    ! is_user_logged_in() || current_user_can( \'special-cap\' )
  ) {
    wp_safe_redirect( home_url() );
    exit();
  }
} );

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴