Recent

Query_ModifierclassPro only

Query_Modifier

Class to modify Better_Search_Query with Pro features.

Namespace: WebberZone\Better_Search\Pro
Since: 4.2.0
Source: includes/pro/class-query-modifier.php line 24

Methods

__construct()

Constructor

Line: 50

public function __construct( Custom_Tables\Custom_Tables $custom_tables, ?Fuzzy_Search $fuzzy_search = ... );
Type Name Description
Custom_Tables\Custom_Tables $custom_tables Custom Tables instance.
Fuzzy_Search|null $fuzzy_search Fuzzy search service.

hooks()

Register hooks

Since: 4.2.0
Line: 62

public function hooks(  );

get_weights()

Get the weights for the title, content, excerpt, taxonomies and primary boost.

Since: 4.2.0
Line: 88

public function get_weights( $args ): array;
Type Name Description
array $args Query arguments.

Returns: array — Array of weights.

get_custom_table_content_clauses()

Get content match clauses for custom tables.

Since: 4.2.0
Line: 126

public function get_custom_table_content_clauses( string $search_query, array $weights, bool $boolean_mode = ..., bool $search_excerpt = ... ): array;
Type Name Description
string $search_query The search query string.
array $weights Array of weights for content fields.
bool $boolean_mode Whether to use BOOLEAN mode in MATCH clauses.
bool $search_excerpt Whether “Search Excerpt” is enabled, including excerpt even at zero weight.

Returns: array — Array of content match clauses.

get_custom_table_taxonomy_clauses()

Process custom table taxonomy matches and return taxonomy clauses for relevance calculation.

Since: 4.2.0
Line: 165

public function get_custom_table_taxonomy_clauses( string $search_query, array $weights, array $args ): array;
Type Name Description
string $search_query The search query string.
array $weights Array of weights for taxonomies.
array $args Arguments array.

Returns: array — Array containing taxonomy clauses and data.

get_wp_content_clauses()

Get content match clauses for WordPress posts table.

Since: 4.2.0
Line: 336

public function get_wp_content_clauses( string $search_query, array $weights, bool $boolean_mode = ..., bool $search_excerpt = ... ): array;
Type Name Description
string $search_query The search query string.
array $weights Array of weights for content fields.
bool $boolean_mode Whether to use BOOLEAN mode in MATCH clauses.
bool $search_excerpt Whether “Search Excerpt” is enabled, including excerpt even at zero weight.

Returns: array — Array of content match clauses.

get_taxonomy_match_clauses()

Process taxonomy matches and return taxonomy clauses for relevance calculation.

Since: 4.2.0
Line: 375

public function get_taxonomy_match_clauses( string $search_query, array $weights ): array;
Type Name Description
string $search_query The search query string.
array $weights Array of weights for taxonomies.

Returns: array — Array containing taxonomy clauses and data.

query_posts_fields()

Modify the posts_fields clause.

Since: 4.2.0
Line: 531

public function query_posts_fields( $fields, $query, $instance ): string;
Type Name Description
string $fields The SELECT clause of the query.
\WP_Query|\Better_Search_Query $query The WP_Query or Better_Search_Query instance.
\Better_Search_Core_Query $instance The Better_Search_Core_Query instance.

Returns: string — Updated Fields

query_posts_where_match()

Modify the MATCH clause of the WHERE clause to filter relevant posts.

Since: 4.2.0
Line: 594

public function query_posts_where_match( $match_clause, $where, $query, $instance ): string;
Type Name Description
string $match_clause The MATCH section of the WHERE clause of the query.
string $where The WHERE clause of the query.
\WP_Query|\Better_Search_Query $query The WP_Query or Better_Search_Query instance.
\Better_Search_Core_Query $instance The Better_Search_Core_Query instance.

Returns: string — Modified MATCH clause of the WHERE clause.

query_posts_groupby()

Update the groupby clause.

Since: 4.2.0
Line: 737

public function query_posts_groupby( $groupby ): string;
Type Name Description
string $groupby The current groupby clause.

Returns: string — Updated groupby clause.

query_posts_orderby_clauses()

Update the orderby clauses for CRP queries.

Since: 3.5.2
Line: 757

