我在使用自定义查询创建高级搜索和使用时遇到问题$wpdb->get_results($query , OBJECT);
在 wordpress 中的普通搜索中,当我们搜索xxx yyyy
或搜索时,yyyy xxx
我们会得到相同的结果,这很好。但是当我被迫使用查询来创建高级搜索时,搜索字段中的单词序列很重要,而且 xxx yyyy
搜索yyyy xxx
结果不一样。我想说一个例子:我创建了两个输入字段,一个用于标题,另一个用于我的帖子的作者(作者只是一个例子,在这个地方是一个自定义字段)我尝试阅读这些字段并在 wordpress 中搜索它们
<?php
$t = $_REQUEST['title'];
$a = $_REQUEST['author'];
global $wpdb;
$query = "SELECT DISTINCT wp_posts.* FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id";
if ($t != '') {
$t_sql = " AND wp_posts.post_title like '%$t%' ";
}
if ($a != '') {
$a_sql = " AND wp_postmeta.meta_key = 'Author' AND wp_postmeta.meta_value like '%$a%' ";
}
$query .= $t_sql;
$query .= $a_sql;
$pageposts = $wpdb->get_results($query , OBJECT);
global $post;
if ($pageposts):
foreach ($pageposts as $post):
setup_postdata($post);
//...
endforeach;
endif;
?>
在您的想法中,我必须做什么?