Иногда при разработке темы или кастомизации сайта на WordPress возникает задача удалить стандартные верхний (header) и нижний (footer) блоки. Это может понадобиться для создания лендинга, одностраничника или уникального дизайна. Однако просто убрать вызовы get_header() и get_footer() из шаблонов недостаточно, так как вместе с ними часто отключается важный функционал: подключение стилей, скриптов, метатегов и других элементов.
Почему просто удалить шапку и подвал не всегда работает
В стандартной теме WordPress шапка и подвал — это не только визуальные элементы, но и контейнеры для подключаемых файлов, скриптов, виджетов и прочего функционала. Если просто удалить get_header() и get_footer(), то вы рискуете потерять:
- Подключение CSS и JS, включая стили темы и плагинов.
- Важные метатеги, например, для SEO или Open Graph.
- Вызовы функций, которые инициализируют виджеты в подвале или меню в шапке.
- Другие хуки, которые срабатывают в этих частях шаблона.
Поэтому нужно подходить к задаче аккуратно, чтобы оставить функциональность, но убрать визуальное отображение.
Удаляем шапку и подвал через CSS — быстрый способ
Если вам нужно временно скрыть шапку и подвал, самый простой вариант — использовать CSS. Например, добавьте в файл стилей темы или в кастомный CSS:
.site-header, .site-footer {
display: none !important;
}
Преимущества такого способа:
- Функционал сохраняется — все скрипты и стили подключаются.
- Легко вернуть обратно, просто убрав правило.
Недостаток — элементы всё равно грузятся, просто не отображаются. Если важна производительность, лучше использовать PHP-решение.
Удаление шапки и подвала на уровне PHP с сохранением функционала
Для более чистого решения можно модифицировать шаблоны, оставив вызовы get_header() и get_footer(), но переопределив соответствующие файлы header.php и footer.php.
Вместо вывода HTML структуры можно оставить только необходимые вызовы функций, например, для подключения скриптов и стилей.
Пример упрощённого header.php
<?php
// wpsetup_header.php - минимальный header для сохранения функционала
?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php
// Не выводим визуальную шапку
?>
Пример упрощённого footer.php
<?php
// wpsetup_footer.php - минимальный footer для сохранения функционала
?>
<?php wp_footer(); ?>
</body>
</html>
Далее в основных шаблонах (например, page.php, single.php) подключайте именно эти минимальные файлы:
get_header( 'wpsetup' );
// Контент страницы
get_footer( 'wpsetup' );
Это позволит сохранить все важные хуки и подключения, но не выводить визуальные блоки шапки и подвала.
Использование хуков для отключения вывода элементов шапки и подвала
Если вы используете тему с хорошо структурированными хуками, можно отключить вывод отдельных частей через add_action/remove_action.
Например, в теме, где шапка выводится с помощью хука theme_header, можно в functions.php добавить:
function wpsetup_disable_header() {
remove_action( 'theme_header', 'theme_display_header' );
}
add_action( 'wp', 'wpsetup_disable_header' );
Аналогично и для подвала. Этот способ зависит от реализации конкретной темы.
Пример плагина для удаления шапки и подвала с сохранением функционала
Создадим плагин, который на определённых страницах будет отключать вывод шапки и подвала, но не отключать wp_head() и wp_footer().
<?php
/**
* Plugin Name: WPSetup Minimal Header Footer
* Description: Убирает визуальную шапку и подвал на выбранных страницах.
* Version: 1.0
* Author: WPSetup
*/
function wpsetup_remove_header_footer() {
if ( is_page( array( 'landing', 'special' ) ) ) { // Меняем на нужные ID или слаги
add_filter( 'wp_nav_menu_args', function( $args ) {
// Отключаем меню в шапке
if ( 'primary' === $args['theme_location'] ) {
$args['fallback_cb'] = false;
$args['menu'] = false;
}
return $args;
});
// Добавляем CSS для скрытия шапки и подвала
add_action( 'wp_enqueue_scripts', function() {
wp_add_inline_style( 'wp-block-library', ".site-header, .site-footer { display: none !important; }" );
});
}
}
add_action( 'wp', 'wpsetup_remove_header_footer' );
Такой подход позволяет гибко управлять отображением без потери функционала.
Дополнительные рекомендации и полезные плагины
Если вы хотите более удобное управление визуальными блоками, есть плагины на WPSHOP.RU, которые позволяют создавать кастомные шаблоны без шапок и подвалов.
Рассмотрите плагины для кастомизации, например, Clearfy Pro — он помогает отключать ненужные элементы и оптимизировать загрузку.
Также полезно использовать ABC Pagination для улучшения навигации без необходимости выводить стандартные футеры.
Итоговые советы по удалению шапки и подвала в WordPress
Чтобы убрать визуальные элементы шапки и подвала без потери функционала, придерживайтесь следующих правил:
- Не удаляйте вызовы
wp_head()иwp_footer()— они нужны для подключения скриптов и стилей. - Используйте упрощённые версии
header.phpиfooter.php, чтобы оставить структуру, но убрать визуал. - Если тема поддерживает хуки, отключайте вывод через
remove_action. - Для быстрого результата можно скрыть элементы через CSS.
- Используйте плагины для гибкой кастомизации, чтобы не править код напрямую.
Таким образом, вы сможете создать уникальный дизайн страниц с минимальными потерями функционала и без проблем с подключением всех необходимых элементов.