最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

wp query - meta_query is overriding default search

programmeradmin6浏览0评论

I'm using default search with get_search_form() function. I want to search also by custom fields, so I wrote a hook:

function search_products($query) {
        if (is_search() && $query->is_main_query() && !is_admin()) {
            $query->set('post_type', 'product');
            $my_custom_field = $query->query['s'];
    
            $meta_query = array(
                array(
                    'key'     => 'custom_field',
                    'value'   => $my_custom_field,
                    'compare' => 'LIKE',
                )
            );
            $query->set('meta_query', $meta_query);     
        }
    }
    
    add_action('pre_get_posts', 'search_products');

Problem is the search is not showing products filtered by title and also not showing products filtered by custom field. How to solve this?

发布评论

评论列表(0)

  1. 暂无评论