• Всё очень подробно написал. Даже повторялся кое-где)
    — — —
    У меня есть рубрика «новости», посты которой я вывожу на отдельной странице. Странице эта называется — «Новости», и она у меня по своему шаблону сделана.
    Вот этот код этого шаблона:

    <?php
    /*
    Template Name: For news
    */
    ?>
    
    <?php
    /**
     * @package WordPress
     * @subpackage Motion
     */
    get_header(); ?>
    
    <div id="main">
    <div id="contentnews">
    <?php query_posts('cat=56'); ?>
    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
    
    <?php if (function_exists('wp_list_comments')): ?>
    <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
    <?php else : ?>
    <div class="post" id="post-<?php the_ID(); ?>">
    <?php endif; ?>
    
    <div class="her">
    <div class="newstop">
    
    <h2 class="newstitle"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
    
    <div class="newsmetatop">
    <div class="categs"></div>
    <div class="cleared"></div>
    </div><!-- /newsmetatop -->
    </div>
    </div><!-- /newstop -->
    
    <div class="newsmetabottom">
    <div class="tags"><?php the_time('d/m/Y') ?></div>
    <div class="readmore"><span><a href="<?php the_permalink() ?>">подробнее</a></span></div>
    <div class="cleared"></div>
    </div><!-- /postmetabottom -->
    </div><!-- /post -->
    
    <?php endwhile; ?>
    <?php else : ?>
    <div class="post">
    <div class="posttop">
    <h2 class="posttitle"><a href="#">Не найдено</a></h2>
    </div><!-- /posttop -->
    <div class="pagecontent">
    <p>К сожалению, по Вашему запросу ничего не найдено....</p>
    </div><!-- /postcontent -->
    </div><!-- /post -->
    <?php endif; ?>
    
    <div id="navigation">
    <?php if(function_exists('wp_pagenavi')) { ?>
    <?php wp_pagenavi(); ?>
    <?php }
    else { ?>
    <div class="alignleft"><?php next_posts_link('&laquo; Предыдущие записи') ?></div>
    <div class="alignright"><?php previous_posts_link('Следующие записи &raquo;') ?></div>
    <?php } ?><!-- end of pagenavi conditional statement -->
    <div class="cleared"></div>
    </div><!-- /navigation -->
    
    </div><!-- /content -->
    
    </div><!-- /main -->
    <?php get_footer(); ?>

    Шаблон работает хорошо. Новости на сайте как бы отдельно ото всех рубрик(и как Вы помните — у меня для новостных постов — отдельная страница «Новости») 🙂

    А проблема в том, что плагин pagenavi на этой моей отдельной странице «Новости» — не работает. Когда я перехожу на 2-ую страницу, то в адресной строке такая штука:http://localhost/localblog/novosti/page/2
    А переключения на посты на странице 2 — не происходит. Весит тот же пост, что и при «http://localhost/localblog/novosti&#187;.
    Плагин во всех остальных местах на блоге — работает отлично.

    И ещё хотел сказать:
    1) У меня этот плагин работает только если у ссылки такой вид — «http://localhost/localblog/category/novosti&#187;
    (Я специально сделал так, чтоб у меня не было ссылок на адрес выше)

    2) Но у меня-то «http://localhost/localblog/novosti&#187;. Так как я выносил эту рубрику на отдельную страницу, способом создания для неё отдельного шаблона(Template Name: For news)

    3) Я хочу чтоб навигация по постам по адресу «http://localhost/localblog/novosti&#187; работала также как и по адресу «http://localhost/localblog/category/novosti&#187;

    Помогите пожааааалуйста.
    P.S. Гуглил 2 часа — не нашёл решения(

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Блин!(( Я уже нагуглил часов 6(((
    Что за чёрт?((

    Тема то актуальная… Ну как же так происходит, что никто с этой проблемой не сталкивался(((

    Это шаблон категории или статической страницы? Если категории, читаем Кодекс http://codex.wordpress.org/Template_Tags/query_posts

    If you want to preserve that information, you can use the $query_string global variable in the call to query_posts().
    For example, to set the display order of the posts without affecting the rest of the query string, you could place the following before The Loop:

    global $query_string;
    query_posts($query_string . "&order=ASC");

    Я новичок, так что прошу простить(
    Вот как я сделал:
    1) Страницы -> Новая страница -> Сделал её по шаблону:

    <?php
    /*
    Template Name: For news
    */
    ?>
    
    <?php
    /**
     * @package WordPress
     * @subpackage Motion
     */
    get_header(); ?>
    
    <div id="main">
    <div id="contentnews">
    <?php query_posts('cat=56'); ?>
    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
    
    <?php if (function_exists('wp_list_comments')): ?>
    <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
    <?php else : ?>
    <div class="post" id="post-<?php the_ID(); ?>">
    <?php endif; ?>
    
    <div class="her">
    <div class="newstop">
    
    <h2 class="newstitle"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
    
    <div class="newsmetatop">
    <div class="categs"></div>
    <div class="cleared"></div>
    </div><!-- /newsmetatop -->
    </div>
    </div><!-- /newstop -->
    
    <div class="newsmetabottom">
    <div class="tags"><?php the_time('d/m/Y') ?></div>
    <div class="readmore"><span><a href="<?php the_permalink() ?>">подробнее</a></span></div>
    <div class="cleared"></div>
    </div><!-- /postmetabottom -->
    </div><!-- /post -->
    
    <?php endwhile; ?>
    <?php else : ?>
    <div class="post">
    <div class="posttop">
    <h2 class="posttitle"><a href="#">Не найдено</a></h2>
    </div><!-- /posttop -->
    <div class="pagecontent">
    <p>К сожалению, по Вашему запросу ничего не найдено....</p>
    </div><!-- /postcontent -->
    </div><!-- /post -->
    <?php endif; ?>
    
    <div id="navigation">
    <?php if(function_exists('wp_pagenavi')) { ?>
    <?php wp_pagenavi(); ?>
    <?php }
    else { ?>
    <div class="alignleft"><?php next_posts_link('&laquo; Предыдущие записи') ?></div>
    <div class="alignright"><?php previous_posts_link('Следующие записи &raquo;') ?></div>
    <?php } ?><!-- end of pagenavi conditional statement -->
    <div class="cleared"></div>
    </div><!-- /navigation -->
    
    </div><!-- /content -->
    
    </div><!-- /main -->
    <?php get_footer(); ?>

    Как видите есть строка <?php query_posts(‘cat=56’); ?>
    У меня на этой странице выводится все посты новостей.

    <?php wp_pagenavi(); ?> — а вот это навигация не работает. Когда я нажимаю на переход на вторую страницу, то у меня остаётся тотже пост, а адресная строка меняется
    с http://localhost/localblog/novosti
    на http://localhost/localblog/novosti/page/2

    Навигация по новостям работает только со страницы http://localhost/localblog/category/novosti :((

    И как же мне сделать, чтоб Навигация работала по адресу http://localhost/localblog/novosti также как и при адресе http://localhost/localblog/category/novosti???

    Вся загвоздка однозначно в том, что на моей отдельной странице «Новости» нет /category/
    🙁

    YuBe спасибо, что помогаете. Уж такой я Новичок неопытный(

    Мой Вам совет: не смешивайте страницы с рубриками, если не хотите иметь головную боль.

    Хороший совет, но мне без этого никак(

    Я полностью отделил одну рубрику ото всех остальных. Проблема только с навигацией(
    Проблем больше не будет, так как навигация — последний штрих.

    Обливаясь слезами радости пишу.. ( не шучу 🙂 )
    Проблема решилась!)
    http://www.sonika.ru/blog/wordpress/query-posts-navigation.htm#comment-126525

    Решение:
    $paged = get_query_var(‘paged’);
    query_posts(‘cat=56&paged=’.$paged);

    :))))))) Весь день был потрачен не зря)

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Навигация при отделении одной рубрики(актуальная тема» закрыта для новых ответов.