在 WordPress 中按帖子标题搜索代码
ARTRU
根据WordPress默认搜索,它会将搜索查询与标题进行比较 post_title
,摘录 post_excerpt
和内容 post_content
.
在某些情况下,您只需要基于文章标题的搜索结果,因此您必须编写额外的自定义代码来过滤查询。
function.php
或插件 代码片段.function ARTRU_Search_By_Title($columns, $search, $query) {
return ['post_title'];
}
add_filter('post_search_columns', 'ARTRU_Search_By_Title', 10, 3);
function ARTRU_Search_By_Title_With_Special_Characters($search, $wp_query) {
global $wpdb;
$search_term = $wp_query->query_vars['s'];
if ($search_term) {
$search = $wpdb->prepare(
" AND LOWER({$wpdb->posts}.post_title) LIKE BINARY LOWER(%s) ",
'%' . $wpdb->esc_like($search_term) . '%'
);
}
return $search;
}
add_filter('posts_search', 'ARTRU_Search_By_Title_With_Special_Characters', 10, 2);
相关文章