Сен
30
33

Разбиение поста блога на страницы, функция wp_link_pages

страницы в постеИногда когда вы пишите большие посты в блоге, есть смысл разбивать их на несколько страниц. Причины для этого могут быть разные: во-первых, чем меньше текста, на странице, тем быстрее он загрузится и отобразится на сайте. Во-вторых, иногда количество текста в посте влияет на визуальное оформление блога — не всегда красиво выглядят «страницы-простыни» на сайте, когда сайдбар остался наверху, а вы все еще прокручиваете пост вниз она браузера. За реальным примером, в принципе далеко ходить не нужно — недавно мне для литературного блога прислали небольшой роман с просьбой опубликовать. Небольшой относительно, страниц на 200:) Понятно, что сразу я решил размещать его в одном посте (записи), разбивая на страницы по главам. Как это сделать и что из этого получилось — читаем дальше.

Итак, следует заметить, что система wordpress содержит в текстовом редакторе возможность разбиения постов не только для анонсов — тег more но и поддерживает разделение статьи на страницы. Соответствующие кнопки вы найдете в редакторе, как правило, после иконок добавления картинки и оформления CSS текста.

страницы редактор wordpress

Первая иконка — для тега more, вторая для разбиения на страницы. Перед тем как ее нажать нужно установить курсор в тексте после того абзаца, где хотите сделать переход на новую страницу. Кликаете и увидите в окне редактора разделитель с надписью Next Page. Если зайти в HTML режим редактирования, то там будет располагаться код разделителя:

<!--nextpage-->

Точно также как и с more после сохранения поста, вы сможете убедиться, что wordpress автоматически обрабатывает эти HTML коды и выводит текст, как вы его задали. Вот, например, как выглядит разбиение на страницы:

пост блога страницы

Как я уже сказал выше, хотел опубликовать целый роман, поэтому страниц о-очень много:) При клике на ссылки с цифрами вы будете попадать на нужную вам страницу. При этом, что важно URL адреса страниц, разумеются будут отличаться, так что проблем с индексацией каждой отдельной страницы не будет — для поисковика они будут разные, а не один цельный пост. Для Sape сайтов это, скорее всего, очень хорошо, тогда как в продвижении не очень — все страницы будут иметь одинаковые META данные ключевики, тайтл, дескрипшн. Но это такое, вернемся к более насущным проблемам.

Оформление страниц для поста

В кодексе wordpress сможете найти полезную информацию о том, как задать оформления дл этих страниц. Изначально, как вы видели, оно достаточно простое. Первым делом вы, конечно, можете добавить оформление через CSS стили — если глянуть в HTML код меню, то найдете там соответствующие стили. У меня, например, по умолчанию вся навигация находилась в DIV с классом page-link, поэтому можно было бы использовать что-то вроде:

.page-link {
 margin: 25px 0;
color:#000;
 text-align: center;
}

Для отображения страниц в посте используется функция wp_link_pages для которой есть несколько параметров:

  • before — текст, который располагается перед ссылками, по умолчанию это <p>Pages:
  • after — текст после ссылок, по умолчанию — </p>.
  • next_or_number — определяет «стиль» навигации — либо будут использоваться номера страниц (number) либо ссылка на следующую страницу (next).
  • nextpagelink — текст для ссылки на следующую страницу, по умолчанию «Next page».
  • previouspagelink — текст для предыдущей страницы, по умолчанию «Previous page».
  • pagelink — формат строки для номеров страниц, параметр % заменяется на номер страницы, например, если указать «Page %», то получится навигация «Page 1», «Page 2» и т.п. По умолчанию выводятся только номера страниц.

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

<?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>

Можете попробовать в своем шаблоне сайта, функция располагался этот код сразу после the_content, то есть после контента записи блога.

Плагин Autopaginate

Для WordPress есть плагин, которые производит автоматическое разбиение на страницы — Autopaginate. Как обычно установка wordpress плагина стандартная а дальше в настройках «Параметры» — «Написание» вы можете указать количество слов, после которых будет автоматически добавляться разбиение на новую страницу.

Если я правильно понял, то по умолчанию плагин не будет «портить» посты и записи блога, где уже было выставлено разбиение на страницы вручную, поэтому не стоит переживать об этом. Если же вы хотите разбивать все посты без исключения, нужно включить опцию «force pagination».

Вот, в принципе, и все про разбиение поста на страницы — в этом, как видите, нет ничего сложного. Напоследок скажу лишь, что моя затея для публикации романа на 200 страниц все же не получилась, wordpress «скушал» только 180 страниц, после чего новые добавленные тексты сохранять отказывался. При этом также иногда возникали глюки и зависания скрипта, когда я, например, пытался выровнять абзацы по ширине для всего текста — слишком это сложное занятие. То есть, в принципе рассказы публиковать можно с разбиением по страницах для новых глав, только редактировать и вносить изменения нужно для небольшого блока текста и сохраняться после этого.

Для эффективной раскрутки нужна оптимизация сайтов всех его страниц — это поможет достичь максимального эффекта и результата.
Делаете украинский проект? — качественный хостинг украина по хорошим ценам и со стабильной работой вам понравится.
Надоело ходить в очках? Попробуйте контактные линзы заказать которые можно в интернете.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 5, средний балл: 3,80 из 7)
Загрузка...

категория Категории: Возможности;
теги Теги: , , , , .

комментария 33 к статье “Разбиение поста блога на страницы, функция wp_link_pages”

  • Tod   17.02.2015

    Валентина, вопрос, конечно, немного не по теме) К сожалению, чтобы понять суть этого функционала нужно разбираться детально — проще обратиться к тем, кто его делал, мол «нужна ваша помощь». Им виднее, разработка, как я понимаю, нестандартная.

  • LakiSpy   30.08.2015

    Допустим, у записи есть произвольный текст — описание. Запись разбита на страницы тегом nextpage. Описание нужно выводить только на первой странице из разбитого цикла. Существует ли функция для записей и постов аналогичная is_paged только для постов, так как данная функция по-идее не работает на сингулярных.

  • Tod   31.08.2015

    LakiSpy, кроме как выводить «произвольный текст описание» как часть записи (то есть добавлять его в сам пост), вариантов, думаю, нету. Если это произвольное описание используется на других страницах (архивах, категориях), то уже там менять стандартный the_content на дополнительное поле.
    Хотя все же стоит глянуть is_paged для поста — может он и существует, я вопрос не изучал.

Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Последние посты
Полезные заметки
Лучшее в категории
Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости