web-dev-qa-db-fra.com

Utilisation de wp_insert_post () avec la mise en réseau activée

Je travaille sur un script qui va déposer des articles directement dans la base de données wordpress, en utilisant wp_insert_posts (). Cependant, j'ai networking enabled et la page de référence wp_insert_post () ne contient aucune documentation relative à l'utilisation de wp_insert_post () pour le téléchargement sur un site spécifique du réseau.

Comment puis-je faire cela avec wp_insert_posts ()? Ou est leur autre fonction qui fait cela?

7
Wipqozn

Lorsque vous utilisez une fonction telle que wp_insert_post(), cela fonctionnera sur le blog actuellement actif, ce qui signifie que si vous êtes sur un blog de votre réseau avec blog_id of 2, le message que vous insérez à l'aide de wp_insert_post() sera inséré dans ce blog.

Maintenant, si vous souhaitez insérer le message dans un blog spécifique, vous pouvez utiliser la fonction switch_to_blog() qui indiquera à WordPress que "le blog actuel est", vous pouvez donc utiliser wp_insert_post() pour l'insérer dans ce blog spécifique.

Ensuite, pour dire à WordPress que quel est le vrai blog actuel, vous pouvez utiliser restore_current_blog() ainsi:

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

jetez un coup d'œil à Fonctions WPMU pour en savoir plus sur les fonctions disponibles dans un réseau.

9
Bainternet