Примеры использования query_posts и query_string (не мое)

Дата: 29.11.2007 | Рубрика: Статьи

Случайно нашла отличное решение проблем с навигацией при использовании query_posts

Одно решение было известно отсюда:

вместо:

?php query_posts(’cat=1′); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

использовать:

<?php $numpost=10;//сколько записей на одной странице нам надо вывести
if($paged>1) $offset=$numpost*($paged-1);
else $offset=0;//чтобы знать, с какой статьи начать, если это не первая страница
query_posts(’cat=1&offset=’.$offset.’&showposts=’.$numpost); ?>

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Я так всегда и делала, пока задача не повернулась ж… другим боком: количеством записей необходимо управлять из админки (Настройки — Чтение). В примере выше количество выводимых записей ограничено в самом коде: $numpost=10

При всем при этом еще и плагин wp-pagenavi (v. 2.20) отказывался работать как положено.

Спас меня такой код:

<?php query_posts($query_string.’&cat=1′); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Такой расклад сразу понравился и плагину wp-pagenavi, и wp 2.2.3, и мне тоже :)

Источник [http://www.sonika.ru/blog/wordpress/query-posts-navigation.htm]


19 комментариев

  • 2012-09-18 в 17:40 Евгений написал:

    Подскажите. Я могу сделать так:
    - Создать страницу с персональным дизайном и выводить в ней категорию постов 1
    - Создать вторую страницу и выводить в ней категорию постов 2
    - 3
    - 4
    И так далее.... ??
  • 2012-09-19 в 10:49 Admin написал:

    Да, конечно, но не проще ли сделать шаблон для вывода той или иной категории ?
    Т.е. сделать шаблон для категории 1, сделать другой для категории 2 и т.д.
  • 2012-09-19 в 11:21 Евгений написал:

    Несовсем понял как это сделать...
  • 2012-09-19 в 12:04 Admin написал:

    Если Вы хотите сделать отдельный шаблон для категории, то создаете файл в папке темы category-12.php , где 12 - это ID категории.

    Полезные ссылки:
    http://codex.wordpress.org/Category_Templates
    http://codex.wordpress.org/Theme_Development
    http://codex.wordpress.org/images/1/18/Template_Hierarchy.png
  • 2012-09-19 в 12:56 Евгений написал:

    Огромное спасибо Вам за помощь! Узнал много нового! Добавлю Вас в партнёры! Ссылку позже дам. И последний вопрос пожалуйста... Когда я создаю рубрику, то ввожу описание. Как это описание вывести в шаблон этой рубрики?
  • 2012-09-19 в 13:07 Admin написал:

    <?php echo category_description( 12 ); ?>
    Где 12 - это ID категории.
  • 2012-09-19 в 13:22 Евгений написал:

    Ну Вам цены нет просто! Спасибо за новые знания!
  • 2012-09-19 в 13:24 Евгений написал:

    Скажите, как Вас зовут? И как называется проект? Просто wp-skins.info ? И если можно небольшое описание Вашей деятельности.
  • 2012-09-19 в 13:36 Admin написал:

    Проект - это сильно сказано, просто блог посвященный Wordpress.
    Описание: Обзор качественных тем и плагинов для Wordpress.
  • 2012-09-19 в 13:44 Евгений написал:

    http://studio177.ru/partner/ вы размещены :)
  • 2012-09-26 в 06:47 Евгений написал:

    Почту вашу не нашёл...
    Здравствуйте! Вы не могли бы опубликовать на своём блоге вот эту мою статью, http://mywordpress.ru/support/viewtopic.php?id=27299 только надо чуть чуть поправить код в ней, вот это:
    .ratingtext { font-size: 0px; }
    заменить на это:
    .ratingtext { display: none; }
  • 2012-09-26 в 15:44 Admin написал:

    Добрый день, Евгений, а что в Вашей статье такого особенного ?
    Вы, всего лишь, воспользовались встроенным функционалом WP.
  • 2012-09-26 в 16:49 Евгений написал:

    Как что... Я более менее соображающий человек, зная задачу и зная какими словами её назвать весь Интернет перерыл и не нашёл готового решения... Собирал по кусочкам... Так представьте как данная статья поможет следующему такому искателю? И как он будет рад что ему всего лишь надо скопировать коды и всё заработает ))))
  • 2012-09-26 в 17:31 Admin написал:

    Все это есть в документации к WP, в этой статье :
    http://codex.wordpress.org/Function_Reference/query_posts
  • 2012-12-07 в 06:30 Natalsha написал:

    У меня по незнанию получился вот такой код






    &lt;article &gt;
    И на главной ничего не выводится, пустая страница , помогите исправить пожалуйста.
  • 2012-12-07 в 07:14 Admin написал:

    Выложите файл, в котором правили код, и напишите здесь ссылку, я посмотрю и скажу, что не так.
  • 2012-12-07 в 11:32 natalsha написал:

    get_header();
    get_sidebar();
    ?&gt;






    &lt;article &gt;
  • 2013-01-21 в 10:31 mupic написал:

    Помогите пожалуйста.
    Навигация работает, но не отмечается на какой странице находишься.
    http://waldub.ru/d/
    Код шаблона:
    [CODE]<?php
    /*
    Template Name: fuuuuucccc
    */
    ?>
    <?php get_header(); ?>
    <div class="art-layout-wrapper">
    <div class="art-content-layout">
    <div class="art-content-layout-row">
    <div class="art-layout-cell art-sidebar1">
    <?php get_sidebar('default'); ?>
    <div class="cleared"></div>
    </div>
    <div class="art-layout-cell art-content">
    <?php get_sidebar('top'); ?>
    <?php
    if(have_posts()) {

    /* Display navigation to next/previous pages when applicable */
    if ( theme_get_option('theme_' . (theme_is_home() ? 'home_' : '') . 'top_posts_navigation' ) ) {
    theme_page_navigation();
    }

    /* Start the Loop */
    $current_page = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $numpost=10;//сколько записей на одной странице нам надо вывести
    if($paged>1) $offset=$numpost*($paged-1);
    else $offset=0;//чтобы знать, с какой статьи начать, если это не первая страница
    query_posts('cat=7&offset='.$offset.'&showposts='.$numpost); global $more; $more = 0;

    while (have_posts()) {
    the_post();

    get_template_part('content', get_post_format());
    }

    /* Display navigation to next/previous pages when applicable */
    if (theme_get_option('theme_bottom_posts_navigation')) {
    theme_page_navigation();
    }

    } else {

    theme_404_content();

    }
    ?>
    <?php get_sidebar('bottom'); ?>
    <div class="cleared"></div>
    </div>
    <div class="art-layout-cell art-sidebar2">
    <?php get_sidebar('secondary'); ?>
    <div class="cleared"></div>
    </div>
    </div>
    </div>
    </div>
    <div class="cleared"></div>
    <?php get_footer(); ?>[/CODE]
  • 2015-05-18 в 19:24 Алексей написал:

    Подскажите пожалуйста! как сделать вывод двух постов на главную где выводятся посты из определённой категории и 4 поста на страницы page2,3,4....?

Вы должны войти, чтобы оставить комментарий!