Wordpress搜索查询不返回用户

时间:2016-01-15 22:17:28

标签: wordpress

当我按名字搜索用户时,他们的所有帖子都会显示在信息中心内。当我搜索同一个用户并添加他们的姓氏时,它根本不显示。不确定为什么这只发生在这位作者身上。我已将所有设置与其他有书面帖子的用户相同。

这是我的第一个搜索网址和查询,它返回此用户撰写的所有帖子。 http://trochia.org/?s=dani

当我添加她的姓氏时,没有结果。 http://trochia.org/?s=dani+nichols

这是另一个用户,没有只有名字或名字和姓氏组合的问题。 http://trochia.org/?s=fred http://trochia.org/?s=fred+gladney

1 个答案:

答案 0 :(得分:0)

想出来。

function atom_search_where($where){
global $wpdb;
if (is_search())
$where .= "OR (t.name LIKE '%".get_search_query()."%' AND {$wpdb-  >posts}.post_status = 'publish')";
return $where;
}

function atom_search_join($join){
global $wpdb;
if (is_search())
$join .= "LEFT JOIN {$wpdb->term_relationships} tr ON {$wpdb->posts}.ID  = tr.object_id INNER JOIN {$wpdb->term_taxonomy} tt ON  tt.term_taxonomy_id=tr.term_taxonomy_id INNER JOIN {$wpdb->terms} t ON t.term_id = tt.term_id";
return $join;
}

function atom_search_groupby($groupby){
global $wpdb;

// we need to group on post ID
$groupby_id = "{$wpdb->posts}.ID";
    if(!is_search() || strpos($groupby, $groupby_id) !== false) return         $groupby;

// groupby was empty, use ours
if(!strlen(trim($groupby))) return $groupby_id;

// wasn't empty, append ours
return $groupby.", ".$groupby_id;
} 

add_filter('posts_where','atom_search_where');
add_filter('posts_join', 'atom_search_join');
add_filter('posts_groupby', 'atom_search_groupby');