我发现this answer 这有助于在我的搜索查询中按帖子类型对查询结果排序。但问题是当我去
https://example.com/?s=query%20string
如果我使用原生php搜索进行搜索。这太棒了。但我也可以通过ajax进行搜索——当我键入时,ajax将调用在自定义rest端点上注册的回调函数。因此,我想知道是否有任何方法可以识别该自定义查询,以便重用该过滤器?在条件中:
if ( ! is_admin() && is_search() && is_my_custom_search_query() ) {
另一种方法是尝试重写CASE
订购方收件人WP_Query
我不确定这是否可能tbh。ajax的搜索查询如下所示:
$query_string = sanitize_text_field( wp_unslash( $_GET[\'searchString\'] ) );
$page_no = intval( $_GET[\'pageNo\'] );
$posts_per_page = 9;
$offset = ( $page_no - 1 ) * $posts_per_page;
$search_args = array(
\'posts_per_page\' => $posts_per_page,
\'post_status\' => \'publish\',
\'perm\' => \'readable\',
\'s\' => $query_string,
\'offset\' => $offset,
);
$search_results = new WP_Query( $search_args );