Este é um hack simples que escrevi em uma situação semelhante. Ele exibirá todos os Subscribers
no menu suspenso Author
em editar / adicionar postagem / página, de onde você pode selecionar qualquer um que desejar. Eu acho que deveria funcionar para você ...
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;
}
O truque por trás disso é que, depois que você enviar essa página, o WP só lerá o ID $ user- > dessa lista suspensa na matriz $ _POST e o atribuirá como o autor da postagem. E é isso que você quer!