繁体   English   中英

Wordpress 第二页分页不显示帖子

[英]Wordpress second page pagination not showing posts

我一直在尝试将数字分页添加到我的自定义 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>

功能。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;

页面存档.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(); ?>

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM