当前位置: 首页 > 知识库问答 >
问题:

限制前端视图发布作者(和管理员)

宇文修筠
2023-03-14

我有一个自定义的职位类型(审计)。我试图使每篇文章只在前端由文章作者和管理员查看。因此,本质上,只有与帖子作者id和管理员匹配的登录用户才能使用私有帖子。

我已经看到了很多关于如何在管理仪表板中限制帖子的答案,但是对于前端,没有一个答案,因为大多数帖子通常是公开的。

非常感谢您的帮助!

共有1个答案

百里金林
2023-03-14

我想说,这种方法取决于你希望用户看到什么,如果他们被拒绝访问帖子。是否要显示一条消息,说明您无法查看此帖子?还是扔个404?

如果你想抛出404,你可以使用template\u重定向action钩子。

add_action('template_redirect', 'hide_from_unauth_users');

function hide_from_unauth_users() {

    $author = get_the_author();
    $user = wp_get_current_user();
    $is_author = "some logic to determine if this is the author";

    if( current_user_can('administrator') || ! is_user_logged_in() || ! $is_author ) {
        //throw 404 and include 404.php template
    }

}

如果您想向用户显示一条消息,那么您只需在实际的单条消息上运行上面完全相同的逻辑即可。php模板并显示授权消息,而不是帖子标题、内容等。

希望这能为你指明正确的方向。

 类似资料:
  • 若要让儿童使用PS Vita,监护人可依个人需要限制可播放的内容或可使用的功能。 设定通行码 一开始需先设定称为通行码的密码。设定视听者限制或变更设定内容时,需输入通行码。在需要输入通行码时显示的画面输入4位数字,并轻触[OK]。 若忘记通行码,需初始化PS Vita。请小心切勿遗忘已设定的通行码,亦不要让第三者知道您的通行码。 内容 限制启动有年龄限制的应用程序或视频影像。 除了[关]以外另有1

  • 一、简介 用于生成静态,更新URL等。 二、功能演示 批量更新栏目页 生成首页 批量更新URL 批量更新内容页

  • 若要让儿童使用PS Vita,监护人可依个人需要限制可播放的内容或可使用的功能。 此外,PlayStation®Network也准备了在主账号看管下,一定年龄以下的用户可使用的子账号。 详情请参阅「创建PlayStation®Network账号」。 可执行的操作 内容 如何设定限制 限制启动设有年龄限制的应用程序或视频影像等内容 除了[关]以外另有11个等级可设定。根据PS Vita内设定的等级,

  • 一、简介 V9 系统内置的发布点功能结合站群功能,通过发布点可将各子站点内容发布到不同的服务器上,轻松实现服务器集群部署。以实现负载的分离,更加符合大访问量网站的需求。为用户提供更好的用户体验。示意图如下 二、功能演示 何时使用发布点: 当你想把各站点数据分布部署到不同的服务器上时使用发布点。 如何使用: 步骤一、添加发布点 (点击这里) 步骤二、添加站点时指定发布点 步骤三、添加站点时设置的域名

  • 一、简介 用于内容发布管理,发布管理以及内容相关设置的管理。 二、功能演示 管理内容 附件管理 专题 碎片管理 采集管理 批量更新栏目页 批量更新内容页 管理栏目 模型管理 类别管理 推荐位管理

  • 英文原文:http://emberjs.com/guides/views/manually-managing-view-hierarchy/ 视图通常采用{{view}}助手来创建其子视图。然而有时手动管理视图的子视图非常有用。Ember.ContainerView 便是用来完成该功能的。 当在代码中添加和删除一个ContainerView的视图时,这些渲染的视图的HTML将被添加,或从匹配的DO