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