- Statut : non résolu
- Ce sujet contient 6 réponses, 3 participants et a été mis à jour pour la dernière fois par Lumiere de Lune, le il y a 9 années et 7 mois.
-
AuteurMessages
-
2 mars 2015 à 12 h 28 min #547779
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 4.1.1
– Version de PHP/MySQL :
– Thème utilisé : le mien
– Extensions en place : aucune
– Nom de l’hebergeur : STRATO
– Adresse du site :Problème(s) rencontré(s) :
Bonjour,
J’ai un affichage de mes Custom Post Type « evenements » dans le tableau de bord wordpress avec des colonnes supplémentaires que j’ai ajouté et un tri sur une de ces colonnes.
La colonne en question est la date de l’évènement (date obtenue par Datepicker).Mais le tri sur cette colonne ne se fait pas bien.
Voici mon code (1er essai) :
add_filter(« manage_edit-evenements_sortable_columns », « evenements_date_column_register_sortable »);
function evenements_date_column_register_sortable( $columns ) {
$columns[‘date_evenement’] = ‘date_evenement’;
return $columns;
}
add_filter(« request », « evenements_date_column_orderby » ); // FONCTIONNE AUSSI ….. A REVOIR
function evenements_date_column_orderby( $vars ) {
if ( isset( $vars[‘orderby’] ) && ‘date_evenement’ == $vars[‘orderby’] ) {
$vars = array_merge( $vars, array(
‘meta_key’ => ‘date_evenement’,
‘orderby’ => ‘meta_value_num’
) );
}
return $vars;
}et le résultat du tri de ce code :
2012/10/27
2012/11/23
2012/02/09
2012/03/08
2012/04/19
2012/05/24
2012/07/08
2012/09/15
2012/09/20et le deuxième essaie
add_action( ‘pre_get_posts’, ‘evenements_date_column_orderby’ );
function evenements_date_column_orderby( $query ) {
if( ! is_admin() )
return;
$orderby = $query->get( ‘orderby’);
if( ‘date_evenement’ == $orderby ) {
$query->set(‘meta_key’,’date_evenement’);
$query->set(‘orderby’,’meta_value_num’);
}
return $query;
}qui donne le même résultat.
J’ai essayé de mettre la forme 2012/2/9 pour les date (yy/m/d) mais cela ne change rien…
Avez-vous une idée du problème ?
merci pour votre aide
Timama
2 mars 2015 à 12 h 31 min #997197tu enregistres la date sous quel format ?
pour que le tri fonctionne, enregistre le au format timestamp2 mars 2015 à 12 h 39 min #997198Merci pour ta réponse mathieu9512.
Je ne te cache pas que je me pose la question du format depuis le début où j’utilise Datepicker.
Et je ne sais pas où est le format (interne dans datepicker ?)J’ai cela
// Date de l’évènement
$custom_date = get_post_custom($post->ID);
$date_evenement = $custom_date[« date_evenement »][0];
?>
<label for="date_evenement"> Date de l’évènement : </label>
<input type="text" name="date_evenement" id="date_evenement" value=" » />Avec le save suivant :
if(isset($_POST[‘date_evenement’])){
update_post_meta($post->ID, « date_evenement », $_POST[« date_evenement »]);
}Mais là il n’y a pas de format…. ou seulement là (javascript qui va avec datpicker)
jQuery(function($) {
$( « #date_evenement » ).datepicker({ dateFormat: ‘yy/mm/dd’ });
});Dans ce cas précis, où pourais-je mettre le format timestamp ?
là j’avoue, je suis nulle en format 😉2 mars 2015 à 12 h 49 min #997199et pourtant, c’est bizarre car je fais aussi un tri pour l’affichage des événements sur une page, tri par rapport à la date, et là cela m’affiche bien les évènements dans l’ordre… il n’y a que pour le tri « colonne » dans le tableau de bord de wordpress que cela tri bizarrement….
Pourquoi y aurait il une différence entre les 2 ?
2 mars 2015 à 13 h 02 min #997200essaye ça dans le code JavaScript
dateFormat: ‘@’
2 mars 2015 à 13 h 54 min #997202Dans le cas de dates formattées sous la forme yyyy/mm/aa il ne faut pas faire un tri numérique, mais un tri alphabétique, ça marche très bien. Un tri numérique sur une chaine comprenant des caractères autres ne fonctionnera pas
2 mars 2015 à 14 h 12 min #997201merci beaucoup mathieu9512, j’ai pas eu le temps de tester ta réponse car je « débuggais » quelque chose.
Et puis Lumière de Lune a répondu. Et effectivement ça fonctionne très bien avec le tri alphabétique !
Et en fait, oui, c’est logique.
Donc merci beaucoup aussi à Lumière de Lune, qui a encore résolu un de mes problèmes 😉 -
AuteurMessages
- Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.