alleyinteractive / alleyinteractive/searchpress
Facet query var helper doesn't support 3+ terms
- Vorherrschende Sprache
- PHP
- Sterne
- 85
- Forks
- 10
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
### Basic example
```php
add_filter( 'sp_search_wp_query_args', function( $wp_args ) {
$wp_args['facets'] = [
'Category' => [
'type' => 'taxonomy',
'taxonomy' => 'category',
'count' => 10,
],
];
return $wp_args;
} );
```
When outputting the facets, e.g. as links, the `query_vars` entry in the processed facet data contains the query vars needed to generate a link to filter the results:
```php
$facet_data = SP_Integration()->search_obj->get_facet_data();
if ( ! empty( $facet_data['Category']['items'] ) ) :
foreach ( $facet_data['Category']['items'] as $cat ) :
?>
tax_query->queries`. It's important to note that union queries (`?taxonomy=term1+term2`) will add multiple arrays to `$GLOBALS['wp_query']->tax_query->queries`, whereas intersection queries (`?taxonomy=term1,term2`) will add multiple terms a single array entry. Here's a `var_export()` dump illustrating this:
```
?s=markup&category_name=antiquarianism,aciform
$GLOBALS['wp_query']->tax_query->queries
array (
0 =>
array (
'taxonomy' => 'category',
'terms' =>
array (
0 => 'antiquarianism',
1 => 'aciform',
),
'field' => 'slug',
'operator' => 'IN',
'include_children' => true,
),
)
?s=markup&category_name=antiquarianism+aciform
$GLOBALS['wp_query']->tax_query->queries
array (
0 =>
array (
'taxonomy' => 'category',
'terms' =>
array (
0 => 'antiquarianism',
),
'field' => 'slug',
'operator' => 'IN',
'include_children' => true,
),
1 =>
array (
'taxonomy' => 'category',
'terms' =>
array (
0 => 'aciform',
),
'field' => 'slug',
'operator' => 'IN',
'include_children' => true,
),
)
```
In addition, it looks like we're not fully accounting for union queries when building the query var arrays in the facet data. [Relevant code in core](https://github.com/WordPress/WordPress/blob/564d6a0c909af6d09bd91b7725587bf715cc8b1b/wp-includes/class-wp-query.php#L1103-L1114) to mimic for consistency.
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.