NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.

Créer une requête dans un multisite WordPress
Intermédiaire
Hébergement Web Canada

Publié le : 20 février 2021 - Modifié le : 24 février 2022

Temps de lecture : 2 minutes, 9 seconds - 224 mots

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;
}

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>