it-swarm.com.de

Kopieren Sie Posts von einem Blog in ein anderes in einer Umgebung mit mehreren Standorten

Ich erstelle ein Plugin für die Seite post.php, auf der der Benutzer (einen oder mehrere) Blogs auswählen und den Inhalt, den Titel, den Autor und die Kategorien des Posts in alle ausgewählten Blogs kopieren kann. Der kopierte Beitrag wäre das Kind des ursprünglichen Beitrags und jetzt wäre der ursprüngliche Beitrag der Elternbeitrag.

Ich möchte wissen, dass es eine WP -Funktion gibt, die sich direkt um das Kopieren von Posts in andere Blogs mit mehreren Sites kümmern kann, oder welche Funktion dafür am besten geeignet wäre.

1
Sumit

So kopieren Sie einen Beitrag von einem Blog in einen anderen:

function copy_post_to_blog($post_id, $target_blog_id) {

   $post = get_post($post_id, ARRAY_A); // get the original post

   $post['ID'] = ''; // empty id field, to tell wordpress that this will be a new post

   switch_to_blog($target_blog_id); // switch to target blog

   $inserted_post_id = wp_insert_post($post); // insert the post

   restore_current_blog(); // return to original blog
}
5
dannepanne

Ihre Lösung ist gut, deckt jedoch keine Taxonomien und Post-Metas ab. Daher empfehle ich, diese Lösung zu überprüfen https://rudrastyh.com/wordpress-multisite/move-posts-between -blogs.html

Also, zuerst bekommen wir alle Post-Daten get_post($post_id, ARRAY_A); alle Kategorien und Post-Metas des Posts, danach wechseln wir zu einem korrekten Blog mit switch_to_blog($target_blog_id); und erstellen einen neuen Post und aktualisieren alle seine Daten + Terms + Post-Meta. Dann restore_current_blog();

0
Misha Rudrastyh