Не работает постраничная навигация даже с модулем wp-pagenavi

Не работает постраничная навигация даже с модулем wp-pagenavi

Не работает постраничная навигация с модулем wp-pagenavi

Ура, свершилось! Победа!

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

Авторское право
!!!Авторство текста подтверждено!!!
Будьте уверены в том, что сейчас читаете «уникальный» текст, которого еще нет в интернете. Если где бы то ни было в сети интернет вы обнаружите этот текст, кроме сайта
info.barbados-fs.ru
ЗНАЙТЕ — это всего лишь копия, за достоверность которой barbados-fs ответственности не несет и нести не может

Но все по порядку.

Всем известно, что стандартно, постраничная навигация в WordPress решена отвратительно «Предыдущая», «Следующая», «Вперед», «Назад» , «Старые записи» , «Свежие записи» или их аналоги на любимом всеми  английском языке —  «Previous», «Next», «forward» , «back» , «Older Entries» , «Recent Entries»,  вот что, как правило, увидит владелец сайта, внизу главной страницы своего ресурса, при стандартной установки Вордпресса.

Исправить это безобразие, впрочем, так же легко, для этого достаточно установить плагин wp-pagenavi

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

Решение было найдено достаточно быстро, для этого в файл index.php моей темы, достаточно было ввести функцию query_posts с указанием категории, которую выводить не надо:

<?php query_posts('cat=-27'); ?>

 

где -27 это как раз ID той категории, посты из которой не должны публиковаться на главной странице. ID можно указывать через запятую, если надо запретить вывод постов нескольких категорий.

Данную функцию ставил перед:

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

 

Все отлично работало, запрещенные посты не выводились, НО вот незадача — не работала и постраничная навигация на главной странице сайта.

Т.е. при переходе на следующую (вторую и последующие) страницу открывалась опять первая и отображались все те же посты, расположенные на первой странице, хотя в строке браузера и указывалось, что открыта та страница, на которую вы переходили.

 

Без знаний php сам я эту проблему решить не мог, а все варианты найденные в сети мне не помогали.

И вот на одном из сайтов мне попалось описание нечто подобного и вроде как очень близкого, но опять же мне не подошедшего

В статье говорилось, что надо вставить код:

<?php query_posts($query_string.'&cat=1'); ?>

 

При этом, как Вам наверное понятно, будут выводиться посты только из первой категории, что мне опять же было не нужно, НО натолкнуло меня на мысль — соединить:

$query_string.'&cat=1'

и

'cat=-27'

Соединил, как говориться — «Наобум», но О ЧУДО, все заработало, как мне было надо!

Вот что у меня получилось:

<?php query_posts($query_string.'&cat=(),-27'); ?>

И постраничная навигация заработала, как надо и посты из запрещенной категории на главную не выводились!

Поделись с друзьями
Понравилась статья? Не забудь поделиться ей с друзьями в twittere, facebooke, google+ и других сетях.

33 комментария

  1. Бизнес для Женщин:

    Здравствуйте. Очень заинтересовали модули на Вашем сайте «Поделись с друзьями» и «Авторское право». Это плагином выводится? Как он называется?

    • Администратор:

      Этот плагин называется Special Text Boxes, т.е. он позволяет выводить в постах такие красивые цветные боксы, а уж что там будет написано внутри и какие иконки будут при этом, это уж вы сами…на волю вашей фантазии. По умолчанию там идет порядка 5 готовых боксов. Вот на их основе я и сделал те, которые мне были нужны.

  2. smallcat:

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

  3. К сожалению готового ответа на ваш вопрос у меня нет. У меня такой проблемы не было.

    Попробую конечно поразбираться, если что-то найду — поделюсь информацией.

    Хотя практически можно решать задачу только если есть «что менять».

    Первое что пришло на ум — вывод главной страницы отвечает Single.php

    Page.php – Отвечает за вывод отдельных страниц, таких как “контакты”, “об авторе”, “карта сайта” и т.д.

    Может покопаться в этом направлении?

    Вы не пробовали отключить модуль WP-PageNavi и посмотреть будет ли она работать? Я так понимаю вы только разрабатываете сайт, раз взялись за навигацию, попробуйте заменить файл Single.php на «дефолтный» Вы же, надеюсь, сделали его резервную копию?

    Посмотрите, решит ли это проблему. Если ДА, значит уже можно анализировать что изменялось или попробовать произвести изменения поэтапно, контролируя, на каком этапе возникнет эта ошибка с навигацией.

  4. smallcat:

    Дело в то что шаблон изначально создавал с нуля и «дефолтный» файл все ломает, page.php работает, все нормально, началось все тогда когда создал файл statyi.php для отображения всех статей по теме, подключил его

    возможно что-то здесь не верно.
    Вывод всех новостей оставил для главной index.php вот на ней теперь навигация работает.
    Единственное что хотелось бы сделать, вывести рядом с полным текстом статьи (я так понимаю что файл single.php отвечает за вывод полной статьи)
    с права список всех статей или новостей (на подобии вывода posts_nav_link предыдущей и следующей записи) только полностью весь список статей или новостей в зависимости от того в какой рубрике находится посетитель

    • Дело в то что шаблон изначально создавал с нуля и “дефолтный” файл все ломает, page.php работает, все нормально, началось все тогда когда создал файл statyi.php для отображения всех статей по теме, подключил его
      Раз так, то я думаю вы намного лучше разбираетесь в сайтостроительстве, чем я. Конечно, если что-то попадется по вашей проблеме — поделюсь, а так что-то конкретное посоветовать к сожалению не могу.

  5. Tesla:

    О, спасибо 😉 Все утро бился над проблемой

  6. Рад, что вам помогла моя статья 🙂

  7. rustamdzhan:

    Огромное спасибо за эту статью !!!!!!!!!!

  8. Как говориться — «не за что» 🙂 Рад что она вам помогла.

  9. Спасибо Вам огромное!!!!!!!!я мучался долго,с такой же проблемой как у Вас.думал уже все.но нашел Ваш блог и о ЧУДО!!!!еще раз спасибо!

    • Александр, рад что мой опыт вам пригодился, на это и делался расчет, когда решил описать проблему постраничной навигации, т.к. сам на ее решение потратил много времени.

  10. Благодарю, помогло, вроде не новичёк, но не мог одолеть эту фигню. Удачи!

  11. Добрый день а куда вы вставляли этот код. У меня такая же проблема. Помогите……

    • Так разобрался куда и почём, но вот проблема не работает навигация как у smallcat. Проблему уже решили????

    • Что вы понимаете под словом «куда»? Если в какой файл вносится код, то в статье написано — «…в файл index.php моей темы «.

      А если вы спрашиваете про место вставки кода, то я вставлял перед строкой (что-бы сейчас было видно строки кода убрал в начале строки символ (< )) :
      ?php if (have_posts()) : while (have_posts()) : the_post(); ?>

      т.е. вышло вот так (добавьте вначале строки символ (< )):

      ?php query_posts($query_string.’&cat=(),-27,-192,-204,-207′); ?>

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

  12. Ой, огромное спасибо за способ!

  13. Спасибо большое!!!!!!!!!!!!!!

  14. У меня проблема немного похожая на «при переходе на следующую (вторую и последующие) страницу открывалась опять первая и отображались все те же посты, расположенные на первой странице, хотя в строке браузера и указывалось, что открыта та страница, на которую вы переходили».
    Только такая ситуация возникает, когда я создаю статическую страницу в качестве главной и вибираю шаблон страницы «Блог», а в категориях навигация работает. Сделал все действия описаны в статье — не помогло. Не подскажите как решить данную проблему. Зарание спасибо. http://www.kmcentr.com.ua/

    • Мирослав, здравствуйте. К сожалению не подскажу, ибо вообще не силен во всех этих кодах. Появляющиеся свои проблемы я конечно решал, при этом перелопатив горы интернета, да и то, приходилось все делать на практике.

      Да и было это уже давно.

      • Спасибо за ответ. Мне кажется лучше взять другой шаблон-будет проще)

        • Все может быть. Я вот этот шаблон уже столько допиливал под себя, что даже обновлять не стал, т.к. при обновлении шаблона все полетит, а снова все переделывать уже нет ни времени ни знаний. Обычно что меняю — записываю, но теперь уже и запись сама потерялась. Т.ч. сижу на том что есть 🙂 и с ужасом жду, когда после очередного обновления WP что-то полетит.

  15. Олег:

    Да вы просто СУПЕР!!! спасибо за статью!!!
    Я уже думал забить на этот сайт!!!!

  16. Mall:

    Спасибо большое, помогла данная информация

  17. Вова:

    Спасибо, перепробовал много способов и только ваш совет помог!

  18. holiday101022:

    Ищу интернет магазин женской одежды, можно ссылками, спасибо

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *