- Statut : non résolu
- Ce sujet contient 16 réponses, 3 participants et a été mis à jour pour la dernière fois par luciole135, le il y a 10 années et 2 mois.
-
AuteurMessages
-
2 octobre 2014 à 8 h 20 min #542541
Bonjour,
Problème(s) rencontré(s) :
Je suis confronté à un problème que je n’arrive pas à résoudre depuis plusieurs heures.
Je cherche à faire un query_posts pour récupérer des post dont le custom field (qui correspond à une date de fin au format YYYYMMDD) est supérieure ou égale à la date du jour au format YYYYMMDD.Mon code (ci-joint) ne fonctionne pas et me sort des post qui ne correspondent pas à ma query mais ce qui m’embête c’est que lorsque je modifie la value de ma meta_query par 20141002, tout fonctionne normalement… Donc si quelqu’un voit le problème ! 😉
<?php wp_reset_postdata();?>
<?php $yearmonthday = date('Ymd'); ?>
<?php $args = array(
'posts_per_page' => 3,
‘post_type’ => ‘evenement’,
‘meta_query’ => array(
‘key’ => ‘fin_evenement’,
‘value’ => $yearmonthday,
‘compare’ => ‘>=’
),
‘meta_key’ => ‘fin_evenement’,
‘orderby’ => ‘meta_value_num’,
‘order’ => ‘ASC’
); ?>
<?php query_posts( $args ); ?>2 octobre 2014 à 8 h 59 min #974541Pourquoi utilisez-vous cette fonction query_posts alors que le CODEX précise qu’il ne faut pas l’utiliser ?
This function isn’t meant to be used by plugins or themes
2 octobre 2014 à 10 h 20 min #974542Erreur de ma part. J’ai mis à jour avec WP_Query mais aucune différence sur mon problème…
2 octobre 2014 à 10 h 26 min #974543faites un
var_dump($yearmonthday);
pôur vérifier son format
2 octobre 2014 à 13 h 23 min #974544Bonjour luciole135,
var_dump me renvoit :
string( « 20141002 »C’est donc le bon format…
2 octobre 2014 à 13 h 24 min #974545Donc le problème n’est pas situé sur cette partie du code.
2 octobre 2014 à 13 h 37 min #974546Non mais quand j’echo $yearmonthday j’ai bien 20141002 qui ne passe pas ensuite sur la value de ma meta_query ; alors que quand je mets directement 20141002 sur la value de ma meta_query, tout fonctionne normalement !
Il y a surement bien un problème de format de passage de variable…
2 octobre 2014 à 13 h 56 min #974547Ah, c’est certainement car vous fermez la session PHP prématurément !
supprimez ces fermetures et ouvertures inutiles, pour voir !3,
‘post_type’ => ‘evenement’,
‘meta_query’ => array(
‘key’ => ‘fin_evenement’,
‘value’ => $yearmonthday,
‘compare’ => ‘>=’
),
‘meta_key’ => ‘fin_evenement’,
‘orderby’ => ‘meta_value_num’,
‘order’ => ‘ASC’
); ?>2 octobre 2014 à 14 h 00 min #974548Je viens d’essayer et ça ne résout malheureusement pas le problème…
2 octobre 2014 à 14 h 04 min #974549faite un var_dump sur $args pour voir.
2 octobre 2014 à 14 h 55 min #974550J’obtiens cela :
array(6) { [« posts_per_page »]=> int(3) [« post_type »]=> string(9) « evenement » [« meta_query »]=> array(4) { [« key »]=> string(13) « fin_evenement » [« value »]=> string( « 20141002 » [« type »]=> string(7) « NUMERIC » [« compare »]=> string(2) « >= » } [« meta_key »]=> string(13) « fin_evenement » [« orderby »]=> string(14) « meta_value_num » [« order »]=> string(3) « ASC » }
2 octobre 2014 à 14 h 59 min #974551Peut-être un problème sur votre version de PHP ?
2 octobre 2014 à 15 h 03 min #974552Je suis sur MAMP, PHP version 5.5.10
2 octobre 2014 à 15 h 17 min #974553essayez une autre version de php ou un problème de configuration de mamp car il n’y a pas d’erreur dans ce code
2 octobre 2014 à 15 h 21 min #974554$yearmonthday = (int)date(‘Ymd’);
-
AuteurMessages
- Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.