Постраничная навигация
-
Прошу помощи у профессионалов. Установил тему Adventure Flights. Вроде бы все разобрался с настройками, частично под себя перевел, настроил и вдруг заметил, что не работает постраничная навигация. Т.е. на главной странице у меня отображаются 10 последних постов, под ними располагается навигация, жму страницу 2 — открывается снова первая страница, и т.д. Причем в категориях все работает нормально. Отключал ВСЕ плагины — то же самое. Помогите.
-
Могу предположить, что в шаблоне используется вызов query_posts(), не учитывающий пагинацию. Кому не лень гуглить тему, тот может проверить гипотезу.
А как это проверить? Может быть код показать?
Отключал ВСЕ плагины
Кеш-плаг имеется? Его кеш чистили?
жму страницу 2 — открывается снова первая страница, и т.д
Проанализировать ответ сервера (поможет аддон FireBug для Firefox — вкладка «сеть».)
Кеш чистил. В FireBug — смотрю вкладку сеть, но для меня здесь много, практически все, незнакомо. Что именно смотреть? Я новичок в этом деле.
Что именно смотреть?
Самый первый ответ сервера (статус). Если 301\302, то это редирект. Мб в хтацессе чё накручено, мб ещё где.
Если 200, то см ответ Юрия.
Статус 200 Ок — первая строчка
Я нашел в файле index.php текущей темы вот такую строчку:
<?php query_posts("cat=" . wpthemes_options('featured_articles') . "&paged=" . $paged . "&showposts=" . wpthemes_options('featured_articles_num')); ?>
Нашел в чем причина, только не знаю как ее решить. Проблема в слайдере. В этой теме есть встроенный слайдер, если я его отключаю, навигация работает без проблем. Вот код из файла gallery.php
<?php if(wpthemes_options('top_gallery_posts') != '') { ?> <!-- Initialization of gallery--> <div class="featured_slider"> <script src="<?php bloginfo('template_directory'); ?>/js/changimages.js" type=text/javascript></script> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="left"><div class=flashbox align="center"> <?php if(wpthemes_options('top_gallery_category') == '0' || wpthemes_options('top_gallery_category') == '' ) { ?> <?php global $post, $wp_version; $postslist = query_posts("showposts=4"); $num = 1; foreach ($postslist as $post) : setup_postdata($post); $gallery_data['src' . $num] = $gallery_img_src[0]; $gallery_data['src_thumb' . $num] = $gallery_img_thumb_src[0]; $gallery_data['title' . $num] = get_the_title(); $gallery_data['permalink' . $num] = get_permalink(); $gallery_data['category' . $num] = get_the_category(); $gallery_data['content' . $num] = wpthemes_post_content(180, 1, "[...]", 0); $num++; endforeach; ?> <div id="SwitchBigPic"> <?php $num=1; while($num <= 4) { ?> <div><a href="<?php echo $gallery_data['src' . $num]; ?>"><img class=pic src="<?php bloginfo('template_directory'); ?>/gallery/images/<?php echo $num; ?>.jpg"></a></div> <?php $num++; } ?> <ul id="SwitchNav"> <?php $num=1; while($num <= 4) { ?> <li><a href="<?php echo $gallery_data['permalink' . $num]; ?>" title="<?php echo $gallery_data['title' . $num]; ?>"><strong><?php echo csubstr($gallery_data['title' . $num], 50); ?></strong></a>Posted in <?php echo $gallery_data['category' . $num][0]->cat_name; ?><a href="<?php echo $gallery_data['permalink' . $num]; ?>"><img src="<?php bloginfo('template_directory'); ?>/gallery/images/thumbs/t<?php echo $num; ?>.jpg"></a></li> <?php $num++; } ?> </ul> </div> <?php } else { global $post, $wp_version, $num_sum, $gallery_data; $num = 1; $num_sum = wpthemes_options('featured_num'); $gallery_category = wpthemes_options('top_gallery_category'); $top_gallery_posts = query_posts("showposts=$num_sum&cat=$gallery_category"); foreach($top_gallery_posts as $post) { if ( has_post_thumbnail($thumbnail->ID)) { setup_postdata($post); if ( version_compare( $wp_version, '2.9', '>=' ) ) { $gallery_img = get_the_post_thumbnail($post->ID,'large', array('class' => 'full')); $gallery_thumb_img = get_the_post_thumbnail($post->ID,'thumbnail'); $gallery_img_src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'large'); $gallery_img_thumb_src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail'); } else { $gallery_img_src = get_post_meta($post->ID, 'featured', true); $gallery_img_thumb_src = get_post_meta($post->ID, 'featured', true); $gallery_img = '<img src="$gallery_img_src" class="full" />'; $gallery_thumb_img = '<img src="$gallery_img_src" class="post_thumbnail" />'; } } $gallery_data['src' . $num] = $gallery_img_src[0]; $gallery_data['src_thumb' . $num] = $gallery_img_thumb_src[0]; $gallery_data['title' . $num] = get_the_title(); $gallery_data['permalink' . $num] = get_permalink(); $gallery_data['category' . $num] = get_the_category(); $gallery_data['content' . $num] = wpthemes_post_content(180, 1, "[...]", 0); $num++; } ?> <div id="SwitchBigPic"> <?php $num=1; while($num <= $num_sum) { ?> <div><a href="<?php echo $gallery_data['src' . $num]; ?>"><img class=pic src="<?php echo $gallery_data['src' . $num]; ?>"></a></div> <?php $num++; } ?> <ul id="SwitchNav"> <?php $num=1; while($num <= $num_sum) { ?> <li><a href="<?php echo $gallery_data['permalink' . $num]; ?>" title="<?php echo $gallery_data['title' . $num]; ?>"><strong><?php echo csubstr($gallery_data['title' . $num], 50); ?></strong></a>Posted in <?php echo $gallery_data['category' . $num][0]->cat_name; ?><a href="<?php echo $gallery_data['permalink' . $num]; ?>"><img src="<?php echo $gallery_data['src_thumb' . $num]; ?>"></a></li> <?php $num++; } ?> </ul> </div> <?php } ?> </ul> </div> <script> var bigswitch = new SwitchPic( { bigpic:"SwitchBigPic", switchnav:"SwitchNav", selectstyle:"selected", objname:"bigswitch" } ) ; bigswitch.goSwitch(bigswitch,0); bigswitch.autoSwitchTimer = setTimeout("bigswitch.autoSwitch(bigswitch) ;", 3000); </script></td> </tr> </table> </div> <?php } ?>
И как раз в этом коде есть query_posts о котором говорил Юрий.
После цикла с «самодельным» вставным query_posts() надо ставить вызов wp_reset_query() — очень помогает от мигрени и геморроя 🙂
Ок. Попробую.
Спасибо, Юрий. После
$postslist = query_posts("showposts=4");
я добавил строчку$postslist = wp_reset_query();
Вроде бы заработало. Правильно я сделал?Ага, только теперь в слайдере описания постов нет.
Вот, можете посмотреть http://mnogoto4ka.ru/
После цикла надо. То есть, после того, как вставленный цикл со своей выборкой отработает, надо сбросить выборку в исходное состояние.
- Тема «Постраничная навигация» закрыта для новых ответов.