如何在自己的网站中添加谷歌的自定义搜索引擎

前几天突然发现本站的搜索功能出现了点问题,索性直接更改为Google自定义搜索引擎,分享给大家。创建搜索引擎;更改搜索外观 更改原主题文件

如何在自己的网站中添加谷歌的自定义搜索引擎

前几天突然发现本站的搜索功能出现了点问题,索性直接更改为Google自定义搜索引擎。可在折腾搜索功能的时候经历了一些坎坷,所以整理了下内容分享给大家。

1、创建搜索引擎

登入https://accounts.google.com/ServiceLogin?continue=http://www.google.com/cse/all&service=cprose&hl=zh-CN&gl=us&passive=true,若没有Google的帐号可去简单注册一个。登入后,我们开始创建一个“定制Google搜索引擎“,如下

#FormatImgID_0#

在输入框内输入要搜索的网站,这里需要注意的是索引整个网站还是只是文章部分。若是整个网站直接按照http://www.domain.com/?p=123 在输入框中填入http://www.domain.com/?p=*

日期和名称型:http://www.domain.com/2013/03/19/sample-post/ 在输入框中填入http://www.domain.com/年份/月份/天/*

月份和名称型以此类推

数字型:http://www.domain.com/archives/123 在输入框中填入http://www.domain.com/archives/*

文章型:http://www.mywpku.com/sample-post/ 在输入框中填入http://www.mywpku.com/*/

伪静态html型:http://www.mywpku.com/sample-post.html 在输入框中填入http://www.mywpku.com/*.html

其余可以此类推。

可别忘了选择网站语言哦!完成后下一步吧。

#FormatImgID_1#

2、更改搜索外观 更改原主题文件

接下来可以根据需要来更改Google搜索页面的背景颜色,按钮颜色等等。不过最重要的一点是将布局更改为全宽:

#FormatImgID_2#

接下来我们对主题的搜索页面进行修改。在WordPress中输入一个搜索词,它将会显示出搜索页面,并按照搜索词来显示内容。不过现在我们需要变一下:显示出搜索页面后按照输入的内容来调用Google搜索引擎帮你搜索。

在主题目录中找到类似于search.php这样的文件,以我的主题来做个示例:

<?php get_header(); ?>

<div id=“content” class=“group”>

<div id=“content_main”>

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

<?php $fmimg = get_post_meta($post->ID, “fmimg_value”, true); ?>

<article <?php post_class() ?> id=“post-<?php the_ID(); ?>” data-posttime=“<?php the_time(‘Y-m-d H:i:s’); ?>”><header>

<figure class=“post_category”><?php the_category(‘ ’); ?></figure>

<a href=“<?php the_permalink(); ?>” rel=“bookmark” title=“<?php the_title(); ?>” target=‘_blank’><?php has_post_thumbnail(); if ( has_post_thumbnail() ){ the_post_thumbnail(‘fmimg’); } elseif($fmimg) { ?><img src=“<?php echo $fmimg; ?>” /><?php } else { ?><img src=“<?php echo catch_that_image(); ?>” /><?php } ?></a><strong><h4 class=“post_title”>

<a href=“<?php the_permalink(); ?>” rel=“bookmark” title=“<?php the_title(); ?>” target=‘_blank’><?php the_title(); ?></a></h4></strong>

</header>

<div class=“entry group”>

<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_content’, $post->post_content)), 0, 180,“。。。”,“utf-8”); ?></div>

<footer class=“post_meta”>

Written By

<a href=“<?php echo get_author_posts_url(get_the_author_meta( ‘ID’ )); ?>” rel=“nofollow”><?php echo the_author_meta( ‘display_name’ ); ?></a>

<span class=“info-category-icon”><?php the_category(‘, ’) ?></span>

<span class=“info-comment-icon”><?php comments_popup_link (‘沙发还在’,‘还有板凳’,‘%条评论’); ?> <?php edit_post_link(‘编辑本文’, ‘’, ‘’); ?></span>

<a href=“<?php the_permalink(); ?>” title=“<?php the_title(); ?>” class=“more” target=‘_blank’><img src=“https://upload.chinaz.com/2013/0321/1363835608792.png”></a>

