我正在使用以下代码query_posts
要组合自定义搜索,请执行以下操作:
$args = array(
\'post_type\' => \'species\',
\'meta_query\' => $meta_query,
\'tax_query\' => $tax_query
);
$meta_query
由以下几段代码组成:
if (!empty($_POST["s_aquarium_H"])) {
$val = convert_values(\'size\', $size, $_POST["s_aquarium_H"]);
$aquarium_H = array(
\'key\' => \'aquarium_H\',
\'value\' => $val,
\'type\' => \'numeric\',
\'compare\' => \'<=\'
);
$meta_query[] = $aquarium_H;
}
此功能运行良好,可通过访问
/advanced-search/
.
但是,我的分页没有。单击时Next Entries
, URL更改为/advanced-search/page/2/
但只需重新打开高级搜索表单即可。
我想这是因为我$_POST
. 有没有一种方法可以使用分页$_POST
或者我需要将代码更改为get_query_var
还是什么?
<小时>
EDIT
我的重写规则似乎是正确的:
/advanced-search/page/2/
显示器
pagename: advanced-search, paged: 2
在Monkeyman的重写分析器插件中。
<小时>
FURTHER EDIT
我的
advanced-search.php
页面使用以下代码确定是显示搜索表单还是显示结果。如果要使用分页,我想这需要重写:
<?php if ( isset( $_POST["act"] ) && $_POST["act"] == "s" ) : ?>
有人对我如何重写这篇文章有什么想法吗?我想是吧
GET
而不是
POST
是否需要使用?
提前谢谢你,
SO网友:Sagive
Add this to your query:
\'paged\' => get_query_var(\'paged\')
Like so:
$args = array(
\'post_type\' => \'species\',
\'meta_query\' => $meta_query,
\'tax_query\' => $tax_query,
\'paged\' => get_query_var(\'paged\')
);
应该做到这一点。。使用Wp pageNavi?不要忘记在循环结束后添加wp pagenavi标记
<div class="navigation"><?php wp_pagenavi(); ?></div>
希望这有帮助;)<干杯,萨吉夫。