專注CJ聯盟
不止CJ聯盟

wordpress技巧:讓wordpress只搜索文章標題

昨天寫了篇WP技巧性的文章,關注的人不多,這也很正常。但也有人拿去測試了,并且留言反饋了,那我寫的就有意義。

回答下@小菜 的提問

蝦哥,這個方法我測試了下,可行。不過,大多數時候搜索結果是好幾個,其中很大原因是WP自帶的搜索功能除了搜索標題,也搜索正文。

小菜反饋的確實是個很現實的問題,比如你在我博客搜索CJ兩個,那結果就會出來非常多個,這樣子就無法直接打開結果。因為之前我們介紹的wordpress技巧是站內搜索單一結果時直接打開文章,而出現多個結果時,依然是列表式的搜索結果頁面。

我當時使用這個時,其實也是遇到過這個問題的。因為我搜索的字段,既會出現在標題里,也會出現在文章中。但是我的文章標題都是同一格式,只有某個字段是變化的。每篇文章,這個字段都是獨立的,也就是說沒有文章會重復出現這個字段

所以,我就再加了一段代碼,只搜索文章標題。當然,這也是我再網上找到的,添加到function.php里就可以了。

于是我的工具站點,就可以實現輸入某個字段,從而直接出現文章結果了。

 

/**
* 讓 WordPress 只搜索文章的標題
*/
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 );

贊(2)
未經允許不得轉載:賺刀博客 » wordpress技巧:讓wordpress只搜索文章標題

評論 搶沙發

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址

賺刀博客——專注CJ聯盟,不止CJ聯盟

聯系小龍蝦CJ聯盟交流群
516金蟾捕鱼下载 五分彩骗局步骤 二分彩是不是真的 股票交易的规则 至尊娱乐官方下载app 四肖期期准一必三肖 学炒股要多久 星悦云南麻将下载 捕鱼欢乐炸破解版 最简单的四人单机麻将 二分彩开奖公告查询