简体   繁体   English

每页的Wordpress限制帖子分页

[英]Wordpress limit posts per page with pagination

I want to create blog page with recent posts and pagination. 我想用最近的帖子和分页创建博客页面。 Code below shows recent posts but pagination doesn't want to work. 下面的代码显示了最近的帖子,但分页不起作用。

<?php get_header(); ?>
<div class="container clearfix">
<div id="content" class="clearfix">
<?php
   $postslist = get_posts('numberposts=-1&posts_per_page=5&order=DESC&orderby=date');
         foreach ($postslist as $post) :
            setup_postdata($post);
?>
<div class="entry">
    <div class="recent-post-thumbnail">
        <?php echo the_post_thumbnail($recent->ID, 'thumbnail'); ?>
    </div>
    <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
    <?php the_excerpt(); ?>
    <h4><a href="<?php the_permalink(); ?>">More ></a></h4>
</div>
<?php endforeach; ?>
</div> <!-- end content -->
<div class="kreska-pion"></div>
<div class="sidebar">
    <?php get_sidebar(); ?>
</div>
</div>
<?php get_footer(); ?>

numberposts=6 replace this with post_per_page and let me know if It worked . numberposts=6替换为post_per_page ,让我知道它是否有效。

<?php
    $postlist = get_posts( 'numberposts=-1&posts_per_page=5' );
    $posts = array();
    foreach ( $postlist as $post ) {
       $posts[] += $post->ID;
    }

    $current = array_search( get_the_ID(), $posts );
    $prevID = $posts[$current-1];
    $nextID = $posts[$current+1];
    ?>
    <?php
    foreach ( $posts as $post ) : setup_postdata( $post ); ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </li>
    <?php endforeach; 
    wp_reset_postdata();?>
    <div class="navigation">
    <?php if ( !empty( $prevID ) ): ?>
    <div class="alignleft">
    <a href="<?php echo get_permalink( $prevID ); ?>"
      title="<?php echo get_the_title( $prevID ); ?>">Previous</a>
    </div>
    <?php endif;
    if ( !empty( $nextID ) ): ?>
    <div class="alignright">
    <a href="<?php echo get_permalink( $nextID ); ?>" 
     title="<?php echo get_the_title( $nextID ); ?>">Next</a>
    </div>
    <?php endif; ?>
    </div><!-- .navigation -->

I tried 我试过了

<?php get_header(); ?>
<div class="container clearfix">
   <div id="content" class="clearfix">
<?php
      $args = array( 'post_per_page' = -1 );

      $query= new WP_Query( $args );
      var_dump( $query );
      // The 2nd Loop
      while ( $query->have_posts() ) {
          $query->the_post();
          echo '<li>' . get_the_title( $query->post->ID ) . '</li>';
      }

      // Restore original Post Data
      wp_reset_postdata();        
    ?>
<div class="vertical"></div>
   <div class="sidebar">
     <?php get_sidebar(); ?>
   </div>
</div>
<?php wp_pagenavi(); ?>
<?php get_footer(); ?>

But it shows a blank page. 但它显示空白页。

EDIT: Here's what I did: 编辑:这是我所做的:

<?php get_header(); ?>
<div class="container clearfix">
<div id="content" class="clearfix">
<?php
$args = array( 'post_per_page' = -1 );
$query= new WP_Query( $args );
var_dump( $query );
wp_reset_postdata();
?>
<div class="vertical"></div>
<div class="sidebar">
<?php get_sidebar(); ?></div>
</div>
<?php wp_pagenavi(); ?>
<?php get_footer(); ?>

And it shows a blank page. 它显示一个空白页。

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

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