將Google自訂收尋移植到Twenty Eleven

7 / 3, 2012 Google , Wordpress , 佈景 , 架站技巧 , 架站軟體

Google自訂收尋(cse)是站長們很愛用的收尋程式,因為有Google大神當靠山,不過WP預設佈景Twenty Eleven內建的收尋功能是使用WP的"S=收尋內容",沒有Google當靠山,也很耗資源,所以當機之後換回Twenty Eleven(現在已經換回來了),想說乾脆把cse(自訂收尋)移植一下,本來以為會做得很爛,結果沒想到還不錯XD(自戀???),少囉嗦,馬上來看看


打開searchform.php,找到以下程式

<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<label for="s" class="assistive-text"><?php _e( 'Search', 'twentyeleven' ); ?></label>
<input type="text" class="field" name="s" id="s" placeholder="<?php esc_attr_e( 'Search', 'twentyeleven' ); ?>" />
<input type="submit" class="submit" name="submit" id="searchsubmit" value="<?php esc_attr_e( 'Search', 'twentyeleven' ); ?>" />
</form>

把他刪除並換成:

<form action="http://www.google.com/cse" id="searchform" target="_blank">
<input type="hidden" name="cx" value="自訂收尋的ID" />
<input type="hidden" name="ie" value="UTF-8" />
<input id="csetext" type="text" name="q" x-webkit-speech />
<input type="submit" id="searchsubmit" value="搜尋" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=zh-Hant"></script>

記住把上面程式碼的"自訂收尋的ID"更換成自己的CSE ID,可以在設定部分找到,也可以造原始碼中找到,例如:016427918356470984005:hdijpuvy3cy
至於這有沒有缺陷呢?有,所以標題才沒有寫"完美移植",只有寫"移植",缺陷就是以往要點一下收尋框,才會拉長,更換後會直接拉長,是因為ID和CSS的問題,可以解決,不過很麻煩,所以就自己研究囉!
缺陷還不只這樣,一樣是因為ID和CSS的問題,導致收尋按鈕不會顯示,所以取而代之的是語音收尋,而要送出就只能按一下Enter
以上就是介紹,小弟寫的程是很爛,歡迎研究,順便教導小弟把他修的更好
註:更改後search.php就不會用到了,因為那是用來顯示收尋結果的檔案,而現在收尋結果交給Google處理了