Este es un truco simple que escribí en una situación similar. Mostrará todo Subscribers
en el Author
menú desplegable en editar / agregar publicación / página, desde donde puede seleccionar el que desee. Creo que debería funcionar para ti ...
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;
}
El truco detrás de esto es que, después de enviar enviar esta página, WP solo lee el $ user-> ID de este menú desplegable en la matriz $ _POST, y lo asigna como el autor de las publicaciones. ¡Y eso es lo que quieres!
global $post
variable ...A partir de WordPress 4.4.0 ahora puede usar el
wp_dropdown_users_args
filtro. El código es mucho más simple ahora:fuente
Este es un enfoque similar a @brasofilo. Pero solo funciona en la pantalla de edición de publicaciones, en lugar de la edición rápida, e incluye a todos los usuarios (no solo autores y suscriptores).
Esto imita el metabox de autor predeterminado pero la llamada
wp_dropdown_users
omite elwho=>'editors'
argumento. El valor predeterminado es el único otro valor que es llamar a los usuarios.fuente
Una mejor manera de hacerlo ...
fuente
Este es un código vinculado por @Innate en un comentario (solución) a su propia pregunta, que acabo de adaptar un poco y probé en WP 3.3.2 (función wpse39084). Mostrará a los suscriptores en las publicaciones Editar y Edición rápida.
También se agregaron un par de acciones (funciones wpse50827) para mover el cuadro meta Autor dentro del cuadro meta Publicar acciones, para una administración más fácil.
Todo está relacionado con publicaciones, no hay páginas ni CPT ...
fuente
He hecho algo similar a la respuesta aceptada aquí, pero solo quería mostrar a los administradores y, en mi caso, un rol personalizado de 'productores', juntos.
fuente
Esta podría ser una solución para evitar el error en la edición rápida, donde "cpt_slug" debería reemplazarse con su mensaje personalizado tipo slug
fuente