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

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

Loading
0
阿里云代金券1000元礼包免费抢

我们都知道,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)

支付宝扫码打赏 微信打赏

如果本文对你有帮助,请打赏作者,鼓励我们继续写作!

WordPress快站:让WordPress建站更简单

关于 倡萌

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

精彩推荐

WordPress 图片灯箱插件 Responsive Lightbox

WordPress 图片灯箱插件 Responsive Lightbox

将WordPress的作者存档链接重定向到about页面

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

发表评论