【问题标题】:Why do my pagination displays the max number of pages when it's supposed to display only 1 or 2 pages?为什么我的分页应该只显示 1 或 2 页时显示最大页数?
【发布时间】:2017-07-06 20:06:23
【问题描述】:

搜索.php

当我的查询搜索了7个只需要显示1页的结果时,为什么我的分页显示最大页数

                <?php // $s=$ _GET[ 's']; $catnum=$ _GET[ 'catnum']; $type=$ _GET[ 'type']; $low=$ _GET[ 'low']; $high=$ _GET[ 'high']; $unit_size_x=$ _GET[ 'unit_size_x']; $unit_size_y=$ _GET[ 'unit_size_y']; $post_tag=$ _GET[ 'post_tag']; // if($catnum){ // $taxquerysp[]=a rray( // 'taxonomy'=>'property_categories', // 'include_children'=>false, // 'field'=>'term_id', // 'operator'=>'AND' // ); // } // if($post_tag){ // $taxquerysp[] = array( // 'taxonomy'=>'property_categories', // 'include_children'=>false, // 'field'=>'slug', // 'operator'=>'AND' // ); // } // if($type){ // $metaquerysp[] = array( // 'key'=>'type', // 'value'=> $type, // 'compare'=>'=', // ); // } $metaquerysp[] = array( 'key'=>'monthly_rent', 'value'=>array( $low, $high ), 'compare'=>'BETWEEN', 'type'=>'NUMERIC', ); $metaquerysp[] = array( 'key'=>'unit_size', 'value'=>array( $unit_size_x, $unit_size_y ), 'compare'=>'BETWEEN', 'type'=>'NUMERIC', ); $metaquerysp['relation'] = 'AND'; ?>


                <?php $paged=g et_query_var( 'paged') ? get_query_var( 'paged') : 1; $args=a rray( 'post_type'=> 'property', 'posts_per_page' => 9, 'orderby' => 'DATE', 'paged' => $paged, // 's' =>$s // 'tax_query' => $taxquerysp, 'meta_query' => $metaquerysp ); ?>
                <?php $query=n ew WP_Query( $args ); ?>


                <div class="mtb30" style=" display: block;">
                    <?php if($query -> have_posts()): ?>
                    <?php while($query -> have_posts()): $query->the_post();?>

                            <p>
                                <?php the_excerpt(); ?>
                            </p>
                        </div>
                    </div>
                    <?php endwhile; ?>
                    <?php else: ?>

                    <?php endif; ?>
                </div>


                <?php wp_reset_postdata();?>

            </div>
        </div>

    <?php if (function_exists( "pagination")) { pagination($wp_query->max_num_pages); } ?>

这是我作品的网址link

【问题讨论】:

  • 将所有相关代码作为文本粘贴到您的问题中,不是作为图像。
  • 对不起,我是新来的,我已经编辑过了,谢谢。
  • 您正在定义和使用$query,但您将$wp_query-&gt;max_num_pages 发送到分页。不应该发$query-&gt;max_num_pages吗?
  • 解决了问题,我怎么错过了。谢谢@MagnusEriksson
  • 我已经把它写成一个答案,所以你可以接受它。

标签: php html wordpress


【解决方案1】:

您将过滤后的结果存储在变量 $query 中,但稍后,为了分页,您将改用 $wp_query

如果你改变它应该可以工作:

pagination($wp_query->max_num_pages);

pagination($query->max_num_pages);

这应该给你max_num_pages你实际进行的查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 2022-09-21
    相关资源
    最近更新 更多