Часто ссылка на пост состоит из его названия (slug). Некоторые считают, что использование слага в ссылке полезно сказывается на его индексации. Лично я никакой взаимосвязи не обнаружил, сколько бы не экспериментировал ЧПУ, но раз кто-то это использует, то пусть так считается. Однако если в названии поста используется много союзов и коротких слов, то оно растягивается на непозволительную длину. Например, название “И как бы нам удалить короткие слова из названия поста” выльется в “site.ru/category/I-kak-by-nam-udalit-korotkie-slova-iz-nazvania-posta“. Союзы и междометия не несут никакой смысловой нагрузки в образованной ссылке, поэтому их можно сократить, существенно укоротив ссылку до “site.ru/category/udalit-korotkie-slova-nazvania-posta“.
Это можно делать автоматически, если использовать следующий код, вставив его в файл functions.php:
add_filter('sanitize_title', 'remove_short_words'); function remove_short_words($slug) { if (!is_admin()) return $slug; $slug = explode('-', $slug); foreach ($slug as $k => $word) { if (strlen($word) < 3) { unset($slug[$k]); } } return implode('-', $slug); }
Этот фильтр сокращает все слова, которые меньше 3 символов.
Из-за данного кода пропало отображение виджетов в сайдбаре в админке. То есть реально они есть (на страницах сайта продолжают отображаться), но стали невидимыми в wp-admin/widgets.php