我使用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。請幫忙。
最終方案必須是,當管理員或其他人創建帖子的作者之一後必須設置爲管理員(我),但是當我初中創建後,他必須被設置爲與作家後。如果我們在後端創建帖子,這將是不必要的,但由於某種原因我們更願意在前端創建帖子。