WordPress 默認(rèn)的搜索功能還真挺弱的,搜索出來(lái)的結(jié)果很不符合人意,如果你想讓它檢索出來(lái)的結(jié)果更加相關(guān),可以限定只搜索文章的標(biāo)題,將下面的代碼添加到主題的 functions.php 文件即可:
/**
* 讓 WordPress 只搜索文章的標(biāo)題
* http://www.ydqwiac.cn/search-by-title-only.html
*/
function __search_by_title_only( $search, &$wp_query )
{
global $wpdb;
if ( empty( $search ) )
return $search; // skip processing - no search term in query
$q = $wp_query->query_vars;
$n = ! empty( $q['exact'] ) ? '' : '%';
$search =
$searchand = '';
foreach ( (array) $q['search_terms'] as $term ) {
$term = esc_sql( like_escape( $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;
}
add_filter( 'posts_search', '__search_by_title_only', 500, 2 );
參考資料:http://wordpress.stackexchange.com/questions/11822/
聲明:本站所有文章,如無(wú)特殊說(shuō)明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書(shū)籍等各類(lèi)媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。





怎么讓他只搜索標(biāo)題和標(biāo)簽和文章前50字,這個(gè)應(yīng)該很多人需要吧,畢竟wp的搜索搜索全文太費(fèi)資源
為什么32行的代碼放在文件里,會(huì)出現(xiàn)錯(cuò)誤。
已經(jīng)可以了
能不能按首字母搜索
你的代碼高亮是用的什么插件?可以不用插件嗎?
http://www.ydqwiac.cn/wp-syntax.html
很實(shí)用呢,這樣一來(lái)可以讓訪客自行選擇要搜索內(nèi)文還是標(biāo)題了