性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

修改WordPress搜索结果的链接样式

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

我们都知道,WordPress搜索结果页面的默认链接是这样的:domain/?s=[search query],例如

1
https://www.wpdaxue.com/?s=wordpress入门

这样的链接实在是有些混乱,你可以将它修改为

1
https://www.wpdaxue.com/search/wordpress入门

只需要将下面代码添加到当前主题的 functions.php 文件即可:

1
2
3
4
5
6
7
8
//修改搜索结果的链接
function redirect_search() {
	if (is_search() && !empty($_GET['s'])) {
		wp_redirect(home_url("/search/").urlencode(get_query_var('s')));
		exit();
	}
}
add_action('template_redirect', 'redirect_search' );

注:需要主机支持伪静态(即支持 rewrite)

支付宝扫码打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

MetInfo | 最适合企业网站建设的cms系统

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

精彩推荐

删除 WordPress 旧的文章别名(slug)

删除 WordPress 旧的文章别名(slug)

WordPress在指定页面显示/隐藏小工具的插件:Restrict Widgets

WordPress在指定页面显示/隐藏小工具的插件:Restrict Widgets

12 条评论

  1. 用了这种样式后,搜索中文就搜不到结果了,不用就能搜到,什么情况,能解决吗。。。。

  2. hi,试了,有效果。不过,也出现个问题,不知道是不是BUG。求助,谢谢啦!

    当删除function。php里这段代码,再来搜索的时候,搜索的链接还是没有恢复成默认的样子。

    多谢啦!

  3. 倡萌,我最近在学制作wordpress主题。但他们的教程很多都没有具体说如何制作search.php。
    我知道search.php可以从archive.php页面拷贝过来,我主要是想问,比如我搜索“kkkkkk”,搜索结果页面显示“对不起,啥都没找到,换个关键词再试试?”
    这个返回效果如何实现?在哪里添加函数?这个函数是什么?

    • 一般来说,你需要判断一下是否有结果,使用
      if ( have_posts() ) :
      如果有,就输出正常的循环,否则
      else :
      输出你想显示的任何内容,比如你上面说的
      最后,结束判断
      endif;

  4. 这段代码有问题的,?s 和/search/ 后者好像搜索不到内容标题关键字的,你试下~

  5. 请教啊,我的站中文搜索关键字没有任何结果显示/引文正常 完全找不到解决的方法。向倡萌你求教求教 地址 jenniferbeals.cn

发表评论