web-dev-qa-db-fra.com

Comment accrocher get_terms () pour afficher uniquement le nombre de publications ayant une méta personnalisée

Voici ce que j'ai

Un type d'article personnalisé qui a une méta valeur personnalisée ajoutée à un article qui stocke la date d'expiration des articles. Lorsque la poste dépasse cette date d'expiration, elle n'apparaît plus sur le site.

Cela fonctionne, mais j'utilise quelque chose comme ceci pour répertorier les termes du type de publication personnalisé:

$termcats = get_terms('dcategory', 'hide_empty=0&orderby=name&pad_counts=1');

Je montre le nombre de messages dans les termes énumérés, mais le problème ici est que le nombre affiche tous les messages, que celui-ci soit expiré ou non. Ainsi, par exemple, j'ai un message dans le terme appelé test et ce message est expiré. Le code ci-dessus montre qu'il y a un article, mais lorsque l'utilisateur clique sur la catégorie, il obtient une liste vide.

J'ai donc besoin d'un moyen de se connecter à get_terms () pour ignorer les publications qui ont expiré en fonction de mon champ de date dans des méta-valeurs.

3
Brady

Autant que je me souvienne, les chiffres relatifs aux termes sont stockés dans une base de données. Il n'y a donc rien à modifier lorsque vous les récupérez. Vous obtenez simplement des nombres prêts à l'emploi.

Vous devrez donc soit implémenter et gérer votre logique spéciale pour les comptages de manière complètement séparée, soit tenter de recalculer et de modifier les comptages natifs, voir wp_update_term_count_now().

2
Rarst