WordPress集成多种站内搜索、百度嵌入式搜索,并伪静态化的方法 - 汇站网
WordPress集成多种站内搜索、百度嵌入式搜索,并伪静态化的方法
最近更新 2022年04月05日
资源编号 21342

WordPress集成多种站内搜索、百度嵌入式搜索,并伪静态化的方法

2021-12-22 WordPress教程 0 1,091
温馨提示丨升级SVIP终身会员可免费下载海量资源
下单流程:
选择资源
赞助获取
网盘下载
额外(二次开发 网站建设)
立即下载 升级会员 下单教程 售后支持
  下载须知
下载前请认真阅读本重要提示:“如下载按钮未弹出请检查您的浏览器是否安装了某个扩展插件导致JS不兼容,换浏览器或者关闭该扩展插件即可!本站以用户的需求为基础,将最有价值的信息和资源分享给广大编程人员及源码爱好者调试、参考和研究。本站不提供任何技术服务,所有资源禁止任何商业环境使用,杜绝利用本站资源进行触犯国家法律法规,下载者如触犯以上声明,所产生的一切后果由下载者自行承担!请悉知!其次,源码模板过多不能保证每个细节都符合你的需求,也可能存在未知的BUG与瑕疵、残次和版本过旧等问题。你下载的资源和程序源码组件因其特殊性均为可复制品,所以不支持任何理由的退款兑现;请认真阅读本站声明和相关条款,谨慎斟酌后再下载”!
SVIP活动倒计时仅剩:-23时-33分-60秒523毫秒
详情介绍

分享之前先吐槽一下:最近阿里巴巴云爆发了云盾误删 ECS 文件的坑坑洼洼,最后只能通过回滚来解决。刚听到这个消息,我赶紧看了看我的 ECS,没有发现明显的异常。

这两天慢慢发现最近修改的一些代码已经恢复了。例如,评论审核后的通知功能被明显删除。今天有个朋友 QQ 告诉我,我收到的邮件里的文章地址错了。看到网友的

截图

,知道是评论的评论通知邮件。我看了看代码,果然,之前所有的评论都被删除了。比如我明明屏蔽了一个插件的菜单,今天又看到了。

似乎还是受到了一定的影响,确实是回滚了!还好最近没有乱搞代码,不然都是白忙活!

WordPress集成多种站内搜索、百度嵌入式搜索,并伪静态化的方法

第一,综合搜索
在使用 HotNewsPro 的主题时,汇站集成了三个站内搜索,分别是百度、360 和默认搜索。更改为“开始”主题后,前面的功能在第一时间被翻译。

一开始就有朋友让我分享部署方法。我真的太忙了,但我太忙了,不能这么做。事实上,一点点站立能力就能把这个东西摘走。。。

第二,修改代码
①搜索伪静态。
什么是搜索伪静态?

众所周知,WordPress 的默认搜索地址是 http://www.domain.com/?. S =关键字这是一个动态地址,与全站的伪静态有点格格不入,不利于静态缓存。

很简单,将以下代码添加到主题下的functions.php:

//默认搜索伪静态
function wp_search_url_rewrite() {
    if ( is_search() && ! empty( $_GET['s'] ) ) {
        wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) . "/");
        exit();
    }
}
add_action( 'template_redirect', 'wp_search_url_rewrite' );

现在去前台搜索,会发现结果会跳转到[/search/ keywords]。当然,为了让搜索直接转到这个页面,而不是跳转到 301,我们可以稍微修改一下这个搜索框。

通用搜索框代码如下:

<div id="searchbar">
	<form method="get" id="searchform" action="https://www.huizhanii.com/">
		<input type="text" name="s" id="s" placeholder="输入搜索内容" />
		<button type="submit" id="searchsubmit">搜索</button>
	</form>
</div>

输入内容,点击搜索,你会跳转到?s =这个动态页面的关键字。因此,我们需要通过 js 代码截取这个搜索动作,然后重新定义跳转地址并修改代码如下:

<div id="searchbar"> <form method="get" id="searchform" action="https://www.huizhanii.com/search/">
    <input id="wp_search" placeholder="请输入搜索内容" onkeydown="if(event.keyCode==13){return Searcher('wp');}">
    <button type="submit" id="searchsubmit" onclick="return Search('wp');">搜索</button>
