Je crée une section sur un site où je fusionne deux types de messages différents en une seule boucle, puis les affiche au hasard. Le problème est que j'ai du mal à trouver un moyen de limiter la quantité de messages par type.
Voici ce que j'ai essayé:
Une requête avec plusieurs types de publication peut être réalisée avec un tableau:
$args = array( 'post_type' => array( 'photos', 'quotes' ), ...
... mais ne peut se limiter à un certain nombre de publications par type.
Fusion de deux tableaux d'arguments de requête avant d'exécuter WP_Query dessus:
$photos = array( 'post_type' => 'photos', 'posts_per_page' => 15, 'orderby' => 'rand' ); $quotes = array( 'post_type' => 'quotes', 'posts_per_page' => 5, 'orderby' => 'rand' ); $args = $photos + $quotes; // Also tried array_merge( $photos, $quotes );
Pas de chance là-dessus. Ce qui se passe, c'est que cette dernière variable
$quotes
écrase$photos
et n'affiche que les guillemets.Fusion de deux objets WP_Query ensemble par le transtypage:
$photos_query = new WP_Query( $photos ); $quotes_query = new WP_Query( $quotes ); $result = (object)array_merge( (array)$photos_query, (array)$quotes_query );
... etc.
Je pourrais probablement utiliser une requête SQL directement dans la base de données, mais je dois pouvoir combiner ces deux types de messages séparés pour une boucle, disposés de manière aléatoire ET limités à une certaine quantité de messages par type.
Merci de votre aide!