【问题标题】:Wordpress second page pagination not showing postsWordpress第二页分页不显示帖子
【发布时间】:2021-01-09 20:44:24
【问题描述】:

我一直在尝试将数字分页添加到我的自定义 wordpress 主题中。我遇到了一个问题,我在第二页(或第三页)上看不到任何帖子。我已经设置了 page-archive.php 文件、index.php、single.php 文件。它应该是博客网站需要的一切?我有点困惑我在这里错过了什么?我一直在尝试多种不同的选项,并尝试修改我的 page-archive.php 页面,但没有成功。

index.php

<div class="blogitem a">
<?php
            
        //PRINT ONLY Tutvustus
        $lastBlog = new WP_Query('type=post&posts_per_page=3');
            
        if( $lastBlog->have_posts() ):
            
            while( $lastBlog->have_posts() ): $lastBlog->the_post(); ?>
                
                <?php get_template_part('page-archive',get_post_format()); ?>
            
            
            
            
            <?php endwhile;
            
        endif;
        
        wp_reset_postdata();
                
        ?>
        
        <div class="pagination">
<?php
if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
else { $paged = 1; }

query_posts(array(
    'post_type'      => 'post', // You can add a custom post type if you like
    'paged'          => $paged,
    'posts_per_page' => 2
));

if ( have_posts() ) : ?>

<?php while ( have_posts() ) : the_post(); ?>

    <?php // post content goes here ?>

<?php endwhile; ?>

    <?php my_pagination(); ?>

<?php else : ?>

    <?php // no posts found message goes here ?>
<?php wp_reset_query(); // add this ?>
<?php endif; ?>


</div>
        
</div>

functions.php

if ( ! function_exists( 'my_pagination' ) ) :
    function my_pagination() {
        global $wp_query;

        $big = 999999999; // need an unlikely integer

        echo paginate_links( array(
            'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
            'format' => '?paged=%#%',
            'current' => max( 1, get_query_var('paged') ),
            'total' => $wp_query->max_num_pages
        ) );
    }
endif;

page-archive.php

<?php
/*
Template Name: Archives
*/
get_header(); ?>

  
<div id="container">
    <div id="content" role="main">

        <?php the_post(); ?>
        <h1 class="entry-title"><?php the_title(); ?></h1>
        
        
         
  
    

    </div><!-- #content -->
</div><!-- #container -->


<?php get_footer(); ?>

【问题讨论】:

    标签: php wordpress pagination wordpress-theming blogs


    【解决方案1】:

    事实证明,我不需要前半部分代码。感觉很笨。无论如何,这就是答案。

    <div class="pagination">
    <?php
    if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
    elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
    else { $paged = 1; }
    
    query_posts(array(
        'post_type'      => 'post', // You can add a custom post type if you like
        'paged'          => $paged,
        'posts_per_page' => 2
    ));
    
    if ( have_posts() ) : ?>
    
    <?php while ( have_posts() ) : the_post(); ?>
    
        <?php get_template_part('catalog',get_post_format()); ?> // added template part here and voila it works
    
    <?php endwhile; ?>
    
        <?php my_pagination(); ?>
    
    <?php else : ?>
    
        <?php  ?>
    <?php wp_reset_query(); // add this ?>
    <?php endif; ?>
    
    
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多