来自http://tunps.com/wordpress-search-box-replace-with-google-cse
![]()
wordpress自带的搜索功能没有google强大,所以想把博客的搜索功能替换成google自定义搜索。翻了翻网上的资料,发现自定义搜索已经改版了,表面上看没有以前的功能强大,实则有被ajax google search api代替的趋势。
现在登录http://www.google.com/cse/?hl=zh-CN ,生成一个最简单的搜索框的代码如下:
<!-- Google Custom Search Element --><div id="cse" style="width:100%;">Loading</div><script src="http://www.google.com/jsapi" type="text/javascript"></script><script type="text/javascript"> google.load('search', '1'); google.setOnLoadCallback(function(){ new google.search.CustomSearchControl('003302537028975418586:ymvle_l4feq').draw('cse'); }, true);</script> |
搜索的结果是ajax无刷新取得的,但是,花了点时间读了google search api , 尝试在我的博客上使用。我用的主题是oriental,把搜索的结果用draw插入到id为contentinner的div中,但是样式完全惨目忍睹,暂时没有时间来分析原因,我猜想是因为oriental的css应用到了搜索结果上了。
只有采用老方法:
因为oriental的搜索框是在header.php中的,所以定位到header.php,把一下代码放在searchBar这个div中:
<div id="searchBar"><form action="http://www.google.com/cse" id="cse-search-box"> <div> <input type="hidden" name="cx" value="003302537028975418586:ymvle_l4feq" /> <input type="hidden" name="cof" value="FORID:11" /> <input type="hidden" name="ie" value="UTF-8" /> <input type="text" name="q" size="31" /> <input type="submit" name="sa" value="搜索" /> </div></form><script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=zh-Hans"></script> </div> |
cx是自定义搜索的唯一id,需要一个google账户,在http://www.google.com/cse/?hl=zh-CN中新建,然后自动分配,全世界唯一。

