Это простой хак, который я написал в похожей ситуации. Он будет отображать все Subscribers
в Author
раскрывающемся меню при редактировании / добавить пост / страницу, с которой вы можете выбрать любой , который вы хотите. Я думаю, что это должно работать для вас ...
add_filter('wp_dropdown_users', 'MySwitchUser');
function MySwitchUser($output)
{
//global $post is available here, hence you can check for the post type here
$users = get_users('role=subscriber');
$output = "<select id=\"post_author_override\" name=\"post_author_override\" class=\"\">";
//Leave the admin in the list
$output .= "<option value=\"1\">Admin</option>";
foreach($users as $user)
{
$sel = ($post->post_author == $user->ID)?"selected='selected'":'';
$output .= '<option value="'.$user->ID.'"'.$sel.'>'.$user->user_login.'</option>';
}
$output .= "</select>";
return $output;
}
Хитрость заключается в том, что после отправки отправки этой страницы WP считывает только $ user-> ID из этого раскрывающегося списка в массиве $ _POST и назначает его автором сообщений. И это то, что вы хотите!
global $post
переменную ...Начиная с WordPress 4.4.0 теперь вы можете использовать
wp_dropdown_users_args
фильтр. Код теперь намного проще:источник
Это похожий подход к @brasofilo. Но работает только на экране редактирования поста, а не быстрого редактирования, и включает в себя всех пользователей (не только авторов и подписчиков).
Это имитирует метабокс автора по умолчанию, но при вызове аргумент
wp_dropdown_users
пропускаетсяwho=>'editors'
. По умолчанию используется единственное другое значение - это вызов пользователей.источник
Лучший способ сделать это ...
источник
Это код, связанный @Innate в комментарии (решении) к его собственному вопросу, я только что немного адаптировался и протестировал в WP 3.3.2 (функция wpse39084). Он будет отображать подписчиков в сообщениях Edit и Quick Edit.
Также добавлена пара действий (функции wpse50827) для перемещения мета-поля Author в мета-поле Publish Actions для более удобного управления.
Все связано с постами, ни страниц, ни CPT ...
источник
Я сделал что-то похожее на принятый здесь ответ, но хотел показать только администраторов и в моем случае особую роль «продюсеров».
источник
Это может быть решением, позволяющим избежать ошибки при быстром редактировании, где «cpt_slug» следует заменить на ваш пользовательский тип записи slug
источник