it-swarm.com.de

Wie kann ich denselben Beitrag in WordPress für mehrere Websites freigeben?

Wir entwickeln WordPress mit mehreren Websites. Wir müssen einige Beiträge auf mehr als einer Site teilen. Wir müssen Posts in mehr als einer Site mit einem Klick speichern.

Ich habe in Google gesucht, aber ich kann kein Tutorial dafür bekommen.

2
muthupandi

Hierfür können Sie die Funktion switch_to_blog() verwenden

$other_id = 1234 // the id of the other blog to save the post to
switch_to_blog($other_id);
$my_post = array(
  'post_title'    => $post_title,
  'post_content'  => $post_content,
  'post_status'   => 'publish',
  'post_author'   => $post_author,
  );

// Insert the post into the database
wp_insert_post( $my_post );

restore_current_blog();

Wenn Sie diesen Code am Hook save_post ausführen, gibt es eine Gefahr, weil wp_insert_post auch save_post aufruft und Sie in einer Endlosschleife enden. Dieser Beitrag zum Stack Overflow gibt eine Lösung dafür.

1
cjbj

Autor von Broadcast hier.

Angesichts meiner Erfahrung mit Multiposting und den damit verbundenen Problemen würde ich vorschlagen, dass Sie ein erfahrenes Plug-in für das Post-Sharing sorgen lassen.

Mit dem API können Sie den Beitrag an beliebig viele vernetzte Blogs senden. Es übernimmt das Kopieren aller Anhänge (ja, Anhänge haben unterschiedliche URLs und IDs in jedem Blog) für Sie.

So senden Sie Beitrag 123 an mehrere Blogs:

ThreeWP_Broadcast()->api()->broadcast_children( 123, [ 10, 11, 12 ] );

Das Obige verknüpft auch die Beiträge miteinander. Wenn Sie also Beitrag 123 aktualisieren, werden auch alle untergeordneten Beiträge aktualisiert.

1
WhiteWindows