В работе с WordPress часто возникает задача временно скрыть определённые текстовые блоки на сайте без их удаления из редактора. Это может понадобиться для сезонных акций, тестирования или подготовки материала, который вы хотите оставить в базе, но не показывать посетителям. В этой статье расскажем, как отключить отображение текстовых блоков в WordPress без их удаления, используя как готовые решения, так и кастомный код.
Почему важно не удалять, а именно отключать текстовые блоки
Удаление текста из записи или страницы — необратимая операция, особенно если нет резервной копии. Иногда контент нужно временно скрыть, чтобы потом быстро вернуть его обратно. Например, вы хотите спрятать описание акции, которое будет актуально только в определённый период, или отключить часть информации, которая сейчас не релевантна.
Если просто удалить блок, то потом придётся восстанавливать его из резервной копии или заново вводить текст, что неудобно и может привести к ошибкам. Отключение отображения через CSS, PHP или плагин — более гибкий и безопасный способ.
Также стоит учитывать, что поисковые системы не увидят скрытый контент, если он полностью отключён на уровне вывода, что важно для SEO и пользовательского опыта.
Способы отключения отображения текстовых блоков в WordPress
1. Скрытие через CSS
Самый простой способ временно скрыть блок — использовать CSS-свойство display: none;. Для этого нужно добавить класс к нужному блоку и прописать стиль в теме или через кастомизатор.
Например, если у вас есть блок с классом hidden-block, добавьте в файл стилей темы или в раздел «Дополнительные CSS» в кастомизаторе:
.hidden-block { display: none !important; }Плюсы этого метода — простота и быстрота. Минус — блок всё равно загружается на страницу, что может негативно сказаться на производительности, если контента много.
2. Использование плагина для условного отображения контента
В WordPress есть плагины, которые позволяют показывать или скрывать блоки в зависимости от условий. Например, Conditional Blocks или Clearfy Pro (среди множества функций) позволяют легко управлять видимостью блоков.
С помощью таких плагинов можно, например, отключить показ блока для всех пользователей, кроме администраторов, или по дате. Это удобно, если нужно быстро переключать видимость без правки кода.
3. Отключение вывода блока через PHP — лучший способ для разработчиков
Если вы работаете с темой или создаёте собственные шаблоны, можно управлять показом блоков программно. Допустим, у вас есть текстовый блок с определённым ID или классом, который вы хотите отключать по условию.
Пример кода для отключения блока с ID 'my-text-block' в контенте записи:
function wpkpi_filter_disable_text_block($content) {
// Условие отключения блока, например, по ID
$pattern = '/<div id="my-text-block">.*?<\/div>/s';
$content = preg_replace($pattern, '', $content);
return $content;
}
add_filter('the_content', 'wpkpi_filter_disable_text_block');Этот фильтр удалит из вывода контента весь HTML блока с ID my-text-block, но текст останется в редакторе. Чтобы включить обратно — просто отключите этот фильтр.
Если блок создаётся через Gutenberg, можно также искать специальные комментарии и отключать блоки с определённым атрибутом.
Примеры кастомных решений для отключения текстовых блоков
Отключение блоков по пользовательской метке
Можно добавить в HTML блока специальный класс, например disable-on-site, и через фильтр the_content удалять все подобные блоки:
function wpkpi_disable_blocks_by_class($content) {
return preg_replace('/<div[^>]*class="[^"]*disable-on-site[^"]*"[^>]*>.*?<\/div>/s', '', $content);
}
add_filter('the_content', 'wpkpi_disable_blocks_by_class');Это универсальный подход, который не требует изменения структуры шаблона и подходит для любых блоков с заданным классом.
Отключение блоков с помощью шорткода
Если вы используете шорткоды для вывода контента, можно создать шорткод, который будет выводить контент только при определённых условиях:
function wpkpi_shortcode_conditional_hide($atts, $content = null) {
// Например, скрываем контент для всех кроме администратора
if (!current_user_can('manage_options')) {
return '';
}
return $content;
}
add_shortcode('wpkpi_hide', 'wpkpi_shortcode_conditional_hide');Используйте в редакторе так:[wpkpi_hide]Текст, который видят только администраторы[/wpkpi_hide]
Это удобный метод для скрытия частей текста без удаления и с контролем доступа.
Практические рекомендации и советы
Перед тем как применять скрытие блоков, подумайте, как это повлияет на SEO и пользователей. Если на странице много скрытого контента, это может вызвать вопросы у поисковиков.
Для временного отключения лучше использовать CSS или плагины с условным отображением, чтобы при необходимости быстро вернуть содержимое.
Для постоянных изменений и если вы разработчик — лучше управлять выводом через PHP, чтобы полностью исключить загрузку ненужного контента.
При использовании плагинов из WPShop можно дополнительно оптимизировать работу сайта и контролировать вывод блоков.