NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.
Publié le : 20 février 2021 - Modifié le : 24 février 2022
Temps de lecture : 2 minutes, 9 seconds - 224 mots
Partager la publication "Créer une requête dans un multisite WordPress"
Nous allons dans ce tutoriel comprendre comment créer une requête dans un multisite WordPress pour obtenir des résultats d’un post type venant d’un site web défini dans le multisite.
Pour cela nous allons utilisé la fonction switch_to_blog(); et définir le blog ID qui correspondons à l’ID du site web ou on souhaite extraire les résultats de notre post type.
Dans notre exemple ci-dessous, nous allons renvoyer nos résultats dans un shortcode du nom de [listeentreprises]. Ce shortcode affichera les résultats par exemple dans une page d’un autre site web du multisite.
Donc comme nous indiquons ci-dessous, il faut faire notre switch_to_blog(3); et la fermer par la restore_current_blog(); ce qui fait globalement la requête en multisite. L’ID 3 dans notre parenthèse correspond à l’ID de notre site web.
////////////////////////////////////////////// Shortcode Afficher entreprises ///////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////// add_shortcode('listeentreprises', 'themespress_afficher_entreprise'); function themespress_afficher_entreprise() { // Requete de l'ID de notre site web switch_to_blog(3); // préparer la query pour récupérer le post type à afficher $args = array( 'post_type' => 'votreposttype', 'posts_per_page' => -1, 'order' => 'ASC', 'orderby' => 'title', ); $the_query = new WP_Query( $args ); echo'<ul>'; while ( $the_query->have_posts() ) { $the_query->the_post(); echo '<li>' . get_the_title() . '</li>'; } echo'</ul>'; // revenir à Local d’abord restore_current_blog(); return $entreprise; }
Afficher une vue formidable form dans un multisite WordPress
Nous avons créer une vue de notre résultats formulaires qui créaient des entrées Post Types entreprise.
Nous effectuons donc, la même façon, de faire un shortocde, et nous faisons un return de notre shortcode Vue Formidable Form.
Notre shortcode sera dans notre exemple [vuespost]. Ce shortcode affichera les résultats par exemple dans une page d’un autre site web du multisite.
Remplacez-le par le votre.
//////////////////////////////// Afficher vue formidable form /////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////// add_shortcode('vuespost', 'themespress_vuesPOST_shortcode'); function themespress_vuesPOST_shortcode(){ // Requete de l'ID de notre site web switch_to_blog(3); $output = do_shortcode('[display-frm-data id=25033]'); restore_current_blog(); return $output; }