Рубрика: Функции

Модификация параметров ссылок на посты « предыдущий | следующий »

Несмотря на то, что шаблоны сайтов на WordPress можно делать красивыми и многофункциональными, все равно часто приходится их «допиливать» уже в процессе наполнения сайта контентом. Есть у WordPress несколько встроенных функций, отображение которых «по умолчанию» может «подпортить» любой дизайн. Одной из таких функций является отображение ссылок на посты  « предыдущий | следующий ».

Что не так в этих ссылках? Первое, что мне не нравится в них — это их длина. Ссылки дублируют названия постов, на которые ссылаются, а названия могут быть длинными. На сайтах с фиксированной шириной две такие ссылки гарантированно будут налезать друг на друга, что приведет к смещению одной из ссылок ниже уровня другой. Естественно, это будет смотреться неаккуратно, вроде мелочь — а неприятно. Исправить ситуацию можно, обрезав длинные тексты ссылок, не трогая при этом саму ссылку. Следующий код нужно поместить в файл function.php темы оформления:


 

Проставляя максимальное отображаемое количество символов в переменной max, можно добиться нужного результата.

Результат работы скрипта:

modifikaciyassylok_screen

Второе, что я меняю в отображении ссылок — это независимость их вывода от рубрик. Если в блоге имеется несколько рубрик с опубликованными в разное время постами, то ссылки будут проставляться подряд в зависимости от времени создания, и не зависимо от рубрик, к которым они относятся. Это не всегда правильно, т.к. если мы читаем записи из рубрики 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 игнорируется).

Метки: