用google搜索替换wordpress默认的搜索

来自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中新建,然后自动分配,全世界唯一。

基本上就这样:
google_cse_searchbox

google_cse_searchResult

About tunpishuang

just 4 fun·····
This entry was posted in 未分类 and tagged , . Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>