Je travaille sur un réseau de blogs multisites où je dois afficher les publications récentes sur ma page d'accueil, 10 publications par navigation.
Je l'ai implémenté en utilisant l'objet wpdb avec une instruction SQL complexe.
get_blog_list
wpdb->get_result
utilisé pour obtenir la liste des publications de tous les sous-sitesJ'ai récemment commencé à travailler sur PHP et WordPress et je l'apprends toujours.
Est-ce que l'utilisation de l'objet wpdb
est la bonne manière dans cette situation? J'ai lu dans de nombreux articles qui utilisent l'objet WP_Query
. Je ne sais pas comment utiliser l'objet WP_Query
dans cette situation?
Aidez-moi à mettre cela en œuvre de manière juste/meilleure.
Vous pouvez utiliser votre liste d'identifiants de blog de cette façon ...
$posts = array();
foreach ( $your_list_of_blog_ids as $blog_id ) {
switch_to_blog( $blog_id );
$query = new WP_Query(
array(
'post_type' => 'any',
'posts_per_page' => 10,
)
);
while ( $query->have_posts() ) {
$query->next_post();
$posts[] = $query->post;
}
restore_current_blog();
}
Les points importants sont switch_to_blog et restore_current_blog . Le reste du code est juste là pour illustrer l'idée.