Полное руководство по использованию настройщика тем WordPress в пятой части сериала

Сразу отключайте виджеты, меню и секции, которые не используются. Загромождение UI ведёт к путанице и тормозам в работе интерфейса. Добавьте фильтр customize_register в functions.php и используйте метод $wp_customize->remove_panel() или remove_section() для очистки.


add_action(\'customize_register\', function($wp_customize) {
$wp_customize->remove_section(\'colors\');
$wp_customize->remove_panel(\'widgets\');
});

Удаление не нужных секций ускоряет загрузку и упрощает навигацию. Всё, что мешает фокусироваться на ключевых настройках – в мусор. Например, если кастомизация выполняется исключительно через поля ACF, базовые секции можно убрать вообще.

Нельзя просто оставить всё, как есть. По умолчанию слишком много бесполезного. Меню, фоновая картинка, логотип – часто эти настройки дублируются в других плагинах или решаются кастомно через код. Убирайте лишнее без сожалений.

Внимание! Не удаляйте секции, которые могут быть перезаписаны плагинами. Проверьте приоритеты и зависимости.

Если нужно оставить только одну секцию, например, управление цветами темы, отключайте всё остальное и явно задайте активные компоненты:


add_action(\'customize_register\', function($wp_customize) {
foreach ($wp_customize->sections() as $id => $section) {
if ($id !== \'colors\') {
$wp_customize->remove_section($id);
}
}
});

Парадокс: чем меньше элементов доступно в редакторе, тем выше качество итоговой настройки. У пользователя нет соблазна трогать то, что ему не нужно.

Важно помнить: все удалённые секции возвращаются после деактивации темы. Изменения не касаются глобальной структуры WP, они временные.

Финальный тест – чистый интерфейс. Откройте страницу кастомизации и проверьте: нет панелей с пустыми настройками, лишних блоков, конфликтующих элементов. Если остались сомнения – удалите ещё что-нибудь.

Здесь нет компромиссов. Или контроль, или хаос.

Как изменить параметры отображения главной страницы через настройщик

Перейдите в раздел Внешний вид → Настроить → Главная страница. Прямо там – самый короткий путь к нужному переключателю.

Две опции: отображать последние записи или статичную страницу. Казалось бы, всё просто. Но не спешите щелкать – нюансов больше, чем кажется.

Если выбрана статическая, обязательно укажите обе страницы: одна под основную, вторая под блог. Отсутствие хотя бы одной – и всё рушится. Главная пустая, архив не привязан, структура сломана.

Важно! Если не задана страница для записей, ни один виджет, плагин или шорткод не выведет ленту постов.

При использовании конструктора (например, Elementor), убедитесь, что не назначена страница, созданная через визуальный редактор, как страница для записей. Конфликт на уровне логики. Выглядит красиво – работает криво.

Читайте также:  Network Media Library — плагин для создания общей библиотеки медиафайлов в мультисайтах WordPress

Хотите кастомную главную с виджетами и блоками? Назначьте её как статичную, но отключите блок «Последние записи» в редакторе шаблона. Он там по умолчанию и часто мешает.

Внимание! Некоторые шаблоны принудительно перехватывают главную через front-page.php. Если он существует, все настройки игнорируются. Удалите или переименуйте файл, если нужна гибкость.

Для динамической главной (с постами): убедитесь, что используется home.php. Если его нет – подключается index.php. А вот front-page.php работает только при статичной главной. Это ловушка.

Дополнительно проверьте структуру ЧПУ в Настройки → Постоянные ссылки. Если страница для записей не открывается, возможно, конфликт слога. Переименуйте URL.

Настройка меню навигации: выбор местоположения и структура

Пример:


register_nav_menus( array(
  \'header_menu\' => \'Главное меню\',
  \'footer_menu\' => \'Меню в подвале\'
) );

Назначение меню осуществляется в панели управления. Но главное – не перепутать техническое имя с визуальной подписью. Меню «Главное» может быть связано с \'footer_menu\', если вы неаккуратно задали ID. Будьте точны.

Пункты меню можно вложить друг в друга – формируется древовидная структура. Но WordPress не даст вложить глубже второго уровня в большинстве тем без дополнительного кода. Хардкодите поддержку через walker, если нужно больше.

Пример расширения уровня вложенности:


class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {
  // Переопределите методы
  // start_lvl(), start_el() и т.д.
}

Подключение:


wp_nav_menu( array(
  \'theme_location\' => \'header_menu\',
  \'walker\' => new Custom_Walker_Nav_Menu()
) );

Помните: если меню не отображается – проверьте, задана ли позиция и присвоено ли ей меню в настройках. Без этого ничего не выведется, даже если код корректен.

Метки классов в <li> можно использовать для стилизации. WordPress сам добавляет классы по текущему пути, но если требуется больше гибкости – используйте фильтр nav_menu_css_class.

Избегайте использования URL-меню с абсолютными путями при мультисайтах или при локальной разработке. Всегда используйте get_home_url() или home_url() для генерации ссылок внутри кастомных пунктов.

Читайте также:  EditorPlus — удобный плагин для эффективного управления дизайном блоков в WordPress

Хаос наступает, если использовать один и тот же пункт меню в разных структурах. Разделяйте меню логически. Верхнее – для ключевых разделов. Подвал – для контактов, политики, карт сайта.

