J'essaie de trier une page d'archive en utilisant une valeur de clé méta (qui se trouve être un horodatage Unix). Actuellement, j'ai les publications répertoriées sur la page par leur date de création WordPress. Je souhaite utiliser la clé méta, qui est une date différente de la date de création WP.
Le code est assez simple à ce stade, il suffit d’utiliser The Loop pour afficher les publications à l’aide d’un modèle:
<?php
while (have_posts()) : the_post();
Template code here
endwhile;
?>
Comment puis-je afficher les publications par les dates de méta-valeur au lieu de la date de création WP?
Utilisez pre_get_posts
pour modifier la requête principale avant son exécution. L'action s'exécute sur chaque requête. Utilisez les balises conditionnelles pour cibler des requêtes spécifiques.
function wpd_sort_by_meta( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'meta_key', 'your_meta_key' );
$query->set( 'orderby', 'meta_value_num' );
}
}
add_action( 'pre_get_posts', 'wpd_sort_by_meta' );