Модификация параметров ссылок на посты « предыдущий | следующий »
Несмотря на то, что шаблоны сайтов на WordPress можно делать красивыми и многофункциональными, все равно часто приходится их «допиливать» уже в процессе наполнения сайта контентом. Есть у WordPress несколько встроенных функций, отображение которых «по умолчанию» может «подпортить» любой дизайн. Одной из таких функций является отображение ссылок на посты « предыдущий | следующий ».
Что не так в этих ссылках? Первое, что мне не нравится в них — это их длина. Ссылки дублируют названия постов, на которые ссылаются, а названия могут быть длинными. На сайтах с фиксированной шириной две такие ссылки гарантированно будут налезать друг на друга, что приведет к смещению одной из ссылок ниже уровня другой. Естественно, это будет смотреться неаккуратно, вроде мелочь — а неприятно. Исправить ситуацию можно, обрезав длинные тексты ссылок, не трогая при этом саму ссылку. Следующий код нужно поместить в файл function.php темы оформления:
|
Проставляя максимальное отображаемое количество символов в переменной max, можно добиться нужного результата.
Результат работы скрипта:
Второе, что я меняю в отображении ссылок — это независимость их вывода от рубрик. Если в блоге имеется несколько рубрик с опубликованными в разное время постами, то ссылки будут проставляться подряд в зависимости от времени создания, и не зависимо от рубрик, к которым они относятся. Это не всегда правильно, т.к. если мы читаем записи из рубрики N, то мы и не должны видеть ссылку на запись, опубликованную в рубрике W. Отвечают за такое поведение ссылок теги шаблона next_post_link и previous_post_link, а в частности один из их параметров — in_same_cat.
Лезем в файл wp-includes/link-template.php, и разыскиваем строки:
1 2 |
previous_post_link(‘format’, ‘link’, ‘in_same_cat’, ‘cats’); next_post_link(‘format’, ‘link’, ‘in_same_cat’, ‘cats’); |
Параметр in_same_cat (тип boolean) и отвечает за вывод ссылки на следующий пост:
- true - из той же самой рубрики
- false (по умолчанию)- из любой рубрики
Эти теги имеют еще несколько параметров:
format (тип string) — формат выводимого текста. Здесь должно использоваться ключевое слово ‘%link‘, обозначающее значение параметра link. По умолчанию: ‘%link »‘.
link (тип string) — анкор ссылки на предыдущую | следующую запись. По умолчанию ‘%title‘ — выводит заголовки записей.
cats (тип string) — это ID рубрик, чьи записи надо исключить из вывода. Они перечисляются только через ключевое слово ‘and‘ (при значении параметра in_same_cat = true параметр cats игнорируется).
Метки: навигация