Cambiar programáticamente el autor de una entrada
Dado un ID de usuario, $user_id, y un ID de entrada, $post_id, ¿cómo puedo actualizar programáticamente el autor de una entrada de WordPress?
Nota: estas entradas ya están creadas y el autor no se puede establecer durante la creación. Otro proceso está creando la entrada y estableciendo por defecto al administrador como autor. No tengo acceso a la creación de la entrada pero sí tengo acceso después de que se crea.
// Método 1: Usando wp_update_post()
$args = array(
'ID' => $post_id,
'post_author' => $user_id
);
wp_update_post($args);
// Método 2: Actualización directa en la base de datos
global $wpdb;
$wpdb->update(
$wpdb->posts,
array('post_author' => $user_id),
array('ID' => $post_id)
);

esto resulta en que la publicación tenga al usuario como su autor, pero si intentas consultar las publicaciones de un usuario no devuelve nada - parece que el usuario no sabe sobre la publicación cuando se ha creado de esa manera. También significa que cuando eliminas el usuario las publicaciones no se eliminan, ya que se consultan desde el usuario eliminado
