为了减小后台的压力,将搜索功能使用Google自定义搜索引擎功能替换。这样也不会浪费Google的强大的搜索功能嘛。这里使用的是Google自定义搜索引擎的托管页面。

如果没有Google 自定义搜索,那么可以去申请一个。每个搜索引擎都有一个自己的id值,需要这个id值。在搜索引擎结果页面上可以少量修改外观,还可以赚钱呢,更多功能好好去探索吧。

查看Wordpress后台代码,发现使用了get_search_form()获得搜索框,上官网搜索所在文件,在/wp-includes/generate-template.php。但是在文件中的get_search_form()修改在我的主题下不起效果。

后来经过搜索在/wp-content/themes/twentyeleven/searchform.php中修改,这下可以使用了。

源文件中的表单如下:

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

修改为

<form id="searchform" action="http://www.google.com/cse" method="get"><label class="assistive-text" for="s"><!--?php _e( 'Search', 'twentyeleven' ); ?--></label>
 <input id="s" class="field" type="text" name="q" />
 <input type="hidden" name="cx" value="002842556423191659620:3mb-gtj3uvw" />
 <input type="hidden" name="ie" value="UTF-8" />
 <input id="searchsubmit" class="submit" type="submit" name="submit" value="<?php esc_attr_e( 'Search', 'twentyeleven' ); ?>" />
</form>

其中的input中name=cx的value值为id值,ie为页面的编码。

这样在使用搜索框搜索时,就自动转入Google的自定义搜索页面进行搜索了。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: 将WordPress的搜索替换成Google自定义搜索 – https://www.chenyudong.com/archives/replace-wordpress-dufault-search-with-google-hosted-custom-search.html