</form>
</div>
<script type="text/javascript">
function Search(){
    var value=$("#wp_search").val()||"";
    window.open("https://www.huizhanii.com/search/"+value+"/"); 
    return false;
}
</script>

很简单的代码,原理是把一个 js 函数绑定到【搜索】动作上,这个 js 函数的作用是得到当前输入的关键词,把它们拼接成一个新的地址,最后跳到过去。

这样就实现了 WordPress 默认搜索的伪静态。显然,这种方法适用于任何 WP 话题。

Ps:其实是用 Nginx 或者 Apapche 的伪静态规则实现的,性能会更好!让我们稍后做一些研究。

②整合多个搜索。
多次搜索?什么样的?

这取决于你的心情。只要找出内容,可以随便加几个!除了百度高度兼容的站内搜索,其他网站无非就是用站点说明+关键词。

比如 360 好搜,搜索张歌博客的一个关键词,直接访问以下链接:

https://www.haosou.com/s? Q =站点% 3 张. ge+移动适配

那么其他任何搜索引擎基本都可以按照葫芦画瓢来做。很明显,这个方法会使用上面共享的 JS 函数,但是需要稍微修改一下,这样函数才能多次使用。

比如我想同时集成 360 和默认搜索。代码可以编写如下:

<div id="searchbar"> <form method="get" id="searchform" action="https://www.huizhanii.com/search/">
    <input id="wp_search" placeholder="请输入搜索内容" onkeydown="if(event.keyCode==13){return Searcher('wp');}">
    <button type="submit" id="searchsubmit" onclick="return Search('wp');">搜索</button>
</form>
</div>
<div id="searchbar">
<form method="get" id="searchform" action="http://www.haosou.com/s?q=site%3Azhang.ge">
    <input class="swap_value" id="haosou" placeholder="请输入好搜站内搜索关键词"  onkeydown="if(event.keyCode==13){return Search('haosou');}">
    <button type="submit" id="searchsubmit" onClick="return Search('haosou');">好搜一下</button>
</form>
</div>
<script type="text/javascript">
/* 无非就是多一个传参嘛! */
function Search(type){
    if (type=="haosou") {
        var value=$("#haosou").val()||"";
        window.open("http://www.haosou.com/s?q="+value+"+site%3Azhang.ge"); 
    } else {
        var value=$("#wp_search").val()||"";
        window.open("https://www.huizhanii.com/search/"+value+"/"); 
    }
    return false;
}
</script>

写了这么多,更多搜索引擎,你应该可以自己搞定了吧?

三、Begin 专用
Begin 的就简单了,直接用张戈现在用的代码即可。

编辑 Begin 主题下的 inc/search-baidu.php 文件,替换为以下代码(域名请自行替换):

<div id="searchbar">
    <!-- 这里用到的是百度的内嵌搜索,begin 主题已经集成了,注意/search 路径修改成实际的搜索页面 -->
	<form method="get" id="searchform" action="https://www.huizhanii.com/search/" target="_blank">
		<input class="swap_value" placeholder="请输入百度站内搜索关键词" name="q">
		<button type="submit" id="searchsubmit">百度一下</button>
	</form>
</div>
<div id="searchbar">
<form method="get" id="searchform" action="http://www.haosou.com/s?q=site%3Azhang.ge">
    <input class="swap_value" id="haosou" placeholder="请输入好搜站内搜索关键词"  onkeydown="if(event.keyCode==13){return Search('haosou');}">
    <button type="submit" id="searchsubmit" onClick="return Search('haosou');">好搜一下</button>
</form>
</div>
<div id="searchbar"> <form method="get" id="searchform" action="https://www.huizhanii.com/search/">
    <input class="swap_value" id="wp_search" placeholder="请输入博客站内搜索关键词" onkeydown="if(event.keyCode==13){return Searcher('wp');}">
    <button type="submit" id="searchsubmit" onclick="return Search('wp');">默认搜索</button>
</form>
</div>
<script type="text/javascript">
function Search(type){
    if (type=="haosou") {
        var value=$("#haosou").val()||"";
        window.open("http://www.haosou.com/s?q="+value+"+site%3Azhang.ge"); 
    } else {
        var value=$("#wp_search").val()||"";
        window.open("https://www.huizhanii.com/search/"+value+"/"); 
    }
    return false;
}
</script>

然后,在后台关闭主题选项中的默认搜索功能,因为上面的代码已经集成了!

