通常,WordPress的搜索结果是根据发布时间进行排序的,相关性较低。如果您想改变搜索结果的排序方式,以相关性为准,有什么方法呢?在WordPress主题开发中,如何提高搜索结果的相关性呢?实际上,我们可以通过在当前主题的functions.php文件中添加以下代码来增强WordPress搜索的相关性。

WordPress主题开发中提高搜索结果相关性的方法

示例如下:

//提高搜索结果相关性
if(is_search()){
add_filter('posts_orderby_request', 'search_orderby_filter');
}
function search_orderby_filter($orderby = ''){
	global $wpdb;
	$keyword = $wpdb->prepare($_REQUEST['s']);
	return "((CASE WHEN {$wpdb->posts}.post_title LIKE '%{$keyword}%' THEN 2 ELSE 0 END) + (CASE WHEN {$wpdb->posts}.post_content LIKE '%{$keyword}%' THEN 1 ELSE 0 END)) DESC,
{$wpdb->posts}.post_modified DESC, {$wpdb->posts}.ID ASC";
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。