簡體   English   中英

如何在沒有WP_Query'的情況下搜索帖子的'標題','內容'和'meta_query'?

[英]How can I search for post's 'title','content'&'meta_query' without WP_Query 's'?

我在wordpress中編寫了一個搜索查詢,搜索'post_title','post_content'和'meta_query'。 我可以使用WP_Query的'post'和'meta_query'相關參數與'OR'結合使用,而不是使用WP_Query Search的參數,以便搜索查詢通過僅傳遞WP_Query的相關參數來匹配'post_title'和'post_content'? 或者有沒有辦法用$ wpdb手動編寫查詢,如下所示:

global $wpdb;
$query= "SELECT wp_dxwe_posts.* FROM `wp_posts` WHERE 
(wp_posts.post_status IN ('$status_array') AND
wp_posts.post_type='messages') AND 
(wp_posts.post_title LIKE '%$keyword%' OR wp_posts.post_content 
LIKE '%$keyword%') AND ( wp_postmeta.meta_key == 'my_meta_key' AND 
wp_postmeta.meta_value LIKE '%$keyword%') ";

$my_query = $wpdb->get_results($query);

任何人都可以告訴我怎么樣? 提前致謝。

我收到以下MySql結果查詢:

  SELECT * FROM `wp_dxwe_posts` wp 
INNER JOIN `wp_dxwe_postmeta` wm ON (wm.`post_id` = wp.`ID`) 
WHERE wp.`post_status` IN ('publish,pending,draft') 
AND wp.`post_type`='messages'
AND (wp.`post_title` LIKE '%prasad%' OR 
wp.`post_content` LIKE '%prasad%') 
    AND wm.`meta_key` = 'inistitute_name' 
    AND wm.`meta_value` LIKE '%some_institute_name%'

以下列方式使用自定義查詢:

SELECT * FROM `wp_posts` wp 
    INNER JOIN `wp_postmeta` wm ON (wm.`post_id` = wp.`ID`) 
        WHERE wp.`post_status` IN ('$status_array') 
        AND wp.`post_type`='messages'
        AND (wp.`post_title` LIKE '%$keyword%' OR 
wp.`post_content` LIKE '%$keyword%') 
        AND wm.`meta_key` = 'my_meta_key' 
        AND wm.`meta_value` LIKE '%$keyword%'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM