不将内容分配给管理员用户

时间:2017-10-11 作者:adam-asdf

出于安全原因,我想确保没有任何内容属于我网站的管理员用户。

本质上,我希望有一种方法可以自动将任何内容的作者更改为其他内容(包括上载)。

作为管理员,当我删除一个用户时,WordPress会问我是否要删除他们的所有内容或将其重新提交给其他用户。

嗯,我想自动将内容的作者从一个给定用户(管理员用户)更改为另一个用户(作者/编辑器)。

我如何才能做到这一点(我通常可以在根级别访问托管站点的服务器)?

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

挂接帖子状态转换,以便在发布或更新帖子时,可以检查作者是否是管理员。如果是,请将作者更新为非管理员。首先,获取要设置为作者的非管理员用户的ID。

// change author ID to suit your needs
$newAuthor = 3;
// hook our function to fire when any post type\'s status changes
add_action(\'transition_post_status\', \'wpse_change_author\', 10, 3);
function wpse_change_author($new_status, $old_status, $post) {
    // only adjust published posts - which are either new or newly updated
    if($new_status == \'publish\') {
        // check whether author is admin
        if(user_can($post->post_author, \'administrator\')) {
            // update the post with new author ID
            wp_update_post(array(\'ID\' => $post->ID, \'post_author\' => $newAuthor));
        }
    }
}

结束

相关推荐

如何在wp-admin的“编辑标签”页面中添加内容?

我有一些term\\u meta,我想显示在wp admin的“编辑标签”页面上。我找到了以下两个动作挂钩,但它们都不是我想要的。edit_tag_formedit_tag_form_pre这些钩子要么在表单的开头或结尾添加内容,要么在“更新”和“删除”按钮之前添加内容。我想做的是在显示我的term\\u meta的“Edit Tag”表单下面添加一个全新的部分。这个有挂钩吗?