如何讓wordpress後台搜索只匹配搜索文章標題

  • 2019 年 10 月 11 日
  • 筆記

  今天編輯小美眉問網站wordpress後台能不能實現只搜索標題,這個問題怎麼可能難到ytkah呢?打開Stack Overflow一頓狂搜,總數有解決方案了,哈哈哈!一起來看看怎麼操作吧。

  打開主題目錄的function.php文件,在合適的位置添加如下代碼

add_filter( 'posts_search', 'ytkah_search_by_title', 10, 2 );  function ytkah_search_by_title( $search, $wp_query ) {      if ( ! empty( $search ) && ! empty( $wp_query->query_vars['search_terms'] ) ) {          global $wpdb;          $q = $wp_query->query_vars;          $n = ! empty( $q['exact'] ) ? '' : '%';          $search = array();          foreach ( ( array ) $q['search_terms'] as $term )              $search[] = $wpdb->prepare( "$wpdb->posts.post_title LIKE %s", $n . $wpdb->esc_like( $term ) . $n );          if ( ! is_user_logged_in() )              $search[] = "$wpdb->posts.post_password = ''";          $search = ' AND ' . implode( ' AND ', $search );      }      return $search;  }

  保存,上傳,刷新緩存,後台搜索一下,看看搜索結果頁關鍵詞是不是只包含標題中

  這個方法同樣適用於前端的站內搜索,感興趣的小夥伴可以試試