Come condividere lo stesso post su più siti in WordPress?
Puoi utilizzare la funzione switch_to_blog()
per questo
$other_id = 1234 // l'id dell'altro blog dove salvare il post
switch_to_blog($other_id);
$my_post = array(
'post_title' => $post_title,
'post_content' => $post_content,
'post_status' => 'publish',
'post_author' => $post_author,
);
// Inserisce il post nel database
wp_insert_post( $my_post );
restore_current_blog();
C'è una trappola se esegui questo codice sull'hook save_post
, perché wp_insert_post
chiama anche save_post
e finisci in un loop infinito. Questo post su Stack Overflow fornisce una soluzione per questo problema.

Autore di Broadcast qui.
Visto che ho una notevole esperienza con il multiposting e tutti i problemi associati, ti suggerirei di lasciare che un plugin esperto si occupi della condivisione dei post.
Utilizzando l'API puoi trasmettere il post a tutti i blog in rete che desideri. Si occuperà di tutta la copia degli allegati (sì, gli allegati hanno URL e ID diversi su ogni blog) per te.
Ecco come trasmettere il post 123 a diversi blog:
ThreeWP_Broadcast()->api()->broadcast_children( 123, [ 10, 11, 12 ] );
Il codice sopra collegherà anche i post tra loro, quindi quando aggiornerai il post 123, tutti i post figli verranno aggiornati di conseguenza.

Posso invece di trasmettere un post pubblicato, inviare una bozza da pubblicare su altri siti web?

Certo. In quel caso basta trasmettere la bozza. I post non devono avere uno stato particolare.

Capisco. Quindi il sito di destinazione riceverebbe la bozza nello stato in cui si trova?
