我正在尝试自定义一个 wp 插件(wp 作业管理器),以便它可以一次搜索多个关键字。目前它只能让我根据单个关键字输入(如“wendy”)查找结果,因为帖子中的输入有“firstname=wendy”。我正在寻找一种配置方式来搜索诸如单词组合之类的内容。即使它不在帖子本身的相同输入查询中。示例:“温迪·维纳”。当我尝试搜索“Wendy Vener”时,它什么也没找到,因为没有值为“Wendy Vener”的单一输入字段。
搜索框代码:
if ( ! function_exists( 'get_job_listings_keyword_search' ) ) :
/**
* Join and where query for keywords
*
* @param array $args
* @return array
*/
function get_job_listings_keyword_search( $args ) {
global $wpdb, $job_manager_keyword;
$conditions = array();
$conditions[] = "{$wpdb->posts}.post_title LIKE '%" . esc_sql( $job_manager_keyword ) . "%'";
$conditions[] = "{$wpdb->posts}.ID IN ( SELECT post_id FROM {$wpdb->postmeta} WHERE meta_value LIKE '%" . esc_sql( $job_manager_keyword ) . "%' )";
if ( ctype_alnum( $job_manager_keyword ) ) {
$conditions[] = "{$wpdb->posts}.post_content RLIKE '[[:<:]]" . esc_sql( $job_manager_keyword ) . "[[:>:]]'";
} else {
$conditions[] = "{$wpdb->posts}.post_content LIKE '%" . esc_sql( $job_manager_keyword ) . "%'";
}
$args['where'] .= " AND ( " . implode( ' OR ', $conditions ) . " ) ";
return $args;
}
提前致谢!