簡體   English   中英

Wordpress 分頁在自定義查詢中不起作用

[英]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; }

請在此處查看 - https://codex.wordpress.org/Pagination

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM