В посте Основы работы с WordPress: цитата поста приведен код, с помощью которого можно определить длину цитаты поста. Однако иногда для гармоничного оформления записей нужно, чтобы длина цитаты поста была зависимой от категории этого поста. Это можно реализовать, если внедрить немного видоизмененный код, который регулирует длину цитаты поста в зависимости от того, в какой категории тот опубликован.
Если вам нужна одинаковая длина цитаты поста, то в файл functions.php используемой темы вставьте:
function custom_excerpt_length() { $length = 120; return $length; } add_filter('excerpt_length', 'custom_excerpt_length');
120 – это длина цитаты поста в символах.
Если вам нужно для какой-то категории установить другую длину цитаты поста, то в файл functions.php используемой темы нужно вставить другой код:
add_filter('excerpt_length', 'my_excerpt_length'); function my_excerpt_length($length) { if(in_category(10)) { return 80; } else { return 120; } }
Если это категория с ID=10, то длина цитаты поста будет 80 символов, для остальных категорий длина цитаты поста будет 120 символов.
Если вам нужно определить индивидуальную длину цитаты поста для трех и более категорий, то то в файл functions.php используемой темы нужно вставить:
add_filter('excerpt_length', 'my_excerpt_length'); function my_excerpt_length($length) { if(in_category(10)) { return 100; } elseif(in_category(11)) { return 110; } elseif(in_category(12)) { return 120; } elseif(in_category(13)) { return 130; } else { return 140; }
Для категории с ID=10 длина цитаты поста будет 100 символов, ID=11 – 110 символов, ID=12 – 120 символов, ID=13 – 130 символов, для всех остальных категорий – 140 символов. Такая разная длина цитат постов удобна при создании тем для новостных сайтов, в которых на главной странице выводится много анонсов, сгруппированных не только по дате выхода, но и по тематике.