<div class=“clear”></div>

</footer>

</article>

<?php endwhile;?>

<?php else : ?>

<article class=“post”>

<h2>没有找到任何内容</h2>

<?php get_search_form(); ?>

</article>

<?php endif; ?>

<div class=“navigation group”>

<div class=“wp-pagenavi”><?php par_pagenavi(9); ?></div>

</div>

</div>

<?php get_sidebar(); ?>

</div>

<?php get_footer(); ?>

我将它删除至只剩下一个大概的结构:

<?phpget_header();?> <div id=”content”class=”group”><span style=”line-height: 1.6em;”></span> </div> <?phpget_footer();?>

去刚刚的自定义搜索引擎页面那获取代码吧,这是最后一步了。

#FormatImgID_3#

很显然普通的代码已经不能满足我们的需求了,下方点击获取V1代码。

将获得的代码与search.php合并:

<?phpget_header();?>

<div id=“content”class=“group”>

<div id='cse' style='width: 100%;'>

Loading

</div>

<script src='//www.google.com/jsapi' type='text/javascript'></script>

<script type='text/javascript'>google.load('search', '1', {language: 'zh-Hans', style: google.loader.themes.V2_DEFAULT});

google.setOnLoadCallback(function() {var customSearchOptions = {};var orderByOptions = {};orderByOptions[‘keys’] = [{label: ‘Relevance’, key: ‘’} , {label: ‘Date’, key: ‘date’}];

customSearchOptions[‘enableOrderBy’] = true;customSearchOptions[‘orderByOptions’] = orderByOptions;customSearchOptions[‘overlayResults’] = true;

var customSearchControl = new google.search.CustomSearchControl('002417144856058510941:uk_1aiwj0ok', customSearchOptions);

customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);var options = new google.search.DrawOptions();

options.setAutoComplete(true);customSearchControl.draw('cse', options);}, true);

</script>

