Мне просто интересно, можно ли использовать функцию pagination_links()
в цикле foreach
в wordpress? Когда я пытаюсь, ничего не происходит, я огляделся, и кажется, что это немного сложнее, чем я ожидал …
<?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; ?>
Im в основном ищет базовую разбивку на страницы, со словами «next», «prev» и numbers.
Любая помощь в этом будет большой благодарностью.
EDIT: я решил изменить код на это, чтобы удовлетворить wordpress …
<?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; ?>
Почему вы используете foreach
вместо этого?
Цикл по умолчанию с pagenation должен выглядеть так (должен работать и с 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; ?>
Это просто показывает next
и previous
ссылку, но если вы хотите разбивать страницы на цифры, я бы предложил отличный плагин: 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