2017-03-02 7 views
0

Ich habe eine Rezeptwebseite und Suchoption darin. Jetzt habe ich Rezeptnamen KUCHEN und wenn ich KUCHEN suche, dann zeigt es nicht Ergebnis. Es ist in Ordnung mit KUCHEN oder CAK. Ich möchte Ergebnis mit LIKE-Abfrage. Bitte hilf mir.WordPress Suche funktioniert nicht richtig

Hier ist meine benutzerdefinierte Suche args Code:

<?php $args = array('posts_per_page' => -1, 'post_type' => 'recipes', 's' => $_GET['s']); 
$myposts = get_posts($args); 
if (empty($myposts)) { 
    echo 'No results found in Recipe!'; 
} else { ?> 
//show recipes 
    <?php wp_reset_postdata(); 
} ?> 
+0

Welche Funktion verwenden. ?? –

+0

Wenn das Rezept eine Kategorie ist, verwenden Sie einfach die Kategorie Taxonomie und passen Sie den Kuchen an, damit Sie das Ergebnis erhalten. Was Sie getan haben, wird versuchen, den Posttitel und den Suchschlüssel zu finden, denken Sie, dass Ihnen das den Post geben sollte? –

+0

Ich benutze get_posts() Funktion –

Antwort

0

Versuchen Sie, diese

$args = array('posts_per_page' => -1, 'post_type' => 'recipes','s' => $_GET['s']); 

$the_query = new WP_Query($args); 

// The Loop 
if ($the_query->have_posts()) { 

    while ($the_query->have_posts()) { 
     $the_query->the_post(); 
     //whatever you want to do with each post 
    } 
} else { 
    // no posts found 
} 
+0

Nein, das gleiche wie mein Code. –

+0

Installieren Sie dieses Plugin https://wordpress.org/plugins/relevanssi/ –

0

Nach so vielen Forschung i eine alternative gefunden. Ich ändere Pluralbegriffe mit einigen PHP-Manipulationen in Singular. Hier teile ich es.

$str = $_GET['s']; 
$result = rtrim($str, 's'); 
$result_sing = str_pad($result, strlen($str) - 1, 's'); 
$args = array( 
'posts_per_page' => -1, 
'post_type' => 'recipes', 
's' => $result_sing, 
); 
Verwandte Themen