您可以将注释表加入到您的搜索中,这将允许您搜索注释内容,甚至可以搜索作者姓名(如果您愿意)。
将此添加到functions.php
要搜索评论内容和作者姓名,请执行以下操作:
function search_comments_join($join) {
global $wpdb;
if(is_search()) {
$join .=\' LEFT JOIN \'.$wpdb->comments.\' ON \'.$wpdb->posts.\'.ID = \'.$wpdb->comments.\'.comment_post_ID \';
}
return $join;
}
add_filter(\'posts_join\', \'search_comments_join\');
function search_comments_where($where) {
global $wpdb;
if(is_search()) {
$where = preg_replace(
"/\\(\\s*".$wpdb->posts.".post_title\\s+LIKE\\s*(\\\'[^\\\']+\\\')\\s*\\)/",
"(".$wpdb->posts.".post_title LIKE $1) OR (".$wpdb->comments.".comment_author LIKE $1) OR (".$wpdb->comments.".comment_content LIKE $1)",
$where
);
}
return $where;
}
add_filter(\'posts_where\', \'search_comments_where\');
function search_comments_distinct($where) {
global $wpdb;
if(is_search()) {
return "DISTINCT";
}
return $where;
}
add_filter(\'posts_distinct\', \'search_comments_distinct\');
如果不想搜索评论作者姓名,只需删除
OR (".$wpdb->comments.".comment_author LIKE $1)
从
$where
作用