Сегодня поговорим о 🎭 WordPress и его «особенных» отношениях с шаблонами. Если хотите, это будет сага о капризном CMS.
Вы потратили недели, создавая идеальный шаблон для страницы блога. Вы просыпались ночью, чтобы подобрать идеальный оттенок серого для теней карточек. Вы бились головой о клавиатуру, настраивая адаптивную сетку, которая должна была работать на всех устройствах от iPhone 4 до умного холодильника. Вы даже принесли в жертву три кружки кофе и обещание «поиграть позже» своему коту.
И вот он — момент истины! Вы выбираете ваш шедевр в выпадающем списке «Шаблон страницы», жмёте «Опубликовать», открываете /blog/… и видите ТОТ САМЫЙ стандартный, скучный, безликий вывод записей, который WordPress демонстрирует с 2003 года. 🤬
Знакомо? Добро пожаловать в клуб! Вы только что столкнулись с одной из самых раздражающих «фич» WordPress — его упрямой привычкой игнорировать ВАШИ настройки шаблонов, когда дело доходит до страницы блога. Это как если бы шеф-повар в ресторане, получив ваш заказ на стейк средней прожарки, принёс бы вам веганский бургер со словами: «Я знаю лучше, что вам нужно». 🥩→🥦
WordPress в этот момент ведёт себя как тот самый родственник на семейном ужине, который знает «как правильно» воспитывать ваших детей, вести бюджет и, очевидно, делать сайты. Он снисходительно похлопывает вас по плечу своим цифровым щупальцем и говорит: «Дорогой, ты создал милый шаблончик, но ДЛЯ СТРАНИЦЫ БЛОГА у нас есть свои правила. Правильные правила».

Но что если я скажу вам, что есть способ обойти это высокомерие? Что есть маленький файлик, который заставит WordPress заткнуться и принять ваш дизайн? Что вы можете вернуть контроль над своим же сайтом? 😈
Прямо сейчас мы заставим этого цифрового диктатора съесть свою шляпу. И для этого нам понадобится всего один файл, три строки кода и здоровая порция сарказма. Пристегнитесь — мы отправляемся в крестовый поход против тупоголовости CMS! ⚔️
🤔 Почему WordPress ненавидит ваш кастомный шаблон блога?
Вы создали потрясающий кастомный шаблон для страницы блога, выбрали его в настройках страницы… а WordPress игнорирует его! 😤 Вместо вашего красивого дизайна показывает стандартный вывод записей.
🎯 Магический файл home.php: ваш секретный ключ
📝 Код-спаситель (всего 3 строки!):
|
1 2 3 |
<?php // ВСЁ, что делает этот файл - загружает ваш blog-template.php include(get_template_directory() . '/blog-template.php'); |
🛠️ Пошаговая инструкция: Как заставить WordPress слушаться
Шаг 1: Создаём файл home.php
1. Откройте корневую папку вашей темы.
2. Создайте новый файл home.php.
3. Вставьте код выше (замените blog-template.php на имя вашего шаблона).
Шаг 2: Убираем лишние настройки
|
1 2 |
# Удаляем мета-поле шаблона у страницы блога wp post meta delete [ID_страницы_блога] _wp_page_template |
Шаг 3: Очищаем кеш
|
1 2 3 |
# Очищаем ВСЁ wp cache flush wp rewrite flush --hard |
Шаг 4: Проверяем настройки чтения
✅ «Ваши записи отображаются на» → выберите вашу страницу блога.
✅ Убедитесь, что главная страница — статическая.
🔄 Что происходит под капотом?
1. Пользователь заходит на /blog/ 👤
2. WordPress проверяет: «Ага, это страница записей!» 🤖
3. Ищет файлы в таком порядке: home.php → index.php 🔍
4. Находит ваш home.php 🎯
5. Загружает его → подключает ваш кастомный шаблон 💥
6. Пользователь видит ваш дизайн 👁️✨
💡 Профи-советы
🔁 Переименование страницы
Теперь вы можете спокойно переименовывать страницу блога! WordPress будет использовать home.php независимо от названия и slug страницы.
|
1 |
wp post update [ID] --post_title="Блог" --post_name="blog" |
🛡️ Запасной вариант
Создайте page-blog.php для дополнительной страховки:
|
1 2 |
<?php include(get_template_directory() . '/blog-template.php'); |
🧹 Что НЕ нужно делать
— ❌ Не назначайте шаблон в настройках страницы (WordPress всё равно его проигнорирует).
— ❌ Не добавляйте сложный код в functions.php.
— ❌ Не создавайте дублирующие страницы.
🎨 Готовые шаблоны
Минимальная версия:
|
1 |
<?php include(get_template_directory() . '/ваш-шаблон.php'); ?> |
Версия с проверками:
|
1 2 3 4 5 6 7 8 9 |
<?php if (file_exists(get_template_directory() . '/blog-template.php')) { include(get_template_directory() . '/blog-template.php'); } else { get_header(); echo '<h1>Шаблон не найден!</h1>'; get_footer(); } ?> |
Версия для кастомных функций:
|
1 2 3 4 5 6 7 8 |
<?php require_once get_template_directory() . '/inc/blogpage/blogpage.php'; get_header(); if (function_exists('display_blogpage_sections')) { display_blogpage_sections(); } get_footer(); ?> |
🚨 Возможные проблемы и решения
❓ Страница всё равно показывает стандартный вид
1. Проверьте, что файл называется именно home.php (не Home.php или HOME.php).
2. Убедитесь, что он в корне темы, а не в подпапке.
3. Проверьте права файла: chmod 644 home.php.
❓ Главная страница перестала работать
У вас должен быть отдельный файл для главной — front-page.php или кастомный шаблон для статической страницы.
❓ Кнопка «Архив статей» ведёт не туда
Используйте в коде:
|
1 |
get_permalink(get_option('page_for_posts')) |
— это всегда вернёт правильный URL.
📊 Чек-лист успеха
— [ ] Файл home.php создан в корне темы ✅.
— [ ] В нём подключается ваш кастомный шаблон ✅.
— [ ] Настройки чтения: главная — статическая, страница записей — ваша страница ✅.
— [ ] Кеш очищен ✅.
— [ ] Страница /blog/ показывает ваш дизайн ✅.
🎭 Почему это работает?
Аналогия:
Представьте, что WordPress — это упрямый официант 🧑🍳. Вы заказываете «бургер с кастомным соусом» (ваш шаблон), а он приносит «стандартный бургер» (архив записей).
Файл home.php — это ваша личная кухня 🏠🍳. Вы говорите: «Всё, что называется блог, готовится на моей кухне!» И WordPress смиряется.
🏁 Итог
Запомните:
👉 home.php = ваш пропуск в мир кастомных страниц блога.
👉 Работает с ЛЮБЫМ названием и slug страницы.
👉 Проще простого — всего 3 строки кода!
Теперь ваш блог будет выглядеть именно так, как вы задумали! 🎨✨
P.S. Делитесь этой статьей с коллегами — избавьте их от часов мучений с WordPress! 🤝
Уровень сложности: 🟢 Начинающий.
Время реализации: ⏱️ 5 минут.
Эффект: 💥 Мгновенный.

