Je veux montrer 8 produits récents de plusieurs auteurs sur la page d'accueil. Besoin d'afficher 1 produit récent par auteur.
Actuellement, j'utilise une requête de base wp pour afficher les 8 derniers produits.
$args = array (
'post_type' => array( 'product' ),
'posts_per_page' => '8',
'order' => 'DESC',
'orderby' => 'date',
);
// The Query
$query = new WP_Query( $args );
Quel est le meilleur moyen d'y parvenir?
Je pense que vous pouvez obtenir cet effet en regroupant la requête par ID d’auteur, ce qui nécessitera un filtre ( principalement cribbed à partir du Codex ):
function my_posts_groupby($groupby) {
global $wpdb;
$groupby = "{$wpdb->posts}.post_author";
return $groupby;
}
add_filter( 'posts_groupby', 'my_posts_groupby' );
Si vous avez moins de 8 auteurs, cela ne fonctionnera pas. (Vous obtiendrez un nombre de résultats égal à votre nombre d'auteurs.) Si tel est le cas, vous aurez besoin d'une logique beaucoup plus compliquée et d'un code beaucoup plus compliqué.