Поддержка Проблемы и решения Рубрики и query_posts

  • Здравствуйте. Присутствует такой код:

    // Большие куски кода - через pastebin

    Код является шаблоном при выводе отдельных рубрик, точнее их содержимом. Нужно ограничиться выводом 8 записей и разделением их по страницам, он же выводит все без конца.
    При использовании query_posts выводятся все записи (последние из всех рубрик).

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Большие куски кода — через pastebin.

    При использовании query_posts выводятся все записи (последние из всех рубрик)

    Покажите, как применяете.

    <?php query_posts(‘cat=-ID&showposts=8’); ?>
    Использовался так, выводит все новости. Ясно что если прописать
    query_posts(‘category_name=WordPress’)
    То выведет её, но код является шаблоном для всех рубрик, вот и не могу подстроить.

    Можно использовать переменную.

    Можно тут по подробнее, в блоге всего две рубрики. Думаю труда не составит.

    Вообще, когда открыта страница конкретной рубрики, записи выводятся только из этой рубрики. Можно оставить только showposts=8 в качестве параметра. Только правильнее будет 'posts_per_page=8'.

    <?php query_posts(‘posts_per_page=8’); ?>
    Уже использовал..он выводит все записи(из всех рубрик) по 8 на странице.(все правильно).
    И навигация не работает. Может что в коде.

    <?php get_header(); ?>
    <div class="content">
    		<?php if (have_posts()) : ?>
    		<?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
    		<?php /* If this is a category archive */ if (is_category()) { ?>
    		<h2>Рубрика &laquo;<?php single_cat_title(); ?>&raquo;</h2>
    		<?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>
    		<h2>Записи с меткой &laquo;<?php single_tag_title(); ?>&raquo;</h2>
    		<?php /* If this is a daily archive */ } elseif (is_day()) { ?>
    		<h2>Архив за <?php the_time('d M Y'); ?></h2>
    		<?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
    		<h2>Архив за <?php the_time('F Y'); ?></h2>
    		<?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
    		<h2>Архив за <?php the_time('Y'); ?></h2>
    		<?php /* If this is an author archive */ } elseif (is_author()) { ?>
    		<h2>Архив автора</h2>
    		<?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
    		<h2>Архив сайта</h2>
    		<?php } ?>
    <?php query_posts('posts_per_page=8'); ?>
    		<?php while (have_posts()) : the_post(); ?>
    <div class="latest-post-wrap">
        <div class="latest-post">
                    <div class="latest-title">
                <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?>
    </a></h2>
            </div>
            <div class="latest-image">
                <a href="<?php the_permalink() ?>"><?php image_attachment('image', 162, 118); ?></a>
            </div>
            </div>
                 <div class="latest-content">
                 <div class="postMeta-front"><span class="date"><?php the_time('j F Y') ?></span><span class="comments"><?php comments_popup_link('вк'); ?></span></div> <div class="clear"></div>
    				<p><?php
      $excerpt = get_the_excerpt();
      echo the_excerpt_max_charlength(100);
    ?></p><p class="moretext"><a href="<?php the_permalink() ?>">Читать...</a></p>
        </div>
            </div>
    
    	<?php endwhile; else: ?>
    
    		<p>К сожалению, по вашему запросу ничего не найдено.</p>
    
    <?php endif; ?>
    
                <p><?php next_posts_link('&laquo; Предыдущие записи') ?></p>
    			<p><?php previous_posts_link('Следующие записи &raquo;') ?></p>
    
    </div>
    <?php get_sidebar(); ?>
     <div class="clear"></div>
    <?php get_footer(); ?>

    Код вызова рубрик

    <div id="sidebar">
            <ul>
    
                 <li><h2>Поиск</h2>
    		<?php include (TEMPLATEPATH . '/searchform.php'); ?><div class="clear"></div></li>
    
    		<?php wp_list_categories('show_count=&title_li=<h2>Рубрики</h2>'); ?>
    
    		<li><h2>Новое на сайте</h2>
    				<ul>
    				<?php query_posts('showposts=4'); ?>
    				<?php while (have_posts()) : the_post(); ?>
    				<li><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
    				</li>
    				<?php endwhile; ?>
    				</ul>
    			</li>
    
    		</ul>
            </div>

    У query_posts гораздо больше параметров и возможностей чем вы полагаете.

    Уважаемый Алексей, поведайте же о них.

    Изначально код присутствовал в index.php, затем его перенес в archive.php. Без query_posts посты отображаются корректно (то есть только той рубрики в которую зашел). Выводится на странице рубрик. Вот код:

    --------------------------------
    <div class="latest-post-wrap">
        <div class="latest-post">
                    <div class="latest-title">
                <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?>
    </a></h2>
            </div>
            <div class="latest-image">
                <a href="<?php the_permalink() ?>"><?php image_attachment('image', 162, 118); ?></a>
            </div>
            </div>
                 <div class="latest-content">
                 <div class="postMeta-front"><span class="date"><?php the_time('j F Y') ?></span><span class="comments"><?php comments_popup_link('вк'); ?></span></div> <div class="clear"></div>
                    <p><?php
      $excerpt = get_the_excerpt();
      echo the_excerpt_max_charlength(100);
    ?></p><p class="moretext"><a href="<?php the_permalink() ?>">Читать...</a></p>
        </div>
    --------------------------------------

    Cкопировал и перенёс в archive. Работает корректно без query.

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «Рубрики и query_posts» закрыта для новых ответов.