WP query_posts () - результаты игнорируют последнее сообщение - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть следующий код (оставляя все до и после, чтобы начать с):

<?php query_posts( 'posts_per_page=4' ); ?>
<?php
if ( have_posts() )
the_post();
?>
<?php while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s',     'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<?php twentyten_posted_on(); ?>
<?php the_excerpt(); ?>
<p><?php printf( __( 'Posted in %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list( ', ' ) ); ?></p> 
<p><?php comments_popup_link( __( 'Leave a comment', 'twentyten' ), __( '1 Comment', 'twentyten' ), __( '% Comments', 'twentyten' ) ); ?></p>
<?php comments_template( '', true ); ?>
<?php endwhile; ?>

На полученной странице не отображаются 4 самые последние записи - она ​​отбрасывает самую последнюю запись. Вот живая страница:

http://www.metricit.com/blog/

Вот еще одна страница (с использованием стандартного кода архива циклов), показывающая 4 последних сообщения.

http://www.metricit.com/category/blog/

Что я сделал не так?

Спасибо

Brett

Ответы [ 2 ]

2 голосов
/ 05 декабря 2011

Почему у вас это выше цикла?

<?php
if ( have_posts() )
the_post();
?>

Избавьтесь от этого - вот и пропущен первый пост.

1 голос
/ 05 декабря 2011

Полагаю, вам следует удалить первый вызов the_post(), попробуйте изменить код на:

<?php query_posts( 'posts_per_page=4' ); ?> 
<?php if ( have_posts() ) : ?> 
<?php while ( have_posts() ) : the_post(); ?> 
<h2><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s',     'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<?php twentyten_posted_on(); ?> 
<?php the_excerpt(); ?> 
<p><?php printf( __( 'Posted in %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list( ', ' ) ); ?></p>
<p><?php comments_popup_link( __( 'Leave a comment', 'twentyten' ),__( '1 Comment', 'twentyten' ), __( '% Comments', 'twentyten' ) ); ?></p> 
<?php comments_template( '', true ); ?>       
<?php endwhile; ?>
<?php endif; ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...