Pagination on custom query

时间:2012-03-31 作者:turbonerd

我正在使用以下代码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的重写分析器插件中。

Rewrite Rules

<小时>

FURTHER EDIT

我的advanced-search.php 页面使用以下代码确定是显示搜索表单还是显示结果。如果要使用分页,我想这需要重写:

<?php if ( isset( $_POST["act"] ) && $_POST["act"] == "s" ) : ?>
有人对我如何重写这篇文章有什么想法吗?我想是吧GET 而不是POST 是否需要使用?

提前谢谢你,

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

归根结底,这与分页无关——就其本身而言。

我需要将整个表单更改为GET 方法和$_REQUEST 变量而不是POST$_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>

希望这有帮助;)<干杯,萨吉夫。

SO网友:Rajeev Vyas
if (!empty($_REQUEST["s_aquarium_H"])) {
   $_GET["s_aquarium_H"] = $_REQUEST["s_aquarium_H"];
    $val = convert_values(\'size\', $size, $_REQUEST["s_aquarium_H"]);
    $aquarium_H = array(
        \'key\' => \'aquarium_H\',
        \'value\' => $val,
        \'type\' => \'numeric\',
        \'compare\' => \'<=\'
    );
    $meta_query[] = $aquarium_H;
}
结束

相关推荐

WP_query and pagination?

我必须获得一些自定义的帖子类型,并且需要使用WP\\u Query(Query\\u帖子不起作用)。如何分页?不管我怎么做都没用。。。任何帮助都太棒了,我无法独自解决这个问题。。。$args = array( \'tax_query\' => array( \'posts_per_page\' => 5, array( \'author\' => $user_id, \'taxonomy\' => \'c