Wordpress query mit 2 's' Kriteriums in einer "oder" Beziehung

  • Ich habe ein query erstellt und möchte gerne 2 's' Kriteriums verwenden und demnach sollen mit dem ersten "Suchwort" oder zweiten "Suchwort" ausgegeben werden.

    derzeitiges Query sieht so aus:

    Es muss doch möglich sein, dass query wie bei einem meta query in eine Or Beziehung zu setzen oder?

    Oder muss ich zwei querys erstellen?

    Vielen Dank für die Hilfe.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich verstehe die Frage nicht. Die WordPress Suchfunktion arbeitet von Haus aus mit einer "ODER" Verknüpfung. Eine Suche nach "farbe rot" findet alle Beiträge in denen das Wort "farbe" oder "rot" oder beide im Titel oder im Content oder bedien vorkommt.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Achso das wusste ich nicht, da habe ich wohl auf dem Schlauch gestanden.

    also wenn ich

    Code
    $args = array(
               's' => 'kostenlos gratis',  
                 'post_type' => 'post',  
                 'posts_per_page' => '10',  
                 'orderby' => 'post_date',  
                 'order' => 'DESC',  
                 'paged' => $paged  );

    eingebe dann sucht er gratis oder kostenlos?

    ist nicht als searchform eingebunden sondern eigenes template. Theroetisch müsste doch dann

    Code
    $args = array(
               's' => 'kostenlos gratis schuhe auto',  
                 'post_type' => 'post',  
                 'posts_per_page' => '10',  
                 'orderby' => 'post_date',  
                 'order' => 'DESC',  
                 'paged' => $paged  );

    beiträge mit kostenlos, oder gratis oder schuhe oder auto anzeigen, bei mir wird aber dann kein beitrag mehr angezeigt. nehme ich das gratis schuhe auto raus werden wieder die kostenlos beiträge angezeigt.

    Einmal editiert, zuletzt von maltino (16. April 2016 um 12:21)

  • Deine Suche erzeugt folgende SQL Query (vergiss die kleo-... Post Types, die kommen vom Theme das ich in diesem Fall verwendet habe):

    SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND (((wp_posts.post_title LIKE '%kostenlos%') OR (wp_posts.post_excerpt LIKE '%kostenlos%') OR (wp_posts.post_content LIKE '%kostenlos%')) AND ((wp_posts.post_title LIKE '%gratis%') OR (wp_posts.post_excerpt LIKE '%gratis%') OR (wp_posts.post_content LIKE '%gratis%')) AND ((wp_posts.post_title LIKE '%schuhe%') OR (wp_posts.post_excerpt LIKE '%schuhe%') OR (wp_posts.post_content LIKE '%schuhe%')) AND ((wp_posts.post_title LIKE '%auto%') OR (wp_posts.post_excerpt LIKE '%auto%') OR (wp_posts.post_content LIKE '%auto%'))) AND wp_posts.post_password = '' AND wp_posts.post_type IN ('post', 'page', 'attachment', 'product', 'kleo_clients', 'kleo-testimonials', 'portfolio', 'myo_polling') AND ((wp_posts.post_status = 'publish')) ORDER BY (CASE WHEN wp_posts.post_title LIKE '%kostenlos gratis schuhe auto%' THEN 1 WHEN wp_posts.post_title LIKE '%kostenlos%' AND wp_posts.post_title LIKE '%gratis%' AND wp_posts.post_title LIKE '%schuhe%' AND wp_posts.post_title LIKE '%auto%' THEN 2 WHEN wp_posts.post_title LIKE '%kostenlos%' OR wp_posts.post_title LIKE '%gratis%' OR wp_posts.post_title LIKE '%schuhe%' OR wp_posts.post_title LIKE '%auto%' THEN 3 WHEN wp_posts.post_excerpt LIKE '%kostenlos gratis schuhe auto%' THEN 4 WHEN wp_posts.post_content LIKE '%kostenlos gratis schuhe auto%' THEN 5 ELSE 6 END), wp_posts.post_date DESC LIMIT 0, 20

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Ich habe mir die Query mal gerade "entflechtet" und Du hast vollkommen Recht. Die Suchbegriffe sind "UND" verknüpft nur der Ort der Suche ist eine "ODER" Verknüpfung. Ich habe das mit dem Argument "sentence" durcheinander gebracht. Mit "sentence = 1" würden alle Suchbegriffe in einem Beitrag gesucht und zwar exakt so wie angegeben, also als Satz. Da helfen wohl nur zwei Abfragen oder eine handgemachte.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Installier die das Plugin relevanssi. Dann hat man eine neue 'query_var' operator. http://www.relevanssi.com/user-manual/us…e-search-pages/

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!