所以,如果我理解得很好,您希望使用特定页面作为搜索结果页面。
这有点棘手,因为当您在搜索页面上时,当前查询是由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”。如果您使用“搜索”作为标题,则会自动分配该段代码。
最后将横幅添加到该页面。