Привет всем. Я не уверен, является ли то, что я испытываю, результатом ошибки (из-за недавнего обновления до 3.1.2) или плохого кода. С тех пор, как я обновился до версии 3.1.2, у меня возникла проблема с двумя циклами на моей странице индекса.
Вот что у меня есть для моей индексной страницы
<?php
if ( ! is_paged() && is_front_page() ) {
echo '<h6 class="sec1 title">FEATURE</h6>';
$sticky = get_option( 'sticky_posts' );
if ( isset( $sticky[0] ) ) {
$args = array(
'posts_per_page' => 3,
'post__in' => $sticky,
'ignore_sticky_posts' => 1);
// Query
$featured_query = new WP_query( $args );
while ($featured_query->have_posts() ) :
$featured_query->the_post();
$featured[] = $post->ID;
get_template_part( 'content', 'featured' );
endwhile;
} // endif sticky
} // endif is_paged
?>
<?php
$sticky = get_option( 'sticky_posts' );
echo '<h6 class="sec1 title">LATEST ARTICLES</h6>';
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$query_args = array(
'posts_per_page' => 10,
'paged' => $paged,
'post__not_in' => $featured,
'post__not_in' => $sticky
);
query_posts($query_args);
if (have_posts() ) :
while (have_posts() ) :
the_post();
get_template_part( 'content', get_post_format() );
?>
<!--<?php trackback_rdf(); ?>-->
<?php endwhile; else: ?>
<div class="box">
<p>
<?php _e( 'Sorry, no posts matched your criteria.' ); ?>
</p>
</div>
<?php endif; ?>
// Navigation comes over here
Скажем, например, первый цикл (липкие сообщения) - который НЕ разбит на страницы, дает 3 сообщения и второй цикл (все остальные сообщения) - который разбит на страницы, дает 10 сообщений . Проблема, с которой я сталкиваюсь, заключается в том, что при переходе на следующую страницу последние 3 сообщения из второго цикла на странице 1 повторяются вверху страницы 2.
Примечание: первый цикл только на странице 1 и не повторяется на второй странице, что я и хотел.
Так вот, что я пытался, я удалил условие (! Is_paged () && is_front_page) вместе со всем первым циклом, и проблема была решена.
Что я делаю не так?