2016-11-26 1 views
0

Ich schreibe eine Suchanfrage für meinen benutzerdefinierten Beitrag. Ich benutze Suchparameter von WP_Query für diese dann muss es nach "post_title" & "post_content" suchen, aber es sucht nur nach "post_title" und sucht nicht nach "post_content". unten ist mein Code:Warum WP_Query 's' => 'keyword' sucht nur nach 'post_title' und warum nicht 'post_content'?

$institute_name = get_user_meta($user_ID, 'inistitute_name', true); 
add_filter('posts_where' , array($this,'posts_where')); 
$paged = (get_query_var('page')) ? get_query_var('page') : 1; 
     $args = array(
      'post_type' => 'mypost', 
      array('s' => $keyword), 
      'meta_query' => array (
       array (
        'key' => 'inistitute_name', 
        'value' => array ($institute_name), 
        'compare' => 'IN' 
       ) 
      ), 
      'posts_per_page' => -1, 
      'paged' => $paged, 
      'post_status' => 'publish', 
      ); 
$the_query = new WP_Query($args); 
remove_filter('posts_where', array($this,'posts_where')); 
echo "<pre>"; 
print_r($the_query); 
echo "</pre>"; 

Wenn drucke ich dieses Ergebnis dann unter die Abfrage wie erhalte ich:

SELECT wp_dxwe_posts.* FROM wp_dxwe_posts INNER JOIN wp_dxwe_postmeta ON 
(wp_dxwe_posts.ID = wp_dxwe_postmeta.post_id) WHERE 1=1 AND 
((wp_dxwe_postmeta.meta_key = 'inistitute_name' AND 
CAST(wp_dxwe_postmeta.meta_value AS CHAR) IN ('ITeLearn'))) 
AND wp_dxwe_posts.post_type = 'mypost' AND ((wp_dxwe_posts.post_status = 'publish')) 
AND post_title LIKE '%launch%' GROUP BY wp_dxwe_posts.ID 
ORDER BY wp_dxwe_posts.post_date DESC 

Wie ich sagte, dass es nur ‚POST_TITLE‘ funktioniert prima, aber warum ist es nicht Arbeiten für 'post_content'. Kann mir bitte jemand sagen, was in diesem Code falsch ist? Danke im Voraus.

Antwort

0

Ohne den richtigen Volltextindex wäre es zu langsam, den gesamten Körper zu durchsuchen, in einem Ausmaß, dass auf größeren Sites die Serverleistung möglicherweise beeinträchtigt wird.

+0

hmmm .. zuerst, vielen Dank für die schnelle Antwort. Wie gesagt, nur 'post_title' funktionierte nicht immer, wenn ich es mit einem anderen Titel versuche, dann zeigt es nicht die Ergebnisse. Wenn ja, kannst du mir bitte sagen, was die Lösung ist? –

Verwandte Themen