Поддержка Проблемы и решения Постраничная навигация

  • Доброго времени. Вопрос в следующем.
    использую следующий код для вывода пастов категории

    <div id="news">
    <?php query_posts('category_name=news');?>
    <?php if (have_posts()) : ?>
    <?php $first = true; ?>
    <?php while (have_posts()) : the_post(); ?>
      <div class="post <?php if($first == true) echo "first" ?>" id="post-<?php the_ID(); ?>">
      <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Постоянная ссылка <?php the_title(); ?>"><?php the_title(); ?></a></h2>
      <small><?php the_time('F j, Y') ?> <!-- by <?php the_author() ?> --></small>
      <div class="entry">
      <?php $more = 0; the_content('Читать дальше', 'true'); ?>
      </div>
      <p class="postmetadata"><?php the_category(', ') ?> | <?php edit_post_link('Редактировать', '', ' | '); ?>
      <?php comments_popup_link('Нет комментариев »', 'Один комментарий »', 'Комментариев: %'); ?></p>
      </div>
    <?php $first = !$first; if ($first) echo '<br clear=all>'; ?>
    <?php endwhile; else : ?>
       <h2 class="center">Не найдено</h2>
       <p class="center">Здесь ничего нет, попробуйте поискать:</p>
       <?php include (TEMPLATEPATH . "/searchform.php"); ?>
    <?php endif; ?>
    
    <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
    
    </div>

    Вывод как бы ручной, тупа в нужном мне месте в шаблоне страницы.в нем меня все устраивает на 100%. но никак не получается встроить постраничную навигацию. Помогите пожалуйста.

Просмотр 15 ответов — с 1 по 15 (всего 25)
  • Вам нужна навигация для category_name=news или для страницы, где помимо всего, эти news выводятся?

    решено. всем спасибо

    хотя впрочем не решено… не работает всетаки.
    у меня на этой странице выводится категрия новостей. вот этим кодом. ни навигация нужна среди вот этого что выводится.

    вот тут читай

    я вставил вот такую функцию

    <? global $wp_query, $wp_rewrite;
       $pages = '';
       $max = $wp_query->max_num_pages;
       if (!$current = get_query_var('paged')) $current = 1;
       $a['base'] = str_replace(999999999, '%#%', get_pagenum_link(999999999));
       $a['total'] = $max;
       $a['current'] = $current;
    
       $total = 1; //1 - выводить текст "Страница N из N", 0 - не выводить
       $a['mid_size'] = 3; //сколько ссылок показывать слева и справа от текущей
       $a['end_size'] = 1; //сколько ссылок показывать в начале и в конце
       $a['prev_text'] = '&laquo;'; //текст ссылки "Предыдущая страница"
       $a['next_text'] = '&raquo;'; //текст ссылки "Следующая страница"
    
       if ($max > 1) echo '<div class="navigation">';
       if ($total == 1 && $max > 1) $pages = '<span class="pages">Страница ' . $current . ' из ' . $max . '</span>'."\r\n";
       echo $pages . paginate_links($a);
       if ($max > 1) echo '</div>';  ?>

    навигацию она выводит, но вот странички не перелистывает. В чем сдесь касяк относительно моей цели?

    попробуй после своего цикал перед выводом постраничной навигации вставить тег сброса цикла query:

    <?php wp_reset_query(); ?>

    попробовал. пропадает вообще вся навигация.

    можно вместо цикла query_post попробоват get_post

    а как это связано?)

    гдето упущен один важный момент. навигация выводится, количество постов определяет вроде правильно и соответственно количество страниц верное. но не листает. на всех страничках одно и тоже. неужели никто не поможет?

    неужели никто не подскажет?

    У тебя же есть код:
    <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>

    Установи плагин постраничной навигации. И будет тебе счастье.

    P.S.
    Не по теме. Если WP 3.x.x.
    <?php include (TEMPLATEPATH . "/searchform.php"); ?>
    Использовать http://codex.wordpress.org/Function_Reference/get_template_part кто мешает?

    Модератор Yuri

    (@yube)

    Установи плагин постраничной навигации. И будет тебе счастье.

    Фигушки! Во-первых, плагины занимаются только выводом ссылок на страницы, обработкой занимается движок. А во-вторых, на сингулярных страницах списочная постраничная навигация движком не обрабатывается по определению.

    <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
    тут не при делах) это остаточное… оно не пашет.

    так что не так собственно? неужели у меня одного такая проблема и никто не в курс?)

    Пример

    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    
    $args = array(
    'category_name' => 'news', //из категории News
    'paged' => $paged,        //постраничная навигация
    );
    
    query_posts( $args );
    
    if (have_posts()) : // и пошло-поехало
    while (have_posts()) : the_post();
    ...
    endwhile;
    endif;

    После цикла
    wp_pagenavi();
    Выдернул из рабочего кода (там по произольному полю «рейтинги» сортировка идёт).По первой ссылке посмотри пример в рубрике «Популярные», — всё работает.

    использую следующий код для вывода пастов категории

    Юрий,nani_t собрался выводить записи в рубрике.

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