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

时间:2017-01-04 06:04:24

标签: wordpress

我使用Wordpress作为我网站的后端,人们可以在其中创建帐户和撰写帖子。帖子只能由帖子的作者查看。我已在网站上的大多数地方处理此问题,例如查询帖子列表:

[class="classname"]

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

2 个答案:

答案 0 :(得分:1)

Wordpress提供了核心功能,用于检查用户是否是其他人。

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

我希望它对你有所帮助

答案 1 :(得分:0)

您需要做的就是,

$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);

更改阅读视图编辑等功能..无论您想为当前用户申请什么。