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.
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? –