it-swarm.com.de

Benutzerdefinierte Abfrage zum Durchsuchen von Kategorien

Ich versuche, Kategorien als Suchergebniselemente über den search.php-Ergebnissen anzuzeigen. Es scheint keine Standard-WordPress-Funktion oder WP-Abfrage zum Durchsuchen von Kategorien zu geben, daher habe ich mir vorgenommen, meine eigene MySQL-Anweisung zu schreiben.

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

Im obigen Beispiel lautet der Suchbegriff "hout". Dies scheint jedoch keine Ergebnisse zu liefern. Kannst du irgendetwas falsch mit meiner Abfrage sehen?

Oder kennen Sie eine andere Möglichkeit, Kategorien als Suchergebniselemente einzuschließen?

1
Pim

Es hört sich so an, als ob Sie nach der Funktion get_terms() suchen, die ein Wrapper für WP_Term_Query ist.

Dort können Sie z. Verwenden Sie die Parameter name__like, description__like oder search.

Beispiel:

Hier ist die Art der WHERE Abfrage, die sie generieren:

'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%')
1
birgire