分页不起作用,我考虑修复或重新编码

时间:2019-01-09 12:49:42

标签: wordpress pagination

我编码了一个wordpress站点,并且自从一段时间以来,分页效果很好。然后它停止工作。

我尝试了不同的插件,但是没人能用。我想将分页放在自编码循环中的特殊位置。因此,bestwebsoft插件似乎是最好的,因为它提供了通过使用一些PHP来显示分页的选项。但这也不起作用。 bestwebsoft的支持没有帮助,它们只会重复我在文档中可以阅读的内容。

我的问题: 1)我的循环中最终是否会出现问题,从而无法显示分页? 2)我使用“砌体”来显示摘录并以水平方式订购摘录是否有问题?也许这会干扰分页?

    <div class="grid" data-masonry='{ "itemSelector": ".grid-item", 
    "columnWidth": 285, "gutter": 20 }'>

    <?php
    $args = array(
    'post_type' => array('post',
    'os_buch_review',
    'os_review',
    'os_classic_review',
    'os_versus',
    ),
    'post_status' => 'publish',
    'nopaging' => false,
    'posts_per_page' => '20',
    'order' => 'DESC',
    'orderby' => 'date',
    'cat' => '-5738,-1705, -5933',
    );

    $tk_startteaser_querie = new WP_Query( $args );
    if( $tk_startteaser_querie->have_posts() ) :
    ?>

    <?php
    while( $tk_startteaser_querie->have_posts() ) :
    $tk_startteaser_querie->the_post();
    ?>

    <div class="grid-item">
     <a class="linkclass" href="<?php the_permalink(); ?>"></a>
     <h3 class="entry-title"><?php the_title(); ?></h3>

     <?php
      if ( has_post_thumbnail() ) {
      the_post_thumbnail('medium');
      }
     ?>

    <?php the_excerpt(); ?>

    </div><!-- grid-item -->

   <?php
   endwhile;

    if ( function_exists( 'pgntn_display_pagination' ) ) { 
    pgntn_display_pagination( 'posts' ); 
    }

   wp_reset_postdata();
   ?>

    <?php
    else :
    esc_html_e( 'Derzeit keine Beiträge!', 'text-domain' );
    endif;
    ?>

    </div><!--grid-->

我想进行一些分页。我希望使用一个自编码的编码,但无法做到。因此,我也接受插件解决方案。但是什么都行不通!最重要的是,我想知道问题所在。

1 个答案:

答案 0 :(得分:0)

我不知道pgntn_display_pagination函数中的代码是什么,但是我用下面的代码修改了您的代码,该代码将对您有用。

请检查以下代码。

<div class="grid" data-masonry='{ "itemSelector": ".grid-item", 
    "columnWidth": 285, "gutter": 20 }'>

    <?php
    $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;  // get the current page variable and set it          
    $args = array(
    'post_type' => array('post',
    'os_buch_review',
    'os_review',
    'os_classic_review',
    'os_versus',
    ),
    'post_status' => 'publish',
    'nopaging' => false,
    'posts_per_page' => '20',
    'order' => 'DESC',
    'orderby' => 'date',
    'cat' => '-5738,-1705, -5933',
    'paged' => $paged // use $paged variable here
    );

    $tk_startteaser_querie = new WP_Query( $args );
    if( $tk_startteaser_querie->have_posts() ) :
    ?>

    <?php
    while( $tk_startteaser_querie->have_posts() ) :
    $tk_startteaser_querie->the_post();
    ?>

    <div class="grid-item">
     <a class="linkclass" href="<?php the_permalink(); ?>"></a>
     <h3 class="entry-title"><?php the_title(); ?></h3>

     <?php
      if ( has_post_thumbnail() ) {
      the_post_thumbnail('medium');
      }
     ?>

    <?php the_excerpt(); ?>

    </div><!-- grid-item -->

   <?php
   endwhile;


 // Below is full code of pagination  

echo paginate_links( array(
    'base'         => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ),
    'total'        => $query->max_num_pages,
    'current'      => max( 1, get_query_var( 'paged' ) ),
    'format'       => '?paged=%#%',
    'show_all'     => false,
    'type'         => 'plain',
    'end_size'     => 2,
    'mid_size'     => 1,
    'prev_next'    => true,
    'prev_text'    => sprintf( '<i></i> %1$s', __( 'Next', 'text-domain' ) ),
    'next_text'    => sprintf( '%1$s <i></i>', __( 'Previous', 'text-domain' ) ),
    'add_args'     => false,
    'add_fragment' => '',
) );

   wp_reset_postdata();
   ?>

    <?php
    else :
    esc_html_e( 'Derzeit keine Beiträge!', 'text-domain' );
    endif;
    ?>

    </div><!--grid-->