WordPress根据标题匹配搜索结果的方法

技术期刊1个月前发布 voidke
0 0

WordPress的搜索结果与文章或页面的标题和内容相匹配。在某些特殊内容下,此显示有点多余,因此具有搜索只匹配标题的功能。此前,我们voidke的许多主题都添加了此功能选项。如果您使用的主题没有此选项,您可以添加此代码进行尝试。

WordPress根据标题匹配搜索结果的方法

将以下代码复制到主题上 functions.php 文件可以结束。

// WordPress按标题匹配搜索结果
// https://voidke.com/wordpress-search-by-title.html
add_filter(\'posts_search\', \'tbwp_search_by_title_only\', 500, 2);
function tbwp_search_by_title_only($search) {
    global $wpdb, $wp_query;

    if (empty($search))
        return $search;

    $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;
}
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...