- WordPress :6.7
- Statut : résolu
- Ce sujet contient 38 réponses, 5 participants et a été mis à jour pour la dernière fois par
PatJ07, le il y a 1 mois et 3 semaines.
-
AuteurMessages
-
11 février 2025 à 18 h 37 min #2485733
Bonjour à tous,
Je me forme sur WordPress et j’utilise le thème twenty twenty five.
Je ne parviens pas à obtenir le résultat que je souhaite avec la page « Toutes les archives ».
Mon problème est que dans cette page, j’ai des boucles de requêtes qui m’affichent les articles de toutes les catégories, pas seulement les articles de la catégorie sélectionnée.
J’ai vu dans une vidéo youtube de wordpress (de Grégoire Noyelle, très intéressante merci à lui) que le paramètre « type de requete » Par défaut / Personnalisé influe sur ce comportement. Si je suis sur « Par défaut », ma page ne m’affiche bien que les articles de ma catégorie en court, c’est ok.
Mais je ne peux pas faire des réglages différents sur les différentes boucles de requête présentes sur la page. Par exemple une première boucle avec deux extraits d’articles et leur image mise en avant, puis avoir en dessous un autre bloc avec plusieurs extraits d’articles sans image.
Si je passe le paramètre « type de requête » sur Personnalisé, alors j’ai des réglages (nombre de publications, ordre, etc…) mais dans ce cas, la page affiche les articles de toutes les catégories.
Bref, il y a un truc que je dois louper, mais je ne vois pas où.
Quelqu’un peut-il m’aiguiller ?
11 février 2025 à 18 h 57 min #2485742Bonjour,
Vous oubliez probablement de faire un reset entre deux boucles.
Avant votre boucle, il faut avoir ces 2 lignes :
ob_start();
wp_reset_postdata();Et après votre requête, ces 2 lignes-ci :
wp_reset_query();
return ob_get_clean();Et pareil pour la boucle suivante : les 2 lignes avant / les 2 lignes après
12 février 2025 à 8 h 13 min #2485771Bonjour
Merci pour la réponse.
Mais je ne fais pas du tout de code, et ce n’est pas trop mon but. J’utilise l’éditeur de wordpress pour la modification de mon modèle, je n’ai pas de compétence en codage.
Intégrer ce bout de code via l’éditeur est-il possible ? Je vais chercher.
Je suis sur un site fraîchement installé localement avec wamp, afin de me former à cette version de wordpress avant de mettre en ligne le blog d’une association. Je trouve curieux ce comportement, et curieux aussi qu’il soit nécessaire de faire du code pour changer cela.
Ce « reset » est-il possible par paramétrage dans l’éditeur de wordpress ?
Merci
Patrice
12 février 2025 à 9 h 09 min #2485773Re bonjour
J’ai tenté d’ajouter un bloc « code » devant et derrière ma boucle de requête pour ajouter le code indiqué ci-dessous. Mais cela ne semble pas être la solution, cela affiche le code, mais ça ne l’exécute pas. Même vaine tentative pour le bloc « code court ».
Bon je m’en doutais un peu mais qui ne tente rien n’a rien.
Depuis l’éditeur, j’ai aussi créé une nouvelle composition « Archive des catégories » virege, que j’ai créé pour une de mes catégorie. J’ai ajouté une boucle de requête dans cette composition. Mais cela ne fonctionne pas mieux. Bien que cette composition soit pour une catégorie donnée, les boucles de requête affichent les articles de toutes les catégories.
Est-ce le comportement normal ? Cela me semble surprenant.
Merci
Patrice
12 février 2025 à 10 h 09 min #2485774Bonjour,
J’ai eu l ‘occasion de répondre pour cette problématique dans cet ARTICLE
12 février 2025 à 10 h 33 min #2485776Bonjour,
Merci Rock4Temps. J’avais vu cet article, et j’ai vu les vidéos indiquées.
Cela ne réponds pas à mon besoin. Certes, si on garde le modèle « Toutes les archives » inchangé, il n’affiche que les articles d’une catégorie donnée.Malheureusement, le réglage « par défaut » se limite à un réglage de quantité d’articles affichés par la boucle (que l’on paramètre dans « réglages>lecture » de wordpress, ou alors j’ai loupé quelques chose ce qui est fort possible).
Mais si je veux deux boucles de requêtes avec deux réglages différents (par exemple une avec 2 articles qui sont les deux derniers articles, puis une autre avec 4 articles qui sont les 4 articles suivants, avec une présentation différente), je suis obligé de ne pas utiliser le réglage « par défaut » et cela ne fonctionne plus: tous les articles sont affichés.
Ou alors je loupe quelque chose dans le principe de fonctionnement, ce qui est très possible également.
Merci
Patrice
12 février 2025 à 11 h 26 min #2485777Bonjour,
Cela est possible, avec ce qu’on appelle des variantes de boucle de requête.
Cette variante a ce qu’on appelle un espace de nom qui permet de la différencier au niveau de la requête, du bloc boucle de requête natif de WordPress.
Mais bien entendu cela passe par du code, et cette variante apparaîtra dans l ‘intéresse de bloc de l’éditeur.
12 février 2025 à 13 h 20 min #2485779Bonjour
Ok, je trouve très curieux de devoir passer par du code pour faire cela, qui me semble pourtant assez basique comme besoin. Mais bon…
Pouvez-vous m’indiquer des infos sur la manière de faire cela ?
Merci
Patrice
12 février 2025 à 15 h 40 min #2485785Bonjour,
Faire une variation de block n’est pas du tout une chose facile, en particulier pour le block query loop. Pour vous donner une idée regardez ICI. Pour le moment les requêtes avec le block query loop sont très loin de pouvoir rivaliser en termes de flexibilité avec la méthode classique (sans blocks) qui demande du code (toutefois plus simple que pour les blocks) . Considérant les développements rapides du FSE il est certain que des variations du bloc requête deviendront accessibles en tant que plugins. Pour le moment je n’en connais qu’une qui soit raisonnablement utilisée: « Advanced Query Loop » ( mais vu que le FSE n’est pas ma tasse de thé à ce stade je n’ai pas très bien cherché; il y en a peut être d’autres. En tout cas, celle-ci devrait vous permettre de vous rapprocher de ce que vous voulez faire:
- Faire plusieurs boucles successives avec un style différent pour chaque boucle
- afficher une catégorie ou plus dans chaque boucle
- exclure des catégories
- à l’intérieur d’une catégorie ne montrer que certains articles
Bon, je trouve que ce n’est pas très commode d’emploi mais j’ai quand même réussi à m’en sortir 🙂 . C’est peut-être une solution. A essayer.
12 février 2025 à 18 h 00 min #2485798Le temps de tester la variation d’une boucle de requête établi au plus simple
avec du code PHP et tester OK, voir la démo ICI
ou vous avez le bloc boucle de requête natif pour afficher les articles, et la
variation du bloc boucle de requête en fin de page qui affiche un type de
publication personnaliséeVoici la procédure a suivre:
il faut d’abord créer un thème enfant a mettre dans le dossier wp-content/themes
pour cela je vous ai crée un dossier Zip a Télécharger ICI
Une fois de-zippé vous allez obtenir le dossier: twentytwentyfive-child
a mettre dans le dossier wp-content/themes
voici le contenu du dossier: twentytwentyfive-child
– functions.php
– style.css
– screenshot.pngDans le fichier function.php vous avez le code necessaire
pour créer une variation du bloc boucle de requête, déclarer
le thème enfant, plus des bonus qui pourront vous être utile
comme autoriser le téléchargement d’ un fichier au format SVG
dans la médiathèque par exemple pour votre Logo.Le fichier style.css vous permettra d’ajouter votre code CSS
par exemple pour personnaliser l’apparence de votre site.• A partir du menu Apparence / Themes activer le Thème
Twenty Twenty Five Child• Vous allez pouvoir maintenant a partir de l’inséreuse de bloc
de l’editeur (Icône +) insérer dans votre page
la variation du bloc boucle de requête, soous la catégorie Thème et
intitulé tout simplement:
Variation Du Bloc Boucle De Requête
(voir photo ci-jointe)
il vous restera a personnaliser le modèle ( image en avant, titre, affichage en grille ou liste etc..)
et a configurer aux paramètres du bloc votre requête.Ci dessous pour la communauté le code PHP pour la variation
du Bloc Boucle De Requête:/*******************************************************************************
Variation Bloc Boucle De Requête
*******************************************************************************/
/*
Cette variation du bloc boucle de requête, apparaitra dans l'inséreuse de blocs
sous la catégorie Thème avec le titre: Variation Du Bloc Boucle De Requête
Cette variation du bloc boucle de requête, peut être inséré dans la même
page que le bloc boucle de requête natif de l'editeur, mais avec une requête différente
il vous restera a personnaliser le modèle ( image en avant, titre, affichage en grille ou liste etc..)
et a configurer aux paramètres du bloc votre requête.
*/
function rc_query_loop_variations($variations, $block_type)
{
if ($block_type->name === 'core/query') {
$variations[] = [
'name' => 'rouergue-creation/query-loop-variation',
'title' => 'Variation Du Bloc Boucle De Requête',
'description' => 'Cette variation du bloc boucle de requête, peut être inséré dans la même
page que le bloc boucle de requête natif, mais avec une requête différente',
'category' => 'theme',
'icon' => 'admin-post',
'attributes' => [
'namespace' => 'rouergue-creation/query-loop-variation',
],
];
}
return $variations;
}
add_filter('get_block_type_variations', 'rc_query_loop_variations', 10, 2);Fichiers joints :
Vous devez être connecté pour voir les fichiers joints.12 février 2025 à 19 h 01 min #2485800Bonsoir
Alors tout d’abord un grand merci pour ce coup de main, je n’en espérais pas tant, merci !
Juste une question avant de me plonger là dedans: j’ai déjà un thème enfant, puis-je l’utiliser et y mettre vos fichiers ou bien le nom de votre thème enfant est-il inclut dans le code ? (désolé pour cette question qui peut peut-être paraître idiote, je ne maîtrise pas du tout le code de wordpress).
Merci encore
Patrice
12 février 2025 à 19 h 13 min #2485801Si vous avez déjà un thème enfant, pour votre problème
il vous suffit juste de copier/coller le code PHP
du message précédent dans le fichier functions.php
de votre thème enfant.Vous aurez alors la variation du bloc boucle de requête
disponible dans l’inséreuse de bloc.Bonne continuation pour votre projet.
12 février 2025 à 23 h 56 min #2485812Désolée, je ne repasse que ce soir. Rien dans votre 1er message n’indiquait que vous utilisiez le bloc « boucle de requête » … et j’ai foncé sur la version code. Je vois que finalement, vous envisagez de vous y mettre 😉
Ceci dit, soit si vous-même, vous galérez malgré le code fourni par @rock4temps, soit pour d’autres utilisateurs du forum qui liraient cette discussion, je vous indique une méthode beaucoup plus simple à l’aide d’une extension, qui permet l’affichage en grille ou en liste (ou même d’autres présentations) d’articles de différentes catégories selon différents paramètres. J’ai repéré ces trois-là, mais il en existe probablement d’autres :
- https://fr.wordpress.org/plugins/flex-posts/
- https://fr.wordpress.org/plugins/blog-designer-pack/
- https://fr.wordpress.org/plugins/content-views-query-and-display-post-page/ (la plus aboutie)
Comme ça, vous avez le choix de la méthode 🙂
13 février 2025 à 11 h 19 min #2485821Bonjour
@ Rock4Temps : Merci encore pour votre aide. J’ai donc installé tous les fichiers dans le nouveau thème enfant. Je trouve bien la nouvelle « variation de boucle de requête » et je l’ai mise en place. Mais elle se comporte comme la boucle de requête standard: Dès que je change le paramètre « type de requête » de « Par défaut » à « Pesonnalisée », alors la boucle affiche tous les articles de toutes les catégories et plus seulement les articles de la catégorie en cours.</span>
@ Flobogo : désolé du manque de précision concernant le « bloc ». Merci pour les liens vers des extensions, je vais regarder ça.
Pour le code, je dois dire que je n’ai vraiment pas trop la possibilité de m’y mettre: je m’occupe de deux sites d’associations en tant que bénévole, et même si le codage m’intéresse dans l’absolu, je fais face à un problème : les journée ne font que 24h…
Merci en tout cas pour votre aide à tous les deux.
Patrice
NB: message initialement marqué comme indésirable par le système (peut-être à cause de la balise
</span>
qui se « promène toute seule ?)13 février 2025 à 11 h 25 min #2485825Bonjour
« &@%$$ » ma réponse précédente a été perdue, je recommence :
Rock4Temps: Merci encore pour l’aide. J’ai donc utilisé le nouveau thème enfant avec vos fichiers, et j’ai bien la « variation de boucle de requête » disponible et je l’ai implémentée. Malheureusement, même résultat qu’avec la boucle de requête normale: dès que je passe la paramètre « type de requête » de « Par Défaut » à « Personnalisée », alors la boucle affiche les articles de toutes les catégories et plus seulement les articles de la catégorie en cours.
Juste pour comprendre : trouvez vous normal ce comportement ? Personnellement, je ne trouve pas.
Flobogo : Désolé pour l’imprécision concernant le « bloc ». Merci pour les liens vers les extensions, je vais regarder cela.
Patrice
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.