0

wordpresspagination_links()のループで関数を使用することは可能ですか? foreach試してみても何も起こりません。周りを見てみると、これは予想よりも少し難しいようです...

<?php
$args = array( 'numberposts' => 6, 'post_status'=>"publish",'post_type'=>"post",'orderby'=>"post_date");
$postslist = get_posts( $args );
foreach ($postslist as $post) : setup_postdata($post); ?>
   <div class="events">
        <div class="newslistingblock">
        <div class="newslistingblockheader"><p><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></p>
        </div>
        <div class="newslistingblockthumbnail">
         <?php echo get_the_post_thumbnail( $post_id, 'news-thumb', $attr ); ?> </div>
         <div class="newslistingexcerpt">
                <?php the_excerpt( ); ?> </div> 
  </div>
  </div>



<?php endforeach; ?>

私は基本的に、「次」、「前」、および番号を使用した基本的なページネーションを探しています。

これに関するどんな助けも大いに感謝します。

編集:ワードプレスに合わせてコードをこれに変更することにしました...

    <?php 
query_posts( 'posts_per_page=5' );
if (have_posts()) : 

while (have_posts()) : the_post(); ?>
<!-- Do suff -->

   <div class="events">
        <div class="newslistingblock">
        <div class="newslistingblockheader"><p><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></p>
        </div>
        <div class="newslistingblockthumbnail">
         <?php echo get_the_post_thumbnail( $post_id, 'news-thumb', $attr ); ?> </div>
         <div class="newslistingexcerpt">
                <?php the_excerpt( ); ?> </div> 
  </div>
  </div>
  <?php endwhile; ?> 
   <div class="navigation">
    <div class="alignleft"><?php next_posts_link('← Older Entries') ?></div>
    <div class="alignright"><?php previous_posts_link('Newer Entries →') ?></div>
</div>
<?php endif; ?>
4

1 に答える 1

3

foreachの代わりになぜ使用しているのwhileですか?

ページネーションを使用したデフォルトのループは次のようになります (foreach でも機能するはずです)。

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <!-- Do suff -->
<?php endwhile; ?>    
<div class="navigation">
    <div class="alignleft"><?php next_posts_link('← Older Entries') ?></div>
    <div class="alignright"><?php previous_posts_link('Newer Entries →') ?></div>
</div>
<?php endif; ?>

これは単にnextandpreviousリンクを示していますが、数字でページネーションが必要な場合は、優れたプラグインをお勧めします: Wp-Pagenavi

幸運を!

編集:

発生しているエラーは、ページ変数を正しく設定していないことです。次のことを行う必要があります。

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

query_posts('posts_per_page=5&paged=' . $paged); 
?>

その後、すべてが機能するはずです。

コーデックスで詳細を確認できます: http://codex.wordpress.org/Pagination#Adding_the_.22paged.22_parameter_to_a_query

于 2012-09-28T14:12:47.753 に答える