2016-03-11 4 views
0

У меня проблема, связанная с разбиением на страницы, чтобы работать на главной странице сайта, над которым я работаю.Pagination на домашней странице (WordPress)

Ссылки «Старые» и «Новые» отображаются правильно, и он обновляет URL-адрес, чтобы отобразить номер страницы, но содержимое сообщений остается таким же, как на первой странице при перелистывании страниц. Вот код, я использую, упрощена конечно:

if (get_query_var('paged')) { $paged = get_query_var('paged'); } 
elseif (get_query_var('page')) { $paged = get_query_var('page'); } 
else { $paged = 1; } 

$get_featured_posts = new WP_Query(array(
'posts_per_page'  => 9, 
'post_type'    => 'post', 
'ignore_sticky_posts' => true, 
'no_found_rows'   => true, 
'paged'     => $paged, 
'offset'    => 5 
)); 

while($get_featured_posts->have_posts()):$get_featured_posts->the_post(); 

<h3 class="entry-title entry-added"> 
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute();?>"> <?php the_title(); ?></a> 
</h3> 
<p class="short_description"><?php echo short_description('...', 16); ?> </em></p> 
<p class="read_more"><a href="<?php the_permalink(); ?>">Read More</a></p> 

<?php 
    endwhile; 
?> 
    <?php 
    // Reset Post Data 
    wp_reset_query(); 
    ?> 
<div class="nav-previous alignleft"><?php next_posts_link('Older posts'); ?></div> 
<div class="nav-next alignright"><?php previous_posts_link('Newer posts'); ?></div> 

Не могу показаться, чтобы выяснить, в чем проблема, любая помощь будет оценена.

+0

Нужно ли нам здесь 'wp_reset_query'? – Milap

+0

Нет, не совсем необходимо. – Christian

+0

Пожалуйста, удалите его и попробуйте. – Milap

ответ

0

Разобрался проблему благодаря @milo на бирже WordPress. Оказывается, есть особые соображения при использовании «смещения» и разбиения на страницы. Check this link for more details.

0

попытаться использовать wp_reset_postdata(); вместо wp_reset_query();, а также обновленное состояние для $paged.

<?php 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    $get_featured_posts = new WP_Query(array(
    'posts_per_page'  => 9, 
    'post_type'    => 'post', 
    'ignore_sticky_posts' => true, 
    'no_found_rows'   => true, 
    'paged'     => $paged, 
    'offset'    => 5 
    )); 

    while($get_featured_posts->have_posts()):$get_featured_posts->the_post(); 

     <h3 class="entry-title entry-added"> 
      <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute();?>"> <?php the_title(); ?></a> 
     </h3> 
     <p class="short_description"><?php echo short_description('...', 16); ?> </em></p> 
     <p class="read_more"><a href="<?php the_permalink(); ?>">Read More</a></p> 

     <?php 
     endwhile; 
     // Reset Post Data 
     wp_reset_postdata(); 
     ?> 
    <div class="nav-previous alignleft"><?php next_posts_link('Older posts'); ?></div> 
    <div class="nav-next alignright"><?php previous_posts_link('Newer posts'); ?></div> 
?> 
+0

Хмм, все тот же результат. Может быть, я должен опубликовать весь код? Возможно, есть что-то, что я редактирую, чего не должно быть. – Christian

+0

Не уверен, почему бы вам не попробовать плагин, https://wordpress.org/plugins/wp-pagenavi/ Его легко и не нужно беспокоиться о пользовательских запросах. – Milap

+0

Ха, да, я его использовал. К сожалению, он отлично работает на страницах архива, но имеет ту же проблему, с которой я сталкиваюсь, когда я использую ее на главной странице. – Christian

Смежные вопросы