Pour un besoin client j’ai du afficher les post via le widget Elementor Post / Elementor Publications par l’ordre de date et heure Ascendant. Le champ heure et date est géré via un sélecteur de date et heure dans ACF, car les posts sont crées via ACF.
Voici le code à ajouter à votre functions.php. Les lignes en surbrillances sont à modifier à votre convenance.
Egalement il faudra modifier le champ filtrage serveur dans le widget d’Elementor afin de filtrer avec la fonction que vous venez de créer.
Dans mon cas, le champ ACF se nomme date_et_heure, je l’affiche de manière DESC et ligne 17 je génère le nom de la requête (ce que je vais noter dans le widget elementor justement)
function filter_posts_by_acf_date( $query ) {
// Vérifiez que la meta_key 'date_et_heure' existe
$meta_query = array(
array(
'key' => 'date_et_heure',
'compare' => 'EXISTS',
),
);
$query->set( 'meta_key', 'date_et_heure' );
$query->set( 'orderby', 'meta_value' );
$query->set( 'order', 'DESC' ); // Pour un ordre décroissant. Utilisez 'ASC' pour un ordre croissant.
$query->set( 'meta_query', $meta_query );
}
// Remplacez 'filtrage_date' par l'ID de votre requête personnalisée que vous avez défini dans l'widget Elementor
add_action( 'elementor/query/filtrage_date', 'filter_posts_by_acf_date' );
2 Responses
Hey would you mind sharing which blog platform you’re using?
I’m looking to start my own blog in the near future but I’m
having a tough time choosing between BlogEngine/Wordpress/B2evolution and Drupal.
The reason I ask is because your layout seems different then most blogs and I’m looking for something completely unique.
P.S Apologies for being off-topic but I had to ask!
Hi, wordpress of course