Функция wp_link_pages()
выводит набор ссылок, которые позволяют пользователям перемещаться между различными страницами контента, если он был разбит с помощью <!--nextpage-->
. Эта функция автоматически генерирует навигационные элементы на основе количества разрывов страниц в контенте. Каждое вхождение <!--nextpage-->
разделяет контент на отдельные страницы, плюс одна дополнительная страница. Эта опция активно использовалась вместе с классическим редактором постов.
Gutenberg
Если ваш сайт использует в качестве редактора постов — билдер Gutenberg, то данная опция не будет работать. Она предназначена только для Classic Editor. Для гутенберга есть альтернатива — Page Break Block которая решает похожую задачу.
wp_link_pages( array $args = array() )
Параметры
Функция принимает массив аргументов, который может включать следующие ключи:
- before (string) – HTML, выводимый перед списком ссылок на страницы. По умолчанию пусто.
- after (string) – HTML, выводимый после списка ссылок на страницы. По умолчанию пусто.
- link_before (string) – HTML, выводимый перед каждой ссылкой на страницу. По умолчанию пусто.
- link_after (string) – HTML, выводимый после каждой ссылки на страницу. По умолчанию пусто.
- next_or_number (string) – Определяет, нужно ли выводить номера страниц или ссылки на следующую/предыдущую страницу. Принимает значения
number
(для номеров страниц),next
(для ссылок на следующую страницу) илиboth
(и то, и другое). По умолчаниюnumber
. - nextpagelink (string) – Текст ссылки на следующую страницу. По умолчанию «Next page».
- previouspagelink (string) – Текст ссылки на предыдущую страницу. По умолчанию «Previous page».
- pagelink (string) – Формат текста ссылок.
%
будет заменено на номер страницы, например, «Page %» выведет ссылки как «Page 1», «Page 2» и т.д. По умолчанию%
. - echo (bool) – Определяет, нужно ли выводить результат на экран (
true
) или возвращать его (false
). По умолчаниюtrue
.
Пример использования
Функцию wp_link_pages()
обычно вызывают внутри шаблонных файлов WordPress, таких как single.php
, чтобы создать навигацию по страницам контента:
<?php
// Внутри вашего шаблона, например single.php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
the_content(
wp_link_pages( array(
'before' => '<p>' . __('Pages:'),
'after' => '</p>',
'link_before' => '',
'link_after' => '',
'next_or_number' => 'number',
'nextpagelink' => __('Next page'),
'previouspagelink' => __('Previous page'),
'pagelink' => '%',
'echo' => 1
) )
);
endwhile;
endif;
?>
Добавление кнопки разрыва страницы в визуальном редакторе
Для быстрого добавления разрыва страницы в визуальном редакторе WordPress можно использовать комбинацию клавиш: alt + shift + p
. Также можно добавить кнопку разрыва страницы в редактор TinyMCE (Нужно активировать классический редактор при помощи плагина) с помощью следующего кода в functions.php
:
add_filter('mce_buttons', 'mce_page_break');
function mce_page_break( $mce_buttons ){
$pos = array_search('wp_more', $mce_buttons, true);
if( $pos !== false ) {
$buttons = array_slice( $mce_buttons, 0, $pos );
$buttons[] = 'wp_page';
$mce_buttons = array_merge( $buttons, array_slice($mce_buttons, $pos) );
}
return $mce_buttons;
}
Параметры шаблона
Вы можете настроить вывод ссылок, обернув их в дополнительные HTML-теги и изменив текст каждой ссылки. Например:
<?php wp_link_pages( array(
'before' => '<div id="page-links">',
'after' => '</div>',
'pagelink' => 'Page %'
)); ?>
Заключение
Функция wp_link_pages()
предоставляет гибкий способ управления многостраничными постами и страницами в WordPress, позволяя пользователям легко перемещаться между страницами контента. Используйте её вместе с разрывами страниц <!--nextpage-->
, чтобы улучшить удобство чтения и навигацию на вашем сайте.