NB: Make sure you do a back up of your theme, files and database before attempting the tutorials
Last modified : Jul 07 2021
Estimated reading time : 2 minutes, 13 seconds - 238 words
Share the post "Create a Query With a WordPress Multisite Network"
In this tutorial we will show how to create a query that will pull a specific website’s post type within the multisite network.
In order to attain this, we will use the switch_to_blog(); function and find the blog ID that matches the website’s ID where we want to pull the post type data from.
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. In the example below, we will generate our results with a shortcode titled [listeentreprises]. This shortcode will display the results on a page of another website from the multisite network.
We need to create our switch_to_blog(3) and close it with restore_current_blog which will create the multisite query. The ID 3 is our website’s ID.
////////////////////////////////////////////// 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
We have now created our results which included entreprise Post Type.
Following the same logic, we will create a shortcode and a return shortcode with Vue Formidable Form.
Our shortcode in the example below will be [vuespost]. This shortcode will display the results in a page of another website within the multisite network
Replace it by yours.
//////////////////////////////// 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;
}NB : Make sure to do a backup of your theme and dabatase before using these functions.