wp_link_pages

Позволяет изменить HTML-вывод ссылок на страницы для разбитых по страницам записей
Хук WordPress
INT 3.6.0
WordPress Icon
Содержание
  1. Описание хука
  2. Примеры использования
  3. Применение фильтра для изменения HTML-вывода ссылок на страницы
  4. Изменение текста, добавляемого перед каждой ссылкой
  5. Изменение текста, добавляемого после каждой ссылки
  6. Изменение текста, добавляемого перед каждой ссылкой и текущим элементом
  7. Изменение текста, добавляемого после каждой ссылки и текущим элементом
  8. Изменение значения атрибута aria-current
  9. Использование только номеров страниц вместо текстовых ссылок
  10. Изменение текста между ссылками на страницы
  11. Изменение текста ссылки на следующую страницу
  12. Изменение текста ссылки на предыдущую страницу
  13. Изменение формата строки с номером страницы
  14. Отключение вывода HTML-кода
  15. Изменение порядка аргументов в функции apply_filters
  16. Вопросы и ответы
  17. Как изменить текст ссылки на следующую страницу?
  18. Как изменить текст ссылки на предыдущую страницу?
  19. Как изменить разделитель между ссылками на страницы?
  20. Как изменить текст, который добавляется перед каждой ссылкой на страницу?
  21. Как изменить текст, который добавляется после каждой ссылки на страницу?
  22. Как изменить текст, который добавляется перед текущей страницей?
  23. Как изменить текст, который добавляется после текущей страницы?
  24. Как изменить формат строки номера страницы?
  25. Как отключить вывод ссылок на страницы?
  26. Связанные элементы

Описание хука

Хук «wp_link_pages» позволяет определить и изменить HTML-вывод ссылок на страницы для пагинированных постов. Этот хук используется для настройки и изменения вывода ссылок на страницы в постах, которые разделены на несколько страниц.

Использование

apply_filters( 'wp_link_pages', string $output, array|string $args )

Этот хук принимает два параметра: $output (строка) и $args (массив или строка). Функция apply_filters() позволяет применить хук «wp_link_pages» и передать в него указанные параметры.

  • $output (строка): HTML-вывод ссылок на страницы пагинированных постов.
  • $args (массив или строка): Массив или строка с аргументами. Смотрите функцию wp_link_pages() для получения информации о принимаемых аргументах. Больше аргументов из wp_link_pages( … $args ).
    • before (строка): HTML или текст, добавляемый перед каждой ссылкой. По умолчанию: «Pages:».
    • after (строка): HTML или текст, добавляемый после каждой ссылки. По умолчанию: пустая строка.
    • link_before (строка): HTML или текст, добавляемый перед каждой ссылкой внутри тега <a>. Также добавляется перед текущим элементом, который не является ссылкой. По умолчанию: пустая строка.
    • link_after (строка): HTML или текст, добавляемый после каждой ссылки на страницы внутри тега <a>. Также добавляется после текущего элемента, который не является ссылкой. По умолчанию: пустая строка.
    • aria_current (строка): Значение для атрибута aria-current. Возможные значения: ‘page’, ‘step’, ‘location’, ‘date’, ‘time’, ‘true’, ‘false’. По умолчанию: ‘page’.
    • next_or_number (строка): Указывает, должны ли использоваться номера страниц. Допустимые значения: ‘number’ и ‘next’. По умолчанию: ‘number’.
    • separator (строка): Текст между ссылками пагинации. По умолчанию: пробел.
    • nextpagelink (строка): Текст ссылки на следующую страницу, если она доступна. По умолчанию: ‘Next Page’.
    • previouspagelink (строка): Текст ссылки на предыдущую страницу, если она доступна. По умолчанию: ‘Previous Page’.
    • pagelink (строка): Формат строки для номеров страниц. Знак % в строке параметра будет заменен номером страницы, например, ‘Page %’ генерирует «Page 1», «Page 2» и т.д. По умолчанию: ‘%’, только номер страницы.
    • echo (int|bool): Выводить результат или нет. Принимает значения 1|true или 0|false. По умолчанию: 1|true.
<?php
$args = array(
  'before' => '<p>Pages: </p>',
  'after' => '',
  'link_before' => '',
  'link_after' => '',
  'aria_current' => 'page',
  'next_or_number' => 'number',
  'separator' => ' ',
  'nextpagelink' => 'Next Page',
  'previouspagelink' => 'Previous Page',
  'pagelink' => '%',
  'echo' => 1
);
$output = wp_link_pages( $args );
echo $output;
?>

