没有编号的分页自定义文章类型

问题描述:

我有一个问题,只显示我的Wordpress页面上的编号分页。没有编号的分页自定义文章类型

<?php 
/** 
* Template Name: Sale template 
*/ 
?> 
<?php 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 

$args = array(
    'post_type' => array(
     'houten_vloeren', 'keramische_tegels', 'natuursteen_vloeren', 'tegels', 'laminaat', 'pvc_vloeren', 'tafels_stoelen', 

    ), 
    'posts_per_page' => 5, 
    'post_status' => 'publish', 
    'paged' => $paged, 
    'meta_query' => array(
     'key' => 'prijsknaller', 
     'value' => '1', 
     'compare' => '==', 
     //'type' => 'date', 
    ), 
); 
$query = new WP_Query($args); 
?> 

<div class="container"> 
    <div class="row"> 
     <div class="col-md-12"> 
      <div class="row"> 
       <div class="product-overview"> 

        <?php if ($query->have_posts()) : 
         while ($query->have_posts()) : $query->the_post(); ?> 
          <div class="col-md-3"> 
           <div class="featured-block"> 
            <div class="featured-block-image"> 
             <a href="<?php the_permalink(); ?>"><img src="<?php the_field('productafbeelding'); ?>" 
                       alt="<?php the_title(); ?>"></a> 
            </div> 
            <div class="featured-block-info"> 
             <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4> 
             <?php if (get_field('prijs_oud')) : ?> 
              <span class="oud"><?php the_field('prijs_oud'); ?></span> 
             <?php endif; ?> 
             <span class="nieuw"><?php the_field('prijs_nieuw'); ?></span> p/m<sub>2</sub> 
            </div> 
           </div> 
          </div> 

         <?php endwhile; ?> 
        <?php endif; ?> 
        <?php the_posts_pagination(array(
         'prev_text' => '&laquo;', 
         'next_text' => '&raquo;', 
        )); ?> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

查询返回约70个产品,所以我期望它至少显示7个数字。但是,它没有显示任何分页。

+0

多少职位被查询返回的? – Regolith

+0

只有70个产品 – idontknow

如果您提供完整的代码,将更容易找出您的问题。

可能是你使用wp_reset_postdata();在the_posts_pagination()之前;

请检查。

+0

好吧,我会更新我的openspost,其中包括整个代码。 – idontknow

试试这个代码,它肯定帮助您

 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;  

$args = array(
    'post_type'  => array (
         'houten_vloeren', 'keramische_tegels', 'natuursteen_vloeren', 'tegels', 'laminaat', 'pvc_vloeren', 'tafels_stoelen', 

         ), 
    'posts_per_page' => 5, 
    'post_status' => 'publish',  
    'paged'   => $paged, 
    'meta_query'  => array (
          'key' => 'prijsknaller', 
          'value' => '1' , 
          'compare' => '==', 
          //'type' => 'date', 
          ), 
    ); 
$wp_query = new WP_Query($args); 
+0

请添加关于您更改的内容以及为什么/如何工作的解释。 更多信息[here](https://stackoverflow.com/help/how-to-answer)。 – NaeiKinDus

+0

不幸的是,它没有工作。我更新了我的开场白。 – idontknow

+0

有时,wordpress无法识别它们是否是wp_query中的直接查询,所以试图将代码放在单独的变量中有助于。因此,为什么我使用了$ args,并在wp_query中使用了它。 –

这种替换代码:

<?php 
/** 
* Template Name: Sale template 
*/ 
?> 
<?php 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
if ($paged == "1") { 
    $args = array(
    'post_type' => array(
     'houten_vloeren', 'keramische_tegels', 'natuursteen_vloeren', 'tegels', 'laminaat', 'pvc_vloeren', 'tafels_stoelen', 

    ), 
    'posts_per_page' => 5, 
    'post_status' => 'publish', 
    'paged' => $paged, 
    'offset' => 0, 
    'meta_query' => array(
     'key' => 'prijsknaller', 
     'value' => '1', 
     'compare' => '==', 
     //'type' => 'date', 
    ), 
); 
} else { 
    $offset = $paged * 5; 
    $offset = $offset - 5; 
    $args = array(
    'post_type' => array(
     'houten_vloeren', 'keramische_tegels', 'natuursteen_vloeren', 'tegels', 'laminaat', 'pvc_vloeren', 'tafels_stoelen', 

    ), 
    'posts_per_page' => 5, 
    'post_status' => 'publish', 
    'paged' => $paged, 
    'offset' => $offset, 
    'meta_query' => array(
     'key' => 'prijsknaller', 
     'value' => '1', 
     'compare' => '==', 
     //'type' => 'date', 
    ), 
); 
} 

$query = new WP_Query($args); 
?> 

<div class="container"> 
    <div class="row"> 
     <div class="col-md-12"> 
      <div class="row"> 
       <div class="product-overview"> 

        <?php if ($query->have_posts()) : 
         while ($query->have_posts()) : $query->the_post(); ?> 
          <div class="col-md-3"> 
           <div class="featured-block"> 
            <div class="featured-block-image"> 
             <a href="<?php the_permalink(); ?>"><img src="<?php the_field('productafbeelding'); ?>" 
                       alt="<?php the_title(); ?>"></a> 
            </div> 
            <div class="featured-block-info"> 
             <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4> 
             <?php if (get_field('prijs_oud')) : ?> 
              <span class="oud"><?php the_field('prijs_oud'); ?></span> 
             <span class="nieuw"><?php the_field('prijs_nieuw'); ?></span> p/m<sub>2</sub> 
            </div> 
           </div> 
          </div> 

         <?php endwhile; ?> 
        <div class="pagination-grp"> 
         <?php 
         $big = 999999999; // need an unlikely integer 
         //$i=1; 

         echo paginate_links(array(
          'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))), 
          'format' => '?paged=%#%', 
          'current' => max(1, get_query_var('paged')), 
          'prev_text' => __('<'), 
          'next_text' => __('>'), 
          'total' => $loop->max_num_pages 

         )); 
         wp_reset_postdata(); 
         endif; 
         ?> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 
+0

谢谢,但这是无效的PHP代码。我修复了你的php,但是.pagination-grp div仍然是完全空的。 – idontknow