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

如果用户不是他们正在查看的帖子的作者,则重定向

上官华池
2023-03-14

我使用Wordpress作为我网站的后端,人们可以在这里创建帐户和撰写帖子。文章只能由文章作者查看。我在网站的大多数地方都处理过这个问题,例如,对帖子列表的查询:

$wpb_all_query = new wp_query(array('author' => $current_user->ID, 'post_type'=>'post', 'post_status'=>'publish', 'posts_per_page'=>-1));`

我现在意识到,如果人们手动输入文章的URL(这很容易猜测),他们可以看到其他作者的文章。如果人们不是他们试图查看的文章的作者,我如何重定向他们?

共有2个答案

马奇略
2023-03-14

你需要做的就是,

$required_capability = 'edit_others_posts';
$redirect_to = '';
function redirect_user() {      

    global $required_capability, $redirect_to;
    if (!current_user_can($required_capability)) {              
        if ($redirect_to == '') { $redirect_to = get_option('home');}              
        wp_redirect($redirect_to,302);              
     }      
}

add_action('init','redirect_user',0);

更改读取视图编辑等功能

束俊英
2023-03-14

Wordpress提供了检查用户是否是作者的核心功能。。

$user = wp_get_current_user();
if (!is_author()) {
    //The user has the "author" role
}

我希望这对你有帮助

 类似资料:
  • 当用户在我的网站上注册时,将自动创建一篇文章(在自定义文章类型下),并将用户指定为该文章的作者。这篇文章本质上是用户的“个人资料页面”。 任何用户都可以看到任何其他用户配置文件页面。但是,如果它属于登录用户,我希望在配置文件页面上显示一个按钮。 换句话说:如果登录用户是当前正在查看的帖子的作者(在前端),那么显示按钮。 下面是我最接近我需要做的事情-我创建了一个css id为的按钮,并在默认情况下

  • 对于每个成员(作者),我有一个字段来存储成员性别。(Homme/Somme)。 数据存储在我的数据库中,wp_usermeta。 元键是“性别”,元值是“男人”或“女人”。 我试图写一个wp查询来显示所有作者的所有帖子,但只有“Homme”作者,另一个只有“女性”。 以下是我的wp查询,用于显示所有帖子,无需按性别筛选: 工作正常。 这是我到目前为止试图只从“男人”性别获得的帖子,但它不起作用。。

  • 我想检索那些作者(post表字段)是给定作者或具有给定元值(postemda表字段)的所有帖子。 如果“author”是一个元值,我知道我可以使用元查询来实现它。这里的问题是它不是。。。因此,我认为我不能在meta_查询中使用“author”字段,而使用“relation”键。 我要找的东西是: 关于如何使用WP_Query实现这一目标的任何建议? 谢谢!

  • 如果消息作者尝试了,我如何使我的bot不接受消息作者的最高角色? 我尝试使用,但没有成功。 我的代码:

  • 你好,我想找到用户所做的帖子... 我使用JWT令牌执行请求: 这是我的创建函数: 这是我的函数,我想在其中获取用户发表的帖子: 这是我为博文准备的模型: 每次我做一个请求它有这个错误: 我的生成令牌:

  • 我找了很多,但没有找到任何答案,所以我希望你能帮助我! 我有三个表:post、users和post\U users。Post_users包含两列:user_id和Post_id。 我需要得到一个有口才的用户的所有帖子。有什么想法吗? 非常感谢你! (如果这个问题已经存在,我很抱歉,但我还没有找到它)