我们都知道,WordPress搜索结果页面的默认链接是这样的:domain/?s=[search query],例如
https://www.wpdaxue.com/?s=wordpress入门
这样的链接实在是有些混乱,你可以将它修改为
https://www.wpdaxue.com/search/wordpress入门
只需要将下面代码添加到当前主题的 functions.php 文件即可:
//修改搜索结果的链接
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)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
用了这种样式后,搜索中文就搜不到结果了,不用就能搜到,什么情况,能解决吗。。。。
能够通过编写伪静态规则解决吗,不过我也不知道怎么编写伪静态规则。。。求指教
hi,试了,有效果。不过,也出现个问题,不知道是不是BUG。求助,谢谢啦!
当删除function。php里这段代码,再来搜索的时候,搜索的链接还是没有恢复成默认的样子。
多谢啦!
倡萌,我最近在学制作wordpress主题。但他们的教程很多都没有具体说如何制作search.php。
我知道search.php可以从archive.php页面拷贝过来,我主要是想问,比如我搜索“kkkkkk”,搜索结果页面显示“对不起,啥都没找到,换个关键词再试试?”
这个返回效果如何实现?在哪里添加函数?这个函数是什么?
一般来说,你需要判断一下是否有结果,使用
if ( have_posts() ) :
如果有,就输出正常的循环,否则
else :
输出你想显示的任何内容,比如你上面说的
最后,结束判断
endif;
好像你自己都没用
这段代码有问题的,?s 和/search/ 后者好像搜索不到内容标题关键字的,你试下~
请教啊,我的站中文搜索关键字没有任何结果显示/引文正常 完全找不到解决的方法。向倡萌你求教求教 地址 jenniferbeals.cn
没遇到过,不知到底什么原因,建议你禁用所有插件,看看行不行,或者更换其他主题,检测是不是主题的问题,如果是主题问题,自己再检查到底是哪里出问题
感谢回复。 可是默认主题和停用插件都已经试过了, 还是那样的问题
那就要考虑到底是不是服务器的问题
或者也有可能是数据库问题