- Statut : non résolu
- Ce sujet contient 8 réponses, 3 participants et a été mis à jour pour la dernière fois par
erehcab, le il y a 15 années et 8 mois.
-
AuteurMessages
-
7 septembre 2009 à 12 h 10 min #473701
Bonjour à tous,
Ma configuration WP actuelle
– Version de WordPress : 2.8.3
– Thème utilisé : personnel
– Nom de l’hebergeur : localhost
– Adresse du site : localhostProblème(s) rencontré(s) :
J’utilise régulièrement dans mes thèmes WP l’objet WP_Query pour appeler un article ou bien une page en particulier. Je l’utilise de cette manière :
<?php
$my_query = new WP_Query('page_id=1');
while ( $my_query->have_posts() ) : $my_query->the_post();
…..
endwhile;
?>Régulièrement cela me pose des problèmes, par exemple lorsque je fais appel à cette objet et qu’après j’utilise le plugin breadcrumb; le fils d’arianne m’affiche le titre de l’élément chargé via l’objet appeler Wp_Query juste avant. Autre exemple; parfois je fais un appel de page ou article via Wp_Query il malgré le fait que la page existe bien et que l’appel est bien fait l’instance de l’objet ne contient aucune donnée …
J’ai d’abord pensé que la variable $my_query était une variable globale et que je l’écrasait en stockant l’instance de l’objet Wp_Query dedans mais même en changeant le nom de la variable j’ai toujours le problème.
Quelqu’un sait il pourquoi ça fait ça ?
7 septembre 2009 à 12 h 26 min #689110certains plugins vont se hooker sur toute query pour la modifier… essaye sans aucun plugin pour voir ce que cela donne…
7 septembre 2009 à 12 h 44 min #689111Merci pour ta réponse.
Effectivement ça à l’air de fonctionner pour le cas ou l’instance de l’objet ne contenait aucune valeurs alors que l’appel était bien fait .
Comment je peux faire les empêcher de se hooker sur toute les query ?
Je viens de me rendre compte que la cause est le plugin breadcrumb-navxt qui amenait le problème.
7 septembre 2009 à 13 h 40 min #689112pour les empêcher de se hooker, il faudrait que tu fasses un remove_action de l’action sur laquelle le plugin s’est hooké.
7 septembre 2009 à 13 h 55 min #689113Comment je peux repérer le hook dans le plugin ?
7 septembre 2009 à 15 h 51 min #689114il faut que tu édites le source et que tu fasses une recherche sur add_action ou add_filter
7 septembre 2009 à 19 h 11 min #689115Je suis pas sûr d’avoir bien compris ton problème, mais je crois que tu dois appeler wp_reset_query après le while. Comme ça, tu reviens à l’object wp_query précédent (c’est pas tout à fait ça, mais je sais pas comment t’expliquer en français 🙂 ).
have_posts() ) : $my_query->the_post();
…..
endwhile;
wp_reset_query();
?>7 septembre 2009 à 20 h 51 min #689116J’ai essayé plusieurs fois la fonction wp_reset_query(); mais ça ne fonctionnait pas … Je vais re faire un test 🙂
1 octobre 2009 à 12 h 02 min #689117J’ai dût faire quelque choses en dur parce que j’avai pas le temps de trop chercher mais aujourd’hui je m’y suis remis et la seul manière de le faire fonctionner sans qu’il vienne modifier la requête générale ça a été de mettre ce code :
$my_query = new WP_Query(‘p=1&showposts=1’);
while ( $my_query->have_posts() ) : $my_query->the_post();
print $post->post_content;
endwhile;
wp_reset_query();le wp_reset_query() remet la boucle à zéro alors que le rewind_posts() ne fonctionne pas dans mon cas.
Bizarre, bizarre ….
-
AuteurMessages
- Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.