<style type='text/css'>.gsc-control-cse {

font-family:Arial,sans-serif;border-color:#FFFFFF;background-color:#FFFFFF;}

.gsc-control-cse .gsc-table-result {font-family:Arial,sans-serif;

}

input.gsc-input, .gsc-input-box, .gsc-input-box-hover, .gsc-input-box-focus {border-color:#D9D9D9;

}

input.gsc-search-button, input.gsc-search-button:hover, input.gsc-search-button:focus {border-color:#666666;background-color:#CECECE;background-image:none;filter:none;}

.gsc-tabHeader.gsc-tabhInactive {border-color:#FF9900;background-color:#FFFFFF;}

.gsc-tabHeader.gsc-tabhActive {border-color:#E9E9E9;background-color:#E9E9E9;border-bottom-color:#FF9900}

.gsc-tabsArea {border-color:#FF9900;}

.gsc-webResult.gsc-result, .gsc-results .gsc-imageResult {border-color:#FFFFFF;background-color:#FFFFFF;}

.gsc-webResult.gsc-result:hover, .gsc-imageResult:hover {border-color:#FFFFFF;background-color:#FFFFFF;}

.gs-webResult.gs-result a.gs-title:link, .gs-webResult.gs-result a.gs-title:link b, .gs-imageResult a.gs-title:link, .gs-imageResult a.gs-title:link b {color:#0000CC;}

.gs-webResult.gs-result a.gs-title:visited, .gs-webResult.gs-result a.gs-title:visited b, .gs-imageResult a.gs-title:visited, .gs-imageResult a.gs-title:visited b {color:#0000CC;}

.gs-webResult.gs-result a.gs-title:hover, .gs-webResult.gs-result a.gs-title:hover b, .gs-imageResult a.gs-title:hover, .gs-imageResult a.gs-title:hover b {color:#0000CC;}

.gs-webResult.gs-result a.gs-title:active, .gs-webResult.gs-result a.gs-title:active b, .gs-imageResult a.gs-title:active, .gs-imageResult a.gs-title:active b {color:#0000CC;}

.gsc-cursor-page {color:#0000CC;}a.gsc-trailing-more-results:link {color:#0000CC;}

.gs-webResult .gs-snippet, .gs-imageResult .gs-snippet, .gs-fileFormatType {color:#000000;}

.gs-webResult div.gs-visibleUrl, .gs-imageResult div.gs-visibleUrl {color:#008000;}.gs-webResult div.gs-visibleUrl-short {color:#008000;}.gs-webResult div.gs-visibleUrl-short {display:none;}

.gs-webResult div.gs-visibleUrl-long {display:block;}.gs-promotion div.gs-visibleUrl-short {display:none;}

.gs-promotion div.gs-visibleUrl-long {display:block;}.gsc-cursor-box {border-color:#FFFFFF;}

.gsc-results .gsc-cursor-box .gsc-cursor-page {border-color:#E9E9E9;background-color:#FFFFFF;color:#0000CC;}

.gsc-results .gsc-cursor-box .gsc-cursor-current-page {border-color:#FF9900;background-color:#FFFFFF;color:#0000CC;}

.gsc-webResult.gsc-result.gsc-promotion {border-color:#336699;background-color:#FFFFFF;}

.gsc-completion-title {color:#0000CC;}.gsc-completion-snippet {color:#000000;}

.gs-promotion a.gs-title:link,.gs-promotion a.gs-title:link *,.gs-promotion .gs-snippet a:link {color:#0000CC;}

.gs-promotion a.gs-title:visited,.gs-promotion a.gs-title:visited *,.gs-promotion .gs-snippet a:visited {color:#0000CC;}

.gs-promotion a.gs-title:hover,.gs-promotion a.gs-title:hover *,.gs-promotion .gs-snippet a:hover {color:#0000CC;}

.gs-promotion a.gs-title:active,.gs-promotion a.gs-title:active *,.gs-promotion .gs-snippet a:active {color:#0000CC;}

.gs-promotion .gs-snippet, .gs-promotion .gs-title .gs-promotion-title-right, .gs-promotion .gs-title .gs-promotion-title-right * {color:#000000;}

.gs-promotion .gs-visibleUrl,

.gs-promotion .gs-visibleUrl-short {color:#008000;}

</style>

</div>

<?phpget_footer();?>

保存代码吧,我们的工作还没有完成,接下来可能会出现输入搜索词无效的问题。因为是从外部调用谷歌搜索引擎,它自然不知道你要搜索什么,所以要从URL中提取出搜索词:

在刚刚修改完成的search.php文件中搜索}, true,用下面的代码替换它:

varmatch=location.search.match(/q=([^&]*)(&|$)/);

if(match&&match[1])

{

varsearch=decodeURIComponent(match[1]);

customsearchcontrol.execute(search); }

}

大功告成!不过需要注意的是,在上面的代码中找到match(/q=([^&]*)(&|$)/),里面的q是根据搜索网址格式决定的,如果你搜索关键字XX得到的网址为http://domain.com/?s=XX,那么必须将q改成s才可正常使用。并且由于某些原因,有时使用Google的服务可能会被………………所以请慎重考虑。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年5月4日
下一篇 2024年5月4日

相关推荐

  • c语言数组自定义函数,C语言数组自定义函数十转二用whileb2

    C语言用二维数组定义一个自定义函数数组的最大值? 1、一般机器char的最大范围在10^7左右int在10^6左右,你是10^8级别太大了 如果用超级计算机就是非常大也没有问题的。 2、一个函数只能有一个return,后面的return不会被执行。解决方法可以考虑返回一个指针或者da函数传入一个全局变量的数组,在函数中修改这个数组的值。 3、也就是说你这个程…

    2024年5月20日
    4000
  • c语言除以大于自己的数据,c语言 大于等于

    c语言中怎么处理一个特别大的数据的运算? 大数处理一般就两种方式,一种是整型的方式,保存绝对准确值 在不出现溢出时,运算结果完全准确。当范围超过最大整型范围时,就需要用数组了 另外一种就是浮点数的方式,通过保存底数和指数的方式,以一定精度表示近似值。 可以用字符串进行处理。如果需要四则运算,可以通过模拟笔算的方法实现.字符串用来输入输出,用内存保存数(连续内…

    2024年5月20日
    5100
  • excel2007自字义序列,excel自定义序列怎么输入

    自定义序列怎么设置 word自动排序的设置方法是:打开word文档。然后可以选中需要排序的内容,然后单击鼠标右键,选择编号。在编号这里有很多种编号样式,可以选择自己喜欢的一种编号格式。选择好编号样式之后,序号就自动完成了。 点击excel 2003左上角的”office按钮“。打开以后,点击”excel选项“。进入excel选项,找到”编辑自定义列表“,点击…

    2024年5月20日
    4700
  • c语言调用cmd,C语言调用自定义函数的格式

    C/C++怎么让程序执行CMD命令? 首先打开C语言的编译器,可以选择Visual Studio、Code:Blocks或者Dev-C++等编译器软件。新建一个项目,由于调试的是命令行程序,所以这里要选择Windows控制台应用程序,然后给新项目取一个名称。 可以,system里面传入的是一个字符串,你可以先将时间写进这个字符串,然后再将这个字符串使用sys…

    2024年5月19日
    4200
  • java定义一个包排序,java sort自定义排序

    java中的排序 最主要的是冒泡排序、选择排序、插入排序以及快速排序冒泡排序 冒泡排序是一个比较简单的排序方法。在待排序的数列基本有序的情况下排序速度较快。 日常操作中,常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。 直接插入排序:最基本的插入排序,将第i个插入到前i-1个中的…

    2024年5月19日
    3000
  • java自定义标签实时搜索引擎,java自定义标签实时搜索引擎有哪些

    java中的map怎么根据key值修改value值? 1、map集合没有专门更改value的方法,更改value的方法就是map.put(key,value),更改就是直接替换,比如想改变key是1,value是一的组合,就是map.put(1,壹),直接替换就行。 2、map存值就类似于往一个瓶子中放东西,而key就是标签,value就是其中放的东西,而取…

    2024年5月19日
    4300
  • java解析自定义xml,java解析自定义网络协议

    java如何用sax创建和解析单标签xml? 1、JDOM生成和解析XML 为减少DOM、SAX的编码量,出现了JDOM 优点:20-80原则,极大减少了代码量。使用场合:要实现的功能简单,如解析、创建等,但在底层,JDOM还是使用SAX(最常用)、DOM、Xanan文档。 2、在java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAX…

    2024年5月19日
    4000
  • excel2007如何自定义函数,excel如何设置自定义函数

    excel中如何添加自己需要的函数? 1、选择要用于函数的单元格,然后在输入栏中输入=符号。这样就会启动函数功能。输入函数的名称。Excel内置了许多函数,您可以在函数列表中找到它们。例如,如果要创建一个求平均数的函数,您可以在输入栏中输入“=AVERAGE”。 2、首先打开要添加函数的WPS表格,然后点击要添加函数的单元格,找到上方工具栏里的【fx】,然后…

    2024年5月19日
    3900
  • 保护自己的网络安全知识,网络自我保护的小常识

    网络安全知识内容 网络安全知识内容是:网络攻击、信息安全、不可抵赖性、网络内部安全防范措施、网络杀毒、网络数据备份、网络灾难恢复、信息传播安全、网络安全。 常用的网络安全知识有:使用网络的时候,应该在电脑上设置安全防火墙,可以使用防火墙来帮助保护您的计算机。使用电脑或者手机,应先下载一个杀毒软件,杀毒软件也应该进行升级,并适时进行扫描杀毒,防止网络被黑客入侵…

    2024年5月18日
    5400
  • excel设置自定义格式,excel设置自定义格式8位

    在Excel中自定义数字格式 1、首先选中需要设置数字格式的单元格并点击鼠标右键,选择打开选项中的“设置单元格格式”。然后在打开的设置窗口中选择“数值”,即可在右侧窗口中看到可以设置小数位数,并勾选“使用千位分隔符”。 2、选中一个单元格,然后点击格式选项 点击设置单元格格式选项。选中数值选项,然后点击确定按钮。即可将选中的单元格设置为数字格式。 3、在电脑…

    2024年5月18日
    3600

发表回复

登录后才能评论



关注微信