Searching for content post

时间:2018-02-05 作者:Donovan

我需要的“wordpress搜索”引擎只能用于帖子的内容。我在寻找一些解决方案,但“wordpress搜索”引擎总是只按帖子标题显示结果。我可以修改什么,或者应该做什么来解决此问题?谢谢你的帮助!

1 个回复
SO网友:David Sword

摘自Wordpress参考:

https://developer.wordpress.org/reference/hooks/posts_search/#user-contributed-notes

您可以通过以下方式仅按帖子标题进行搜索:

function __search_by_title_only( $search, $wp_query )
{
    global $wpdb;
    if(empty($search)) {
        return $search; // skip processing - no search term in query
    }
    $q = $wp_query->query_vars;
    $n = !empty($q[\'exact\']) ? \'\' : \'%\';
    $search =
    $searchand = \'\';
    foreach ((array)$q[\'search_terms\'] as $term) {
        $term = esc_sql($wpdb->esc_like($term));
        $search .= "{$searchand}($wpdb->posts.post_title LIKE \'{$n}{$term}{$n}\')";
        $searchand = \' AND \';
    }
    if (!empty($search)) {
        $search = " AND ({$search}) ";
        if (!is_user_logged_in())
            $search .= " AND ($wpdb->posts.post_password = \'\') ";
    }
    return $search;
}
add_filter(\'posts_search\', \'__search_by_title_only\', 500, 2);
如果您只想通过发布内容进行搜索,您可以稍微更改上述内容,然后执行以下操作:

        $search .= "{$searchand}($wpdb->posts.post_content LIKE \'{$n}{$term}{$n}\')";

结束

相关推荐

Multiple Meta key in search

我有一个wordpress插件,可以从数据库中搜索学生的结果。如果我输入卷号,它将显示结果。现在,我想修改这个,就像我输入学生的手机号码一样,它也应该显示结果。代码如下 enter // ResultPress search function function result_press_search() { if ( ! isset( $_POST[\'search\'] ) ) exit; query_posts(