Verwenden von wp_insert_post () mit aktiviertem Netzwerk

7

Ich arbeite an einem Skript, das Artikel mit wp_insert_posts () direkt in die WordPress-Datenbank ablegt. Ich habe jedoch das Netzwerk aktiviert und die Referenzseite wp_insert_post () enthält keine Dokumentation zur Verwendung von wp_insert_post () zum Hochladen auf eine bestimmte Site im Netzwerk.

Wie kann ich das mit wp_insert_posts () machen? Oder ist ihre andere Funktion, die dies tut?

Wipqozn
quelle
1
Warum nicht switch_to_blog verwenden, um Ihre Beiträge einzufügen?
Konus

Antworten:

9

Wenn wp_insert_post()Sie Funktionen wie " Es" verwendet, funktioniert dies für das derzeit aktive Blog. Wenn Sie sich in einem Blog in Ihrem Netzwerk mit "blog_id" 2 befinden, wird der Beitrag, den Sie mit wp_insert_post() einfügen, in dieses Blog eingefügt.

Wenn Sie nun den Beitrag in ein bestimmtes Blog einfügen möchten, können Sie eine switch_to_blog()Funktion verwenden, die WordPress mitteilt, dass "das aktuelle Blog ist", sodass Sie wp_insert_post()in diesen bestimmten Blog einfügen können .

Um WordPress dann mitzuteilen, dass es sich um das aktuelle Blog handelt, können Sie Folgendes verwenden restore_current_blog():

switch_to_blog($wanted_blog_ID);
...
...
your wp_insert_post() stuff
...
...
restore_current_blog();

Schauen Sie sich die WPMU-Funktionen an, um mehr über die verfügbaren Funktionen in einem Netzwerk zu erfahren .

Bainternet
quelle