Как изменить файл functions темы для модификации пагинации?

3 сент. 2010 г., 21:13:43
Просмотры: 7.73K
Голосов: 1

По умолчанию, при добавлении <!--nextpage--> отображаются следующие ссылки: Страницы: 1 2

Мне нужно заменить "Страницы:" на графическую стрелку, которая ведет на предыдущую страницу, и добавить графическую стрелку в конце ссылок для перехода на следующую страницу. Полагаю, это можно сделать в файле functions?

0
Все ответы на вопрос 2
0

Просто укажите изображение в качестве "nextpagelink" и "previouspagelink" вместо << или >>:

<?php wp_link_pages(array('before' => '<div class="pagenav"><strong>Навигация</strong>', 'after' => '</div>', 'next_or_number' => 'number', 'nextpagelink' => __('<img src="УКАЖИТЕ URL ВАШЕГО ИЗОБРАЖЕНИЯ ЗДЕСЬ" alt="Следующая страница" title="Перейти на следующую страницу" />'), 'previouspagelink' => __('<img src="УКАЖИТЕ URL ВАШЕГО ИЗОБРАЖЕНИЯ ЗДЕСЬ" alt="Предыдущая страница" title="Перейти на предыдущую страницу" />'))); ?>

Также вы правы, что по умолчанию ограничены либо "Номерами", либо ссылками "Следующая/Предыдущая", но плагин может расширить эту функциональность: http://wordpress.org/extend/plugins/wp-pagenavi/

Бонус: Добавьте это в ваш файл function.php, и это добавит кнопку "Next Page" рядом с кнопкой "More" в WYSIWYG редакторе:

//  Добавляем кнопку Next Page в TinyMCE Editor
add_filter('mce_buttons','wysiwyg_editor');
function wysiwyg_editor($mce_buttons) {
    $pos = array_search('wp_more',$mce_buttons,true);
    if ($pos !== false) {
        $tmp_buttons = array_slice($mce_buttons, 0, $pos+1);
        $tmp_buttons[] = 'wp_page';
        $mce_buttons = array_merge($tmp_buttons, array_slice($mce_buttons, $pos+1));
    }
    return $mce_buttons;
}
4 сент. 2010 г. 18:37:07
3

Должен признать, что <!--nextpage--> — не самая хорошо документированная функция (в интерфейсе редактора записей для неё даже нет кнопки!). Тем не менее, она невероятно полезна, и я несколько раз использовал её для разбивки длинных записей на своём сайте.

Согласно имеющейся документации, этот тег использует функцию wp_link_pages(). Эта функция принимает несколько параметров, которые позволяют стилизовать вывод по вашему усмотрению.

В вашем случае вам понадобятся аргументы next_page_link и previous_page_link.

Поэтому в нижней части файла single.php используйте следующий код для генерации ссылок на страницы:

<?php 

wp_link_pages( array(
    'before' => '<p>',
    'after' => '</p>',
    'next_or_number' => 'next', 
    'previouspagelink' => ' &laquo; ', 
    'nextpagelink' => ' &raquo;'
    )
); 

?>

Это заменит номера страниц на стрелки << и >>. Также удалится текст "Pages:", при этом ссылки останутся внутри блока <p></p>.

Связанные материалы:

3 сент. 2010 г. 21:32:16
Комментарии

Спасибо, @EAMann. Мне нужно небольшое уточнение. Я хочу, чтобы это отображалось на "странице", а не в записях, и мне нужно, чтобы это можно было повторять несколько раз на конкретной странице (клиент хочет до 8-10 разделений страницы на одной странице).

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

Ray Gulick Ray Gulick
3 сент. 2010 г. 22:36:56

Также, это "либо" номера, либо ссылки предыдущая/следующая? Нельзя иметь и то, и другое?

Ray Gulick Ray Gulick
3 сент. 2010 г. 22:42:18

Небольшое исследование подсказывает мне, что это можно повторять (по сути, это разница между <!--more--> и <!--nextpage-->). Все еще интересно, могу ли я отображать номера страниц И ссылки пред./след.

Ray Gulick Ray Gulick
3 сент. 2010 г. 23:04:30