WordPress : Faites en sorte que Next et Previous sur single-$posttype.php utilisent le même ordre que archive-$posttype.php
J’ai des événements de type de publication personnalisés et j’affiche ces événements en utilisant archive-events.php et single-events.php à partir de la hiérarchie des modèles. J’ai une requête personnalisée dans archive-events.php
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$events_query = new WP_Query( array (
'post_type' => 'events',
'orderby' => 'meta_value',
'meta_key' => '_fulldate',
'order' => 'ASC',
'paged' => $paged,
'meta_query' => array ( array(
'key' => '_fulldate',
'value' => $cutoff_date,
'type' => 'numeric',
'compare' => '>' ) ) )
);
Cela affiche les événements dans l’ordre de la date de l’événement (par opposition à la date publiée). Tout fonctionne bien jusqu’à ce que je mette previous_post_link()
et next_post_link()
dans single-events.php. Ce qui se passe alors, c’est que les liens suivant et précédent m’amènent à l’événement suivant et précédent par date de publication plutôt que par date d’événement.
Je suis un peu confus quant à la façon dont events-single.php est censé savoir quel est le prochain événement. Dois-je faire une sorte de requête là-dessus aussi, parce que je ne le suis pas pour le moment ? C’est juste un fichier « unique » standard.
Quelqu’un pourrait-il m’aider, j’ai été de haut en bas et je ne sais pas comment le faire.
Solution n°1 trouvée
Vous avez probablement besoin d’un filtre get_{$adjacent}_post_join
et get_{$adjacent}_post_sort
de les faire fonctionner.
Toutes mes excuses, mais je n’ai pas le temps pour le moment de travailler sur les filtres et de les déboguer, mais peut-être que cela vous aidera à démarrer.
0 commentaire