Правильная постраничная навигация в WordPress 2.8

В Wordpress 2.8 зачем-то изменили поведение функции posts_nav_link, которая теперь воспринимает пустые строки не как «ничего не выводить», а как «вывести ссылку с текстом по умолчанию». Из-за этого сделать постраничный навигатор с правильным расположением ссылок (т. е. обратным принятому в Wordpress по умолчанию) стало не так-то просто. Сложности возникают при необходимости выводить между ссылками разделитель.

В итоге у меня не придумалось ничего лучше такого:

ob_start();
posts_nav_link('{separator}', '', '');
$separator = ( strpos(ob_get_clean(), '{separator}') !== false );

next_posts_link('← Предыдущие записи');
if ($separator) echo ' — ';
previous_posts_link('Следующие записи →');

А вот более правильный вариант (спасибо Сергею за подсказки):

$prev = get_next_posts_link('← Предыдущие записи');
$next = get_previous_posts_link('Следующие записи →');
echo $prev, ( $prev && $next ) ? ' — ' : '', $next;
Вы можете улучшить этот пост, отредактировав его на Гитхабе.

Обо мне

Я живу в Берлине и работаю фронтенд-разработчиком в Хире, а в свободное время фотографирую, пишу, глажу своих собак и пью кофе.

Читайте обо мне на моём сайте и подпишитесь на мой блог о фотографии и твитер.