• Прошу помощи у профессионалов. Установил тему Adventure Flights. Вроде бы все разобрался с настройками, частично под себя перевел, настроил и вдруг заметил, что не работает постраничная навигация. Т.е. на главной странице у меня отображаются 10 последних постов, под ними располагается навигация, жму страницу 2 — открывается снова первая страница, и т.д. Причем в категориях все работает нормально. Отключал ВСЕ плагины — то же самое. Помогите.

Просмотр 15 ответов — с 1 по 15 (всего 21)
  • Модератор Юрій

    (@yube)

    Могу предположить, что в шаблоне используется вызов query_posts(), не учитывающий пагинацию. Кому не лень гуглить тему, тот может проверить гипотезу.

    Автор Robin-Hood

    (@robin-hood-1)

    А как это проверить? Может быть код показать?

    Отключал ВСЕ плагины

    Кеш-плаг имеется? Его кеш чистили?

    жму страницу 2 — открывается снова первая страница, и т.д

    Проанализировать ответ сервера (поможет аддон FireBug для Firefox — вкладка «сеть».)

    Автор Robin-Hood

    (@robin-hood-1)

    Кеш чистил. В FireBug — смотрю вкладку сеть, но для меня здесь много, практически все, незнакомо. Что именно смотреть? Я новичок в этом деле.

    Что именно смотреть?

    Самый первый ответ сервера (статус). Если 301\302, то это редирект. Мб в хтацессе чё накручено, мб ещё где.

    Если 200, то см ответ Юрия.

    Автор Robin-Hood

    (@robin-hood-1)

    Статус 200 Ок — первая строчка

    Автор Robin-Hood

    (@robin-hood-1)

    Я нашел в файле index.php текущей темы вот такую строчку:
    <?php query_posts("cat=" . wpthemes_options('featured_articles') . "&paged=" . $paged . "&showposts=" . wpthemes_options('featured_articles_num')); ?>

    Автор Robin-Hood

    (@robin-hood-1)

    Нашел в чем причина, только не знаю как ее решить. Проблема в слайдере. В этой теме есть встроенный слайдер, если я его отключаю, навигация работает без проблем. Вот код из файла 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 } ?>

    Автор Robin-Hood

    (@robin-hood-1)

    И как раз в этом коде есть query_posts о котором говорил Юрий.

    Модератор Юрій

    (@yube)

    После цикла с «самодельным» вставным query_posts() надо ставить вызов wp_reset_query() — очень помогает от мигрени и геморроя 🙂

    Автор Robin-Hood

    (@robin-hood-1)

    Ок. Попробую.

    Автор Robin-Hood

    (@robin-hood-1)

    Спасибо, Юрий. После $postslist = query_posts("showposts=4"); я добавил строчку $postslist = wp_reset_query();
    Вроде бы заработало. Правильно я сделал?

    Автор Robin-Hood

    (@robin-hood-1)

    Ага, только теперь в слайдере описания постов нет.

    Автор Robin-Hood

    (@robin-hood-1)

    Вот, можете посмотреть http://mnogoto4ka.ru/

    Модератор Юрій

    (@yube)

    После цикла надо. То есть, после того, как вставленный цикл со своей выборкой отработает, надо сбросить выборку в исходное состояние.

Просмотр 15 ответов — с 1 по 15 (всего 21)
  • Тема «Постраничная навигация» закрыта для новых ответов.