Ограничьте количество пунктов в основном меню. Шесть – максимум. Больше? Перегруз. Используйте выпадающие списки или группировку.

Выбор и установка шрифтов в разделе «Идентификация сайта»

Сразу: выбор шрифта для заголовка сайта и слогана доступен только в темах, поддерживающих customize_register с параметрами \'customize-selective-refresh-widgets\' и \'editor-styles\'. Нет поддержки – нет кастомизации. Все остальное – иллюзия выбора.

Переход в меню «Идентификация сайта» осуществляется через:

  • Панель администрирования
  • Внешний вид → Настроить → Идентификация сайта

Если тема поддерживает изменение шрифтов, появится пункт «Типографика» или «Шрифты». Иногда он спрятан в отдельной секции – ищите внимательно.

Важно: не все темы позволяют менять типографику через визуальный интерфейс. В этом случае потребуется использовать add_theme_support и вручную регистрировать кастомные настройки.

Пример подключения Google Fonts через functions.php:


function custom_load_fonts() {
wp_enqueue_style( \'google-fonts\', \'https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap\', false );
}
add_action( \'wp_enqueue_scripts\', \'custom_load_fonts\' );

Теперь добавим шрифт к заголовку сайта через Customizer:


function custom_customize_register( $wp_customize ) {
$wp_customize->add_setting( \'site_title_font\', array(
\'default\' => \'Roboto\',
\'transport\' => \'refresh\',
));
$wp_customize->add_control( \'site_title_font_control\', array(
\'label\' => \'Шрифт заголовка\',
\'section\' => \'title_tagline\',
\'settings\' => \'site_title_font\',
\'type\' => \'select\',
\'choices\' => array(
\'Roboto\' => \'Roboto\',
\'Open Sans\' => \'Open Sans\',
\'Lato\' => \'Lato\',
),
));
}
add_action( \'customize_register\', \'custom_customize_register\' );

Далее – примените шрифт в CSS:


.site-title {
font-family: \'Roboto\', sans-serif;
}

Помните: если вы добавляете шрифт вручную, он должен быть подключен на всех страницах, иначе кастомизация развалится.

Проверка на наличие дубликатов: отключите все плагины, которые также добавляют Google Fonts. Особенно часто конфликтуют Elementor и плагин Google Fonts Typography. Совместимость – больное место.

Не работает выбор шрифта? Откройте DevTools. Если font-family не применяется, ищите переопределения от темы или сброс стилей браузера. Иногда виноват !important в родительской теме.

Лучше всего работают пары: Roboto + Roboto Slab, Open Sans + Merriweather, Lato + PT Serif. Не экспериментируйте с экзотикой – кириллица у многих шрифтов отсутствует или отображается криво.

Читайте также:  Как ускорить WordPress-сайт превращая его в статичный с помощью агрессивного страничного кэширования в Nginx

Если нужна полная свобода – подключите кастомный шрифт через @font-face, но учтите: это добавит вес странице и усложнит поддержку. Делайте это только при наличии веской причины.

Работа с виджетами в настройщике: добавление, удаление и сортировка

Сначала проверь, активна ли панель «Виджеты». Если нужные области не отображаются – шаблон их не поддерживает. В этом случае никакие ухищрения не помогут: добавление через интерфейс будет заблокировано.

Для добавления: выбери зону, кликни «Добавить виджет», найди нужный (поиск работает по названию) и щёлкни. Он сразу появится в списке. Но не спеши – некоторые виджеты не дают визуальной обратной связи. Проверяй руками.

Важно! Некоторые блоки доступны только в определённых секциях. Например, «Поиск» нельзя вставить в футер, если шаблон этого не предполагает. Подменю не появляется, зона просто отсутствует.

Удаление: открой блок, нажми «Удалить». Виджет исчезнет без подтверждения. Ошибся – добавляй заново. Содержимое не сохраняется, если вручную не скопировать.

Сортировка возможна перетаскиванием. Удерживай левую кнопку на заголовке, перетащи в нужное место. Секции можно менять местами между собой. Границы не подсвечиваются – ориентируйся по пространству между блоками.

Пример: переместить «Архивы» перед «Категориями» в боковой колонке:


// Просто зажми заголовок \"Архивы\" и передвинь его выше \"Категории\"

Виджет HTML требует особой осторожности. Любая ошибка сломает отображение. Используй только валидный код:


<div class=\"custom-box\">Контент здесь</div>

Удалить все виджеты из зоны? Придётся удалять каждый вручную. Массового удаления нет. Раздражает? Да. Но так устроен механизм.

Помните! После изменения положения или удаления виджетов нужно нажать «Опубликовать». Иначе всё исчезнет при выходе.

Некоторые блоки исчезают при смене шаблона. Они «привязаны» к старому макету. Перед сменой – сделай экспорт через «Инструменты» → «Экспорт». Иначе потеряешь всё.

Скрипты и сторонние виджеты не всегда отображаются в режиме предпросмотра. Убедись, что используешь безопасный код и совместимые блоки.

Не бойся экспериментировать, но сохраняй последовательность. Один сбой – и порядок виджетов превращается в хаос. Спасает только внимательность.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *