You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WordPress中利用Elementor Query ID实现仅标题关键词搜索

实现Elementor Post组件仅按标题搜索

要让Elementor的Post组件只展示标题包含关键词的文章,需要修改自定义查询逻辑,替换WordPress默认同时匹配标题和内容的搜索行为,具体代码修改如下:

add_action("elementor/query/blogs_search", function ($query) {
    // 移除默认搜索参数,避免匹配文章内容
    $query->set("s", "");
    
    // 获取URL中的搜索关键词
    $search_term = isset($_GET["s"]) ? htmlentities($_GET["s"]) : "";
    
    if (!empty($search_term)) {
        // 过滤查询语句,仅匹配文章标题
        add_filter("posts_search", function ($search, $wp_query) use ($search_term) {
            global $wpdb;
            
            if ($wp_query->is_main_query()) {
                // 安全处理关键词,防止SQL注入
                $safe_term = '%' . $wpdb->esc_like($search_term) . '%';
                // 替换默认搜索逻辑,只针对标题做模糊匹配
                $search = " AND {$wpdb->posts}.post_title LIKE '{$safe_term}'";
            }
            
            return $search;
        }, 10, 2);
    }
});

代码说明:

  • 清空默认的s参数,阻止WordPress执行标题+内容的全局搜索
  • 通过$_GET["s"]获取用户输入的搜索关键词,做基本转义处理
  • 借助posts_search过滤器修改SQL查询语句,仅对post_title字段做模糊匹配
  • 使用$wpdb->esc_like处理关键词,避免SQL注入风险

内容的提问来源于stack exchange,提问作者Manikandan V

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 03:05:19