Cómo compartir la misma publicación en múltiples sitios en WordPress
Estamos desarrollando WordPress con múltiples sitios. Necesitamos compartir algunas publicaciones en más de un sitio. Necesitamos guardar la publicación en varios sitios con un solo clic.
He buscado en Google, pero no he encontrado ningún tutorial para eso.

Puedes usar la función switch_to_blog()
para esto
$other_id = 1234 // el ID del otro blog donde guardar la publicación
switch_to_blog($other_id);
$my_post = array(
'post_title' => $post_title,
'post_content' => $post_content,
'post_status' => 'publish',
'post_author' => $post_author,
);
// Insertar la publicación en la base de datos
wp_insert_post( $my_post );
restore_current_blog();
Hay una trampa si ejecutas este código en el hook save_post
, porque wp_insert_post
también llama a save_post
y terminas en un bucle infinito. Esta publicación en Stack Overflow ofrece una solución para eso.

Autor de Broadcast aquí.
Dado que tengo bastante experiencia con la multipublicación y todos sus problemas asociados, te sugiero que dejes que un plugin experimentado se encargue del compartir publicaciones.
Usando la API puedes transmitir la publicación a tantos blogs en red como quieras. Se encargará de copiar todos los adjuntos (sí, los adjuntos tienen URLs e IDs diferentes en cada blog) por ti.
Aquí te muestro cómo transmitir la publicación 123 a varios blogs:
ThreeWP_Broadcast()->api()->broadcast_children( 123, [ 10, 11, 12 ] );
Lo anterior también enlazará las publicaciones, así que cuando actualices la publicación 123, todas las publicaciones hijas también se actualizarán.

¿Puedo en lugar de transmitir una publicación publicada, enviar un borrador para ser publicado en otros sitios web?

Claro. En ese caso solo transmite el borrador. Las publicaciones no tienen que tener un estado en particular.

Entiendo. ¿Entonces el sitio destino recibiría el borrador en cualquier estado en que se encuentre?
