分页和自定义搜索页面

时间:2014-07-19 作者:OmAk

过去两天我一直在讨论一个问题。我有一个CPT-“listings”。这是它的archive page

在这里之前,一切都很好。

我在那里输入了一个搜索表单,并将其添加到pre_get_posts:

if ($query->is_main_query() && $query->is_post_type_archive(\'listings\') &&  !is_admin() && is_search()) {

echo \'<br/>me runnning<br/>\';

$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$query->set(\'paged\', $paged);

$query->set(\'posts_per_page\', 1);
“函数”中的另一个代码。php“将我的搜索重定向到”archive\\u listings。php”,这与“listings”CPT的存档页相同

当我进行搜索时,显示的结果很好。

当我试图进入搜索结果的第二页时,出现了问题。

当我点击下一页搜索结果时,它会将我带到wwwsitename。com/listings/page/2

这是存档列表默认结果的页面。

换句话说,当我尝试移动到下一页时,查询会忘记搜索词,并获取列表的默认存档的第二页print_r($wp_query) 这有助于理解问题

我尝试了来自支持论坛、stack exchange和其他博客的几个代码块。

如有任何建议,我们将不胜感激。

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

您正在将查询过帐到archive_listings. 您需要使用get方法并将搜索查询保留在URL中,或者如果存在查询变量,则应将搜索查询存储在会话中并处理页面结果。

结束

相关推荐

Pagination on Custom Loop

我想将最新帖子的样式与自定义页面上某个类别中的所有其他帖子的样式不同。到目前为止,我有下面的代码,它正是这样做的:<?php if (have_posts()) : ?> <?php query_posts(\"cat=4&showposts=1\"); ?> <?php while (have_posts()) : the_post(); ?> (Style1)<?php the_title(); ?><