public function query_posts_orderby_clauses( $orderby_clauses, $query, $instance ): array;
Type Name Description
array $orderby_clauses Array of clauses.
\WP_Query|\Better_Search_Query $query The WP_Query or Better_Search_Query instance.
\Better_Search_Core_Query $instance The Better_Search_Core_Query instance (optional).

Returns: array — Updated array of clauses.

find_approximate_index()

Find the approximate index of a substring in an array of strings.

Since: 3.5.2
Line: 809

public function find_approximate_index( $input_array, $substring ): int|bool;
Type Name Description
array $input_array Array of strings.
string $substring Substring to search for.

Returns: int|bool — Index of the substring in the array.

custom_table_join()

Modify the JOIN clause to include our custom tables.

Since: 4.2.0
Line: 828

public function custom_table_join( $join, $query, $instance ): string;
Type Name Description
string $join The JOIN clause of the query.
\WP_Query $query The WP_Query instance.
\Better_Search_Core_Query $instance The Better_Search_Core_Query instance.

Returns: string — Modified join.

modify_like_columns()

Swap LIKE column references from wp_posts.* to ct.* when custom tables are active.

Since: 4.3.1
Line: 857

public function modify_like_columns( $like_columns, $instance ): array;
Type Name Description
array $like_columns Default column references array.
\Better_Search_Core_Query $instance The Better_Search_Core_Query instance.

Returns: array — Modified column references array.

should_use_custom_tables()

Determine if we should use custom tables for queries.

Since: 4.2.0
Line: 876

public function should_use_custom_tables(  ): bool;

Returns: bool — True if custom tables should be used.

query_posts_join()

Modify the posts_join clause for taxonomy weightage.

Since: 4.2.0
Line: 910

public function query_posts_join( $join, $query, $instance ): string;
Type Name Description
string $join The JOIN clause of the query.
\WP_Query $query The WP_Query instance.
\Better_Search_Core_Query $instance The Better_Search_Core_Query instance.

Returns: string — Updated JOIN clause.

add_max_execution_time()

Adds MAX_EXECUTION_TIME hint to MySQL queries.

Since: 4.2.0
Line: 971

public function add_max_execution_time( $sql, $query ): string;
Type Name Description
string $sql The complete SQL query.
\WP_Query $query The WP_Query instance.

Returns: string — Modified SQL query with MAX_EXECUTION_TIME hint.

enforce_short_term_score_order()

Ensure final SQL orders short-term LIKE searches by computed score first.

Since: 4.3.0
Line: 1010

public function enforce_short_term_score_order( $sql, $query, $instance ): string;
Type Name Description
string $sql The complete SQL query.
\WP_Query $query The WP_Query instance.
\Better_Search_Core_Query $instance The Better_Search_Core_Query instance.

Returns: string — Updated SQL query.

relax_like_restriction()

Relax the LIKE WHERE restriction when fuzzy search is active.

Since: 4.3.0
Line: 1044

public function relax_like_restriction( $where, $query, $instance ): string;
Type Name Description
string $where The search WHERE clause.
\WP_Query $query The WP_Query instance.
\Better_Search_Core_Query $instance The Better_Search_Core_Query instance.

Returns: string — Updated WHERE clause.

wrap_fuzzy_like_request()

Wrap fuzzy LIKE requests so the outer query can filter by score.

Since: 4.3.0
Line: 1083

public function wrap_fuzzy_like_request( $request, $query, $instance ): string;
Type Name Description
string $request The SQL query.
\WP_Query $query The WP_Query instance.
\Better_Search_Core_Query $instance The Better_Search_Core_Query instance.

Returns: string — Updated SQL query.

enforce_positive_score_filter()

Ensure fuzzy LIKE queries only return rows with positive computed score.

Since: 4.3.0
Line: 1148

public function enforce_positive_score_filter( $sql, $query, $instance ): string;
Type Name Description
string $sql The complete SQL query.
\WP_Query $query The WP_Query instance.
\Better_Search_Core_Query $instance The Better_Search_Core_Query instance.

Returns: string — Updated SQL query.

add_cornerstone_posts()

Add cornerstone posts to the related posts list.

Since: 4.2.0
Line: 1204

public function add_cornerstone_posts( $posts, $query ): array;
Type Name Description
array $posts Array of post objects.
\WP_Query $query The WP_Query instance.

Returns: array — Modified array of post objects.