Разная длина анонсов записей рубрики WordPress
Рубрики (categories) — одна из стандартных таксономий WordPress, с помощью которой можно группировать между собой тематически связанные публикации.
Благодаря рубрикам, заметно упрощается поиск, восприятие материала посетителями сайта. Сложно представить полноценный информационный ресурс без нормального рубрикатора. В WordPress кроме всего прочего рубрики поддерживают многоуровневую структуру, что позволяет создавать сложные иерархии и более точно структурировать контент сайта.
Рубрики в WordPress доступны по умолчанию и используются практически на всех сайтах. Причём часто рубрики — единственная используемая на сайте таксономия. В связи с чем, бывает необходимость для разных рубрик делать разный вывод контента. В WordPress такие вещи очень легко реализуются с помощью соответствующих файлов-шаблонов архивов рубрик: category-{ID}.php и category-{slug}.php. Например, для изменения шаблона архива записей рубрики «Новости» с ID = 1 можно создать шаблон category-1.php или category-news.php (для slug = news) и внести в нём все необходимые изменения.
Задача может немного усложниться когда необходимо, например, сделать разную длину анонса записи в зависимости от присвоенной ей рубрики.
Напомню, что длина анонса записей в WordPress регулируется с помощью фильтра excerpt_length. К примеру, чтобы увеличить дефолтные 55 слов до 64-х, в файл functions.php необходимо добавить следующий код.
function custom_excerpt_length() { return 64; } add_filter('excerpt_length', 'custom_excerpt_length');
Немного его модернизировав, можно задать длину анонса для любой из рубрик. Например, для записей из рубрики с ID = 1 будут выводиться анонсы из 64-х слов, из рубрики с ID = 2 — 128, а из остальных — дефолтные 55. Причём это будет работать во всех стандартных циклах сайта.
add_filter('excerpt_length', 'my_excerpt_length'); function my_excerpt_length($length) { if(in_category(1)) { return 64; } elseif (in_category(2)) { return 128; } else { return 55; } }
Разумеется, можно пойти дальше и кастомизировать не только длину анонса, но и другие атрибуты записей. Причем, условия могут касаться не только присвоенных рубрик, а быть самыми разными.
Фулстек веб‑разработчик, специализируюсь на платформе WordPress
Подробнее
function custom_excerpt_length() {
return 64;
}
add_filter(‘excerpt_length’, ‘custom_excerpt_length’);
Но ничего не поменялось. Использую Divi
https://www.elegantthemes.com/blog/divi-resources/changing-the-length-of-your-divi-blog-post-excerpts