當(dāng)前位置:首頁(yè)>WordPress建站>基礎(chǔ)教程>讓 WordPress 只搜索文章的標(biāo)題

讓 WordPress 只搜索文章的標(biāo)題

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)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號(hào) WPDAXUE
基礎(chǔ)教程

WordPress 文章標(biāo)題鏈接到站外鏈接

2013-9-17 9:56:52

基礎(chǔ)教程

WordPress 自動(dòng)使用文章ID作為別名(slug)

2013-9-24 7:49:00

7 條回復(fù) A文章作者 M管理員
  1. goit

    怎么讓他只搜索標(biāo)題和標(biāo)簽和文章前50字,這個(gè)應(yīng)該很多人需要吧,畢竟wp的搜索搜索全文太費(fèi)資源

  2. 為什么32行的代碼放在文件里,會(huì)出現(xiàn)錯(cuò)誤。

    • 已經(jīng)可以了

  3. 能不能按首字母搜索

  4. Lay

    很實(shí)用呢,這樣一來(lái)可以讓訪客自行選擇要搜索內(nèi)文還是標(biāo)題了

?
個(gè)人中心
購(gòu)物車(chē)
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

六盘水市| 六安市| 夏津县| 贵阳市| 新源县| 灌南县| 天水市| 明星| 浦江县| 永定县| 黄山市| 虹口区| 交口县| 紫云| 金塔县| 柞水县| 铜川市| 汝城县| 永丰县| 西藏| 洛隆县| 孟津县| 昆山市| 晴隆县| 咸丰县| 玉环县| 从江县| 鄂托克前旗| 城口县| 哈密市| 茶陵县| 文成县| 内江市| 新龙县| 玉林市| 博爱县| 江孜县| 昂仁县| 文登市| 运城市| 故城县|