【问题标题】:How to query search only for post titles?如何查询仅搜索帖子标题?
【发布时间】:2018-11-13 18:31:54
【问题描述】:

我试过了,但我不断收到所有帖子

$post_ids_post = $wpdb->get_col( $wpdb->prepare(
    "SELECT DISTINCT ID FROM {$wpdb->posts} WHERE post_title LIKE '%s'", 
    $search, $search 
));
$tit = array(
    'post__in' => $post_ids_post,
    's' => $s
);

我通过 GET 向搜索结果页面发送一个 var,如果表单检查了 TITLE,则意味着用户只想按标题搜索 $term,但用户可以选择按类别搜索,因此我不能覆盖整个查询。我只需要针对帖子标题的特定查询

【问题讨论】:

  • @GufranHasan 事情是我不想把它放在函数中,因为这会覆盖所有其他查询。我正在构建一个高级搜索表单,仅缺少 ht“按标题搜索”
  • 好的,现在编辑您的问题并解释您的要求。
  • @GufranHasan 我做了
  • 您是否考虑过使用/扩展备受推崇的 Relevanssi 插件?

标签: php wordpress


【解决方案1】:

您可以从此链接http://heycodetech.com/make-wordpress-search-only-in-post-title/获得帮助

//put this code in the functions.php file.
    function title_filter( $where, &$wp_query )
    {
        global $wpdb;
        if ( $search_term = $wp_query->get( 'search_prod_title' ) ) {
            $where .= ' AND ' . $wpdb->posts . '.post_title LIKE \'%' . esc_sql( like_escape( $search_term ) ) . '%\'';
        }
        return $where;
    }

【讨论】:

  • 是的,但这会覆盖一般查询搜索,如果我之后只想要另一个查询类别怎么办?
  • 好的,你想创建你的自定义搜索查询吧。
  • 是的,因为我只需要一个特定的标题
  • 我将如何在查询中使用它?
猜你喜欢
  • 2018-02-04
  • 1970-01-01
  • 2018-01-02
  • 1970-01-01
  • 1970-01-01
  • 2011-12-19
  • 2022-01-08
  • 1970-01-01
  • 2011-05-11
相关资源
最近更新 更多