В работе с контентом на WordPress порой возникает необходимость автоматически изменять регистр текста — например, преобразовывать заголовки, контент или выводимые элементы в верхний, нижний регистр или капслок. Это может быть полезно для единообразия оформления, SEO и удобства пользователей.
Почему важно управлять регистром текста в WordPress
Регистр влияет на восприятие информации посетителями сайта и на SEO. Например, заголовки в верхнем регистре могут выглядеть агрессивно, а в нижнем — слишком неприметно. Автоматизация изменения регистра позволяет избежать ручного редактирования каждого элемента и поддерживать единый стиль.
Кроме того, иногда нужно исправить ошибки ввода или привести к единому виду данные, которые поступают из разных источников, например, из пользовательских форм или внешних API.
Плагины для изменения регистра текста в WordPress
Для большинства пользователей проще всего использовать готовые плагины. Ниже рассмотрим несколько популярных решений.
1. WP Auto Caps
Простой плагин, который преобразует заголовки и контент в верхний регистр. Позволяет выбрать, к каким элементам применять изменение регистра.
Преимущества:
- Легкая настройка.
- Работает с заголовками, контентом и мета-полями.
- Можно задать исключения.
2. Capitalize My Title
Плагин для автоматического преобразования заголовков в стандартизированный регистр (например, каждое слово с заглавной буквы). Идеален для блогов и новостных сайтов.
3. Clearfy Pro (ссылка с utm)
Мощный плагин для оптимизации WordPress, который среди прочих функций умеет управлять выводом текста, в том числе изменять регистр через дополнительные настройки SEO и визуального оформления. Подробнее на WPSHOP Clearfy Pro.
Как изменить регистр текста программно в WordPress
Если вам нужно более гибкое решение или интеграция в собственные плагины и темы, можно использовать пользовательский PHP-код, который будет автоматически преобразовывать текст при выводе.
Пример: фильтрация заголовков записей
function wpdemo_change_post_title_case($title) {
if (is_admin()) {
return $title; // Не менять в админке
}
// Преобразуем заголовок в верхний регистр
return mb_strtoupper($title, 'UTF-8');
}
add_filter('the_title', 'wpdemo_change_post_title_case');
Этот код подключается к фильтру the_title и преобразует заголовки в верхний регистр на фронтенде сайта. Используем mb_strtoupper для поддержки UTF-8.
Изменение регистра контента поста
function wpdemo_change_content_case($content) {
if (is_admin()) {
return $content; // Не трогаем в админке
}
// Преобразуем весь контент в нижний регистр
return mb_strtolower($content, 'UTF-8');
}
add_filter('the_content', 'wpdemo_change_content_case');
Так можно привести весь текст статьи к нижнему регистру автоматически.
Создание шорткода для изменения регистра выбранного текста
Иногда удобно дать возможность менять регистр внутри поста вручную с помощью шорткода:
function wpdemo_shortcode_change_case($atts, $content = null) {
$atts = shortcode_atts(array(
'case' => 'upper' // upper, lower, capitalize
), $atts);
if (!$content) return '';
switch ($atts['case']) {
case 'lower':
return mb_strtolower($content, 'UTF-8');
case 'capitalize':
return mb_convert_case($content, MB_CASE_TITLE, 'UTF-8');
case 'upper':
default:
return mb_strtoupper($content, 'UTF-8');
}
}
add_shortcode('wpdemo_case', 'wpdemo_shortcode_change_case');
Использование шорткода:
[wpdemo_case case="capitalize"]текст для изменения регистра[/wpdemo_case]
Этот код преобразует обернутый текст в заглавные буквы каждого слова.
Особенности и рекомендации при работе с регистром в WordPress
1. Поддержка UTF-8 — всегда используйте функции с поддержкой многоязычных символов (mb_strtoupper, mb_strtolower и т.п.), чтобы не потерять кириллицу и другие символы.
2. Избегайте изменения в админке — чтобы не запутать администратора и редакторов, лучше не преобразовывать текст в панели управления.
3. Обработка пользовательского ввода — при необходимости можно менять регистр и при сохранении данных, используя фильтры save_post или pre_post_content.
Пример обработки пользовательского ввода при сохранении поста
function wpdemo_save_post_title_uppercase($post_id) {
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
$post = get_post($post_id);
if ($post->post_type != 'post') return;
$new_title = mb_strtoupper($post->post_title, 'UTF-8');
remove_action('save_post', 'wpdemo_save_post_title_uppercase');
wp_update_post(array(
'ID' => $post_id,
'post_title' => $new_title
));
add_action('save_post', 'wpdemo_save_post_title_uppercase');
}
add_action('save_post', 'wpdemo_save_post_title_uppercase');
Этот код при сохранении записи приводит заголовок к верхнему регистру.
Выводы и практические советы
Изменение регистра текста в WordPress — простая, но часто востребованная задача. Используйте плагины для быстрого решения, если не хотите писать код. Но если нужна кастомизация — фильтры the_title, the_content и шорткоды помогут автоматизировать процесс.
Для комплексной оптимизации стоит попробовать Clearfy Pro — этот плагин также умеет работать с текстовыми данными и улучшать SEO.
Не забывайте тестировать изменения на разных устройствах и в разных браузерах, чтобы сохранить читаемость и удобство сайта.