最后效果如图。当然,直接在博客右上角搜索就可以了:

WordPress 集成了多种站内搜索、百度嵌入式搜索和伪静态方法。

第四,百度嵌入式
这个功能已经退出有一段时间了。发现后,尽快推荐给鸟哥。因此,Begin 的后期版本也集成了这个功能。因此,使用 Begin 主题的朋友下面的内容可以跳过。

个人觉得不错。比之前把百度搜索和 cname 整合起来更和谐,因为用的是二级目录。如果您感兴趣,可以查看官方帮助文档,了解更多关于参数的用法和含义。

让我们简单分享一下集成方法:

(1)、复制主题目录下的页面模板(通用名为 page.php),如果复制后名称为 bdsearch.php;

②编辑复制的 bdsearch.php,将文件头的模板名称改为百度嵌入式搜索,例如:

<?php
/*
Template Name: 百度嵌入式搜索
*/
?>

③、找到如下类似代码:

<?php the_content('More &raquo;'); ?>

然后替换为如下内容即可:

<div id="bdcs-frame-box"></div>
<script type="text/javascript">
var bdcsFrameSid="此处填写你的百度站内搜索 ID";
var bdcsFrameCharset= "utf-8";
var bdcsFrameWidth = 650; //宽度请自行调整
var bdcsFrameHeight = 0;
var bdcsFrameWt = 1;
var bdcsFrameHt = 2;
var bdcsFrameResultNum = 20;
var bdcsFrameBgColor = "#fff";
var bdcsRecommend = 0;
var bdcsDefaultQuery = 0;
var bdcsRemoveUrl = 0;
</script>
<script type="text/javascript" src="http://zhannei.baidu.com/static/js/iframe.js"></script>

④最后新建页面,选择【百度嵌入式搜索】作为模板,发布。

发布后,当你访问这个页面地址时,会有一个默认的百度站点搜索,它嵌入在 iframe 中:

WordPress 集成了多种站内搜索、百度嵌入式搜索和伪静态方法。

接下来,我们必须修改搜索框,以便关键字可以传递到此页面。

每个主题的搜索框都不一样,所以这里不能给出直接可用的代码。请参考以下代码自行修改:

<form method="get" id="searchform" action="https://www.huizhanii.com/search/" target="_blank">
	<input class="swap_value" placeholder="请输入百度站内搜索关键词" name="q">
	<button type="submit" id="searchsubmit">百度一下</button>
</form>

以上内容,多多少少会涉及到 CSS 样式的调整,这是折腾主题的必备技能之一!所以样式问题就请自行搞定,这样才能学的更多,得到最大的收获!

转载请注明:汇站网 » WordPress 集成多种站内搜索、百度嵌入式搜索,并伪静态化的方法

温馨提示:(本资源会持续更新),若下载链接失效,请在下方(留言)或在网站左侧导航栏(私信)站长处理!
收藏 (0)

微信扫一扫

支付宝扫一扫

点赞 (0)

感谢您的来访,获取更多精彩资源请收藏本站。

本站声明

本资源仅用于个人学习和研究使用,禁止用于任何商业环境!

 1.  本网站名称:汇站网
 2.  本站永久网址:https://www.huizhanii.com/
 3.  本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
 4.  未经原版权作者许可,禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
 5.  为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
 6.  若资源侵犯了您的合法权益, 请持您的版权证书和相关原作品信息来信通知我们请来信     通知我们我们会及时删除,给您带来的不便,我们深表歉意!
 7.  如下载链接失效、广告或者压缩包问题请联系站长处理!
 8.  如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
 9.  本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
 10.  因源码具有可复制性,一经赞助 ,不得以任何形式退款。
 11.  更多详情请点击查看

汇站网 WordPress教程 WordPress集成多种站内搜索、百度嵌入式搜索,并伪静态化的方法 https://www.huizhanii.com/21342.html

汇站

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

发表评论
暂无评论
  随机评论 表情开关按钮图片
表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情
登录后评论
联系官方客服

为您解决烦忧 - 24小时在线 专业服务

(汇站网)一个专注站长资源的平台网站,提供最新的网站模板和整站源码,内容包含各类精品网页模板,企业网站模板,网站模板,DIV+CSS模板,织梦模板,帝国cms模板,discuz模板,wordpress模板,个人博客论坛模板,上千种免费网页模板下载尽在汇站网.找源码上汇站.huizhanii.com