J'ai un type de message personnalisé (CPT) appelé event
. Chaque événement a un meta_key
associé appelé event_date
.
Je veux m'assurer que les événements avec event_date
vide n'apparaîtront pas dans ma liste de tous les événements et dans la navigation des événements précédents/suivants lors de la visualisation d'un seul événement. Je veux aussi classer les événements par la event_date
meta_key.
J'ai réussi à exclure les événements avec event_date
vide et à les classer correctement dans la liste générale des événements en les raccordant à pre_get_posts
.
Est-il possible de connecter des fonctions prev_post_link
et next_post_link
pour spécifier la condition de sélection meta_key
et la condition d'ordre meta_key
sans le plug-in? Y a-t-il un crochet pour ça?
[P.S. note]: J'ai aussi essayé d'utiliser le plugin Ambrosite Next/Previous Post Link Plus . J'ai compris comment commander des événements par meta_key. Cependant, les événements avec event_date
meta_value vide apparaissent toujours dans la navigation précédente/suivante lors de l'affichage d'un seul événement.
Il ne semble pas possible de se connecter à WP avant le plug-in, car je pense qu'il construit son propre code SQL. Je pourrais utiliser ex_posts
avec la liste de tous les identifiants d’événement à exclure, mais cela signifierait une requête supplémentaire à la base de données.
Merci beaucoup, Dasha
J'ai fini par utiliser le plugin Ambrosite Next/Previous Post Link Plus .
En ce qui concerne une clé méta event_date
vide - j'ai ajouté du code pour empêcher l'enregistrement d'une publication si la valeur de la clé méta n'est pas correcte.
Regardez ces messages:
prev et next_post_link appellent finalement la fonction get_adjacent_post pour interroger la base de données, qui a pour filtre $ join $ where $ et $ sort vars.