如何将搜索结果页面与后端页面挂钩?

时间:2013-11-22 作者:John

在我的网站上,编辑可以将“横幅”图像上传到网站的每个页面。然而,我很难弄清楚如何将搜索结果页面链接到后端页面(即显示在example.com/?s=searchterm上的页面)。

是否有人有任何关于在后端“链接”到搜索结果页面的页面的提示,以便用户可以将横幅上传到后端管理的页面,并将其显示在搜索结果页面上?

我在谷歌上搜索了一下,在Wordpress的抄本上找到了这个页面:http://codex.wordpress.org/Creating_a_Search_Page 然而,这里描述的方法似乎不起作用。

任何帮助都将不胜感激。

1 个回复
最合适的回答,由SO网友:gmazzap 整理而成

所以,如果我理解得很好,您希望使用特定页面作为搜索结果页面。

这有点棘手,因为当您在搜索页面上时,当前查询是由url中的搜索词创建的查询,但要获得特定页面,您需要对该页面进行查询。

因此,您需要2个查询。这对性能来说并不理想,可能使用不同的方式将横幅链接到页面,您可以更有效地解决此问题。

不过,让我们来回答您的问题。

在搜索结果页中,WordPress使用search.php 显示结果的模板。看见WordPress template hierarchy.

如果search.php 不存在,您的主题正在使用index.php 要显示搜索结果,在这种情况下,请复制index.php 重命名副本search.php: 这样,您就有了搜索结果的特定模板。

如果您使用的是第三方开发的主题,那么在child theme, 这样,当您更新主题时,您不会丢失更改。

您没有说明如何将横幅链接到页面,我假设您将横幅上传为特色图像,如果您的做法不同(例如使用自定义字段),请相应地编辑代码。

打开您的search.php 以及您要显示横幅的位置使用:

global $post;
$post = get_page_by_path(\'search\');
setup_postdata($post);
// now the page with slug \'search\' is treated as it was the current page
// so retrieve the banner just like you do in normal page
// I\'ll use page featured image
the_post_thumbnail();
wp_reset_postdata();
现在,您必须进入仪表板,创建一个页面并将其指定为slug“search”。如果您使用“搜索”作为标题,则会自动分配该段代码。

最后将横幅添加到该页面。

结束

相关推荐

Advanced searching form

我正在尝试在前端页面上为用户创建一个高级搜索页面。我一直在努力寻找,但要找到一些教程或示例源代码并不容易。我发现可以在管理面板上放置一些过滤器。我正在寻找这样的前端用户。See this tutorial for admin panel我需要为用户创建这样的前端。这是自定义帖子类型搜索。有什么建议吗?教程,样例代码?感谢您抽出时间,祝您周末愉快;)