В этом примере мы создаем массив $args, в котором указываем различные параметры для вывода ссылок на страницы. Затем мы вызываем функцию wp_link_pages() с передачей этого массива в качестве аргумента. Результат сохраняем в переменной $output и выводим его с помощью echo.

Примеры использования

Применение фильтра для изменения HTML-вывода ссылок на страницы


function custom_link_pages_output( $output, $args ) {
    // Изменяем HTML-вывод ссылок на страницы
    $output = str_replace( '<div class="wp-link-pages">', '<div class="custom-link-pages">', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_output', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_output, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для замены класса wp-link-pages на custom-link-pages. Затем мы возвращаем измененный HTML-вывод.

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


function custom_link_pages_before( $output, $args ) {
    // Изменяем текст, добавляемый перед каждой ссылкой
    $output = str_replace( 'Pages:', 'Страницы:', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_before', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_before, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для замены текста «Pages:» на «Страницы:». Затем мы возвращаем измененный HTML-вывод.

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


function custom_link_pages_after( $output, $args ) {
    // Изменяем текст, добавляемый после каждой ссылки
    $output = str_replace( '</a>', '</a> |', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_after', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_after, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для добавления символа «|» после каждой ссылки. Затем мы возвращаем измененный HTML-вывод.

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


function custom_link_pages_link_before( $output, $args ) {
    // Изменяем текст, добавляемый перед каждой ссылкой и текущим элементом
    $output = str_replace( '<a', '<span class="link-before">Before</span> <a', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_link_before', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_link_before, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для добавления текста «Before» перед каждой ссылкой и текущим элементом. Затем мы возвращаем измененный HTML-вывод.

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


function custom_link_pages_link_after( $output, $args ) {
    // Изменяем текст, добавляемый после каждой ссылки и текущим элементом
    $output = str_replace( '</a>', '</a> <span class="link-after">After</span>', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_link_after', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_link_after, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для добавления текста «After» после каждой ссылки и текущего элемента. Затем мы возвращаем измененный HTML-вывод.

Изменение значения атрибута aria-current


function custom_link_pages_aria_current( $output, $args ) {
    // Изменяем значение атрибута aria-current
    $output = str_replace( 'aria-current="page"', 'aria-current="step"', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_aria_current', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_aria_current, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для изменения значения атрибута aria-current с «page» на «step». Затем мы возвращаем измененный HTML-вывод.

Использование только номеров страниц вместо текстовых ссылок


function custom_link_pages_next_or_number( $output, $args ) {
    // Используем только номера страниц вместо текстовых ссылок
    $output = str_replace( 'next', 'number', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_next_or_number', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_next_or_number, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для замены значения «next» на «number». Затем мы возвращаем измененный HTML-вывод.

Изменение текста между ссылками на страницы


function custom_link_pages_separator( $output, $args ) {
    // Изменяем текст между ссылками на страницы
    $output = str_replace( ' | ', ' / ', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_separator', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_separator, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для замены текста » | » на » / «. Затем мы возвращаем измененный HTML-вывод.

Изменение текста ссылки на следующую страницу


function custom_link_pages_nextpagelink( $output, $args ) {
    // Изменяем текст ссылки на следующую страницу
    $output = str_replace( 'Next Page', 'Next', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_nextpagelink', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_nextpagelink, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для замены текста «Next Page» на «Next». Затем мы возвращаем измененный HTML-вывод.

Изменение текста ссылки на предыдущую страницу


function custom_link_pages_previouspagelink( $output, $args ) {
    // Изменяем текст ссылки на предыдущую страницу
    $output = str_replace( 'Previous Page', 'Previous', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_previouspagelink', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_previouspagelink, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для замены текста «Previous Page» на «Previous». Затем мы возвращаем измененный HTML-вывод.

Изменение формата строки с номером страницы


function custom_link_pages_pagelink( $output, $args ) {
    // Изменяем формат строки с номером страницы
    $output = str_replace( '%', 'Page %', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_pagelink', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_pagelink, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для замены символа «%» на «Page %». Затем мы возвращаем измененный HTML-вывод.

Отключение вывода HTML-кода


function custom_link_pages_echo( $output, $args ) {
    // Отключаем вывод HTML-кода
    return '';
}
add_filter( 'wp_link_pages', 'custom_link_pages_echo', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_echo, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы просто возвращаем пустую строку, чтобы отключить вывод HTML-кода. Таким образом, никакой HTML-код не будет выведен.

Изменение порядка аргументов в функции apply_filters


function custom_link_pages_arguments( $output, $args ) {
    // Изменяем порядок аргументов
    $output = str_replace( 'string $output', '$output string', $output );
    $output = str_replace( 'array|string $args', '$args array|string', $output );
    return $output;
}
add_filter( 'wp_link_pages', 'custom_link_pages_arguments', 10, 2 );

В данном примере мы создаем функцию custom_link_pages_arguments, которая принимает два параметра: $output (HTML-вывод ссылок на страницы) и $args (аргументы функции wp_link_pages). Внутри функции мы используем функцию str_replace для изменения порядка аргументов в строке документации. Затем мы возвращаем измененный HTML-вывод.

Вопросы и ответы

Как изменить текст ссылки на следующую страницу?

Для изменения текста ссылки на следующую страницу в функции wp_link_pages() можно использовать аргумент nextpagelink. По умолчанию текст ссылки равен «Next Page».


$args = array(
    'nextpagelink' => 'Следующая страница',
);
wp_link_pages( $args );

Как изменить текст ссылки на предыдущую страницу?

Для изменения текста ссылки на предыдущую страницу в функции wp_link_pages() можно использовать аргумент previouspagelink. По умолчанию текст ссылки равен «Previous Page».


$args = array(
    'previouspagelink' => 'Предыдущая страница',
);
wp_link_pages( $args );

Как изменить разделитель между ссылками на страницы?

Для изменения разделителя между ссылками на страницы в функции wp_link_pages() можно использовать аргумент separator. По умолчанию разделитель равен пробелу.


$args = array(
    'separator' => '|',
);
wp_link_pages( $args );

Как изменить текст, который добавляется перед каждой ссылкой на страницу?

Чтобы изменить текст, который добавляется перед каждой ссылкой на страницу, нужно использовать параметр before. Значение этого параметра будет добавлено перед каждой ссылкой на страницу.


$args = array(
    'before' => 'Страница: ',
);
wp_link_pages( $args );

Как изменить текст, который добавляется после каждой ссылки на страницу?

Чтобы изменить текст, который добавляется после каждой ссылки на страницу, нужно использовать параметр after. Значение этого параметра будет добавлено после каждой ссылки на страницу.


$args = array(
    'after' => ' - The End',
);
wp_link_pages( $args );

Как изменить текст, который добавляется перед текущей страницей?

Чтобы изменить текст, который добавляется перед текущей страницей, нужно использовать параметр link_before. Значение этого параметра будет добавлено перед текущей страницей, но не перед ссылкой.


$args = array(
    'link_before' => 'Текущая страница: ',
);
wp_link_pages( $args );

Как изменить текст, который добавляется после текущей страницы?

Чтобы изменить текст, который добавляется после текущей страницы, можно использовать аргумент after при вызове функции wp_link_pages(). Этот аргумент позволяет указать HTML или текст, который будет добавлен после каждой ссылки на страницу.

Пример кода:


$args = array(
    'after' => '<span class="page-separator">|</span>'
);
wp_link_pages( $args );

Как изменить формат строки номера страницы?

Для изменения формата строки номера страницы можно использовать аргумент pagelink при вызове функции wp_link_pages(). В этом аргументе можно указать формат строки, в которой символ % будет заменен на номер страницы.

Пример кода:


$args = array(
    'pagelink' => 'Страница %'
);
wp_link_pages( $args );

Как отключить вывод ссылок на страницы?

Чтобы отключить вывод ссылок на страницы, можно использовать аргумент echo при вызове функции wp_link_pages(). Если установить значение этого аргумента в false, то функция вернет HTML-код ссылок на страницы в виде строки, но не выведет его на экран.

Пример кода:


$args = array(
    'echo' => false
);
$links = wp_link_pages( $args );
echo $links;

Хук wp_link_pages позволяет изменять HTML-код ссылок на страницы для пагинированных постов. С помощью аргументов этого хука можно настроить текст, который добавляется после текущей страницы, изменить формат строки номера страницы и отключить вывод ссылок на страницы. Это полезно для создания пользовательского вида пагинации и управления выводом ссылок на страницы в WordPress.

Связанные элементы

  • Функция wp_link_pages(): выводит ссылки на страницы для разбиения поста на страницы.
  • Функция wp_link_pages_args(): возвращает массив аргументов по умолчанию для функции wp_link_pages().
  • Класс Walker_Page: используется для создания HTML-структуры ссылок на страницы.
  • Класс Walker_PageDropdown: используется для создания выпадающего списка ссылок на страницы.
Обсуждение