J'essaie d'afficher des catégories en tant qu'éléments de résultats de recherche en plus des résultats search.php
. Il ne semble pas exister de fonction WordPress standard ni de WP Query pour effectuer une recherche dans les catégories. J'ai donc pensé écrire ma propre déclaration MySQL.
SELECT DISTINCT t.*, tt.*
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id
WHERE tt.taxonomy IN ('category') AND (t.name LIKE 'hout')
ORDER BY t.name ASC
Dans l'exemple ci-dessus, le terme recherché est "hout". Cependant, cela ne semble pas donner de résultats. Pouvez-vous voir quelque chose de mal avec ma requête?
Ou connaissez-vous une autre manière d’inclure des catégories dans les résultats de recherche?
On dirait que vous recherchez la fonction get_terms()
qui est un wrapper pour WP_Term_Query
.
Là vous pouvez par exemple utilisez les paramètres name__like
, description__like
ou search
.
Exemple:
Voici quel type de requête WHERE
ils génèrent:
'name__like' => 'hout' >>> (t.name LIKE '%hout%')
'description__like' => 'hout' >>> tt.description LIKE '%hout%'
'search' => 'hout' >>> (t.name LIKE '%hout%') OR (t.slug LIKE '%hout%')