我使用WordPress的CMS,我允许用户从前端发布。有三种用户。我自己作为管理员,初级(作为作者的角色)以及任何来自公众的未登录用户。目前,如果来自前端的任何未登录用户帖子,我被分配为具有此代码的作者。目前我wp_insert_post
阵列看起来是这样的:根据条件设置发布作者通过前端提交
'post_title' => $final_title,
'post_content' => $about_stuff,
'post_status' => 'draft',
'post_author' => '20',
'post_type' => 'post',
etc....
,其中我的作者ID为 '20'。所有这些工作正常。现在,我想实现的是当我的小辈登录并在前端创建帖子时,我希望他成为帖子作者,而不是我(按照当前设置)。我明白,post_author将需要成为一个变量示例$content_creator
。下面给出的是我到目前为止编写的代码,但我很困惑如何把它放在一起,以实现我所需要的。具体来说,我很困惑,我如何让变量$ content_creator与代码的其余部分一起工作。
if (is_user_logged_in()) {
$current_user = wp_get_current_user();
if (19 == $current_user->ID) {
'post_author' => '19';
} else {
'post_author' => '20',
}
}
的代码是不言自明的基本和它说检查是否已登录的用户,如果是检查用户ID。如果用户ID等于19设置'post_author' => '19'
(我的初级用户ID),否则将作者设置为管理员。我想问的两件事,我是否还需要在我的代码之前添加全局$ post,并且我应该使用另一个筛选器wp_update_post。请帮忙。
最终方案必须是,当管理员或其他人创建帖子的作者之一后必须设置为管理员(我),但是当我初中创建后,他必须被设置为与作家后。如果我们在后端创建帖子,这将是不必要的,但由于某种原因我们更愿意在前端创建帖子。