oh my, searching actually works
This commit is contained in:
@@ -79,6 +79,28 @@ class Partnerexpo_Core_Public {
|
||||
'pexpo_tags' => $params['tags'] ?? '',
|
||||
];
|
||||
|
||||
if ( ! empty( $params['tags'] ) ) {
|
||||
$tag_string = $params['tags'];
|
||||
$operator = 'IN';
|
||||
$delimiter = ',';
|
||||
|
||||
if ( strpos( $tag_string, '+' ) !== false ) {
|
||||
$operator = 'AND';
|
||||
$delimiter = '+';
|
||||
}
|
||||
|
||||
$tag_slugs = explode( $delimiter, $tag_string );
|
||||
|
||||
$args['tax_query'] = [
|
||||
[
|
||||
'taxonomy' => 'pexpo_tags',
|
||||
'field' => 'slug',
|
||||
'terms' => $tag_slugs,
|
||||
'operator' => $operator,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
switch ($params['sort'] ?? 'relevance') {
|
||||
case 'date_asc':
|
||||
$args['orderby'] = 'date';
|
||||
@@ -97,12 +119,13 @@ class Partnerexpo_Core_Public {
|
||||
$args['order'] = 'DESC';
|
||||
break;
|
||||
case 'relevance':
|
||||
$args['orderby'] = 'relevance';
|
||||
break;
|
||||
default:
|
||||
// Default WordPress search sorting
|
||||
break;
|
||||
}
|
||||
|
||||
$query = new WP_Query($args);
|
||||
$query = new WP_Query_WithRelevance($args);
|
||||
|
||||
$posts = [];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user