[英]Wordpress pagination not working in custom query
我已經使用front-page.php
設置了我的首頁,並在第一部分顯示了我最新的 bbpress 主題。 我只想顯示 5 個帖子和分頁。但分頁不起作用。 我檢查了檢查元素,class 即將到來,但沒有鏈接。 以下是我的代碼
<ul>
<?php
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array( 'post_type' => 'topic', 'posts_per_page' => 2 , 'paged' => $paged);
$loop = new WP_Query( $args );
if($loop->have_posts()):
while($loop->have_posts()):
$loop->the_post();
$topic = get_the_ID();
?>
<li>
<div class="bbp_topic_data">
<div class="bbp_topic_post">
<a href="<?php bbp_topic_permalink() ?>">
<h4><?= the_title(); ?></h4>
<?=the_excerpt();?>
</a>
</div>
<div class="bbp_topic_stat">
<!-- <span><?php //do_action( 'bbp_theme_after_topic_started_by' ); ?></span> -->
<span class="topic_details_text"><?php echo $view_count= pvc_post_views();; if($view_count < 0) {echo $view_count;}?></span>
<?php $reply_count= bbp_get_topic_reply_count( $topic_id = $topic ); ?>
<span class="topic_details_text"><?php if($reply_count > 0) {echo "Replies:". $reply_count;} ?> </span>
</div>
</div><!--bbp_topic_data-->
<div>
<span class="author_image"><?php echo bbp_get_topic_author_avatar($topic)?></span>
<span class="topic_details_text">Started By: <?php echo bbp_get_topic_author_display_name( $topic ); ?> </span>
</div>
</li>
<?php endwhile; ?>
<div class="next-prev-wrap">
<span class="next"><?php next_posts_link( 'Older posts', $post->max_num_pages ); ?></span>
<span class="prev"><?php previous_posts_link( 'Newer posts', $post->max_num_pages ); ?></span>
</div>
<?php endif; ?>
<?php next_posts_link(); ?>
<?php //wp_reset_postdata(); ?>
</ul>
請幫我解決這個問題
問題出在您需要替換為$loop
的$post
變量中,您應該檢查paged
參數
如果在 static 的首頁上分頁被破壞,您必須以這種方式添加“paged”參數:
if ( get_query_var( 'paged' ) ) { $paged = get_query_var( 'paged' ); } elseif ( get_query_var( 'page' ) ) { $paged = get_query_var( 'page' ); } else { $paged = 1; }
<ul>
<?php
if ( get_query_var( 'paged' ) ) { $paged = get_query_var( 'paged' ); }
elseif ( get_query_var( 'page' ) ) { $paged = get_query_var( 'page' ); }
else { $paged = 1; }
$args = array( 'post_type' => 'topic', 'posts_per_page' => 2 , 'paged' => $paged);
$loop = new WP_Query( $args );
if( $loop->have_posts()):
while($loop->have_posts()):
$loop->the_post();
$topic = get_the_ID();
?>
<li>
<div class="bbp_topic_data">
<div class="bbp_topic_post">
<a href="<?php the_permalink() ?>">
<h4><?= the_title(); ?></h4>
<?php the_excerpt();?>
</a>
</div>
<div class="bbp_topic_stat">
<span><?php do_action( 'bbp_theme_after_topic_started_by' ); ?></span>
<span class="topic_details_text"><?php echo $view_count= pvc_post_views();; if($view_count < 0) {echo $view_count;}?></span>
<?php $reply_count= bbp_get_topic_reply_count( $topic_id = $topic ); ?>
<span class="topic_details_text"><?php if($reply_count > 0) {echo "Replies:". $reply_count;} ?> </span>
</div>
</div><!--bbp_topic_data-->
<div>
<span class="author_image"><?php echo author_avatar($topic)?></span>
<span class="topic_details_text">Started By: <?php echo bbp_get_topic_author_display_name( $topic ); ?> </span>
</div>
</li>
<?php endwhile; ?>
<div class="next-prev-wrap">
<div class="nav-previous alignleft"><?php previous_posts_link( 'Older posts' ); ?></div>
<div class="nav-next alignright"><?php next_posts_link( 'Newer posts', $loop->max_num_pages ); ?></div>
</div>
<?php endif; ?>
<?php next_posts_link(); ?>
<?php wp_reset_postdata(); ?>
</ul>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.