WordPress и Hueman: почему выбрал тему и как разгребал то, что из неё сделали
Для своего блога и портфолио я выбрал WordPress. Почему? Потому что он бесплатный, гибкий и это лучший вариант для личного блога из того, что есть сейчас.
Тему Hueman я увидел на одном проекте, и она меня сразу зацепила. Простая, но функциональная. Текст читается легко, нет ничего лишнего. Настраивать удобно — всё интуитивно понятно. Дочерняя тема позволяет править вёрстку под себя, не боясь, что после обновления всё слетит.
В итоге получился один сайт и для статей, и для работ. Всё в одном месте, без кучи разрозненных сервисов.
А потом сайт полгода правили кодом, и вот тут началось интересное.
Тему начали дописывать вместо того, чтобы настраивать
У Hueman огромный Настройщик. Макет колонок, ширина контейнера, где показывать меню, где иконки соцсетей, что выводить в подвале — всё это переключается галочками. Ничего из этого не нужно писать руками.
Но соблазн понятный: увидел не то, что хотел, открыл файл дочерней темы, дописал CSS, стало похоже на правду. Быстрее же. Проблема в том, что настройка темы после этого показывает одно, а сайт выглядит иначе, и через месяц ты уже не понимаешь, откуда взялся тот или иной отступ.
Вот что я нашёл, когда сел разбираться.
Один и тот же пост на главной два раза
Самое заметное. Первая запись выводилась в блоке «избранное» наверху и тут же ещё раз в общей ленте.
Причина — галочка «Include featured posts in the blog list» в разделе Post Lists. Hueman рядом с ней сам пишет предупреждение: включишь — запись появится дважды. Галочка была включена.
Снял галочку. Всё.
Битая картинка в шапке, замазанная стилями
В шапке была задана картинка, но при этом отключён её вывод. Тема честно рисовала пустое место с классом has-header-img.
Вместо того чтобы убрать картинку в Настройщике, в дочернюю тему дописали CSS, который это пустое место прятал. Работало. Но при любой правке шапки всё разъезжалось снова, потому что боролись не с причиной, а с последствием.
Убрал картинку в разделе Header Image, костыли из style.css удалил. Класс сменился на no-header-img, и шапка стала вести себя так, как её задумал автор темы.
Меню на 16 пунктов, половина из которых никуда не вела
- Пункт «Блог» открывал страницу «Новости», в которой не было ни одного слова.
- Четыре пункта подменю вели в рубрики Laravel и PHP, «Фронтенд», «Бэкенд» и SEO. Записей в них было ноль. Читатель кликает и попадает в пустоту.
- Три пары пунктов дублировали друг друга: «Обо мне» и «Об авторе», «Мои работы» и «Портфолио», и так далее.
Осталось пять пунктов. «Блог» теперь ведёт на ленту записей, а не на пустую страницу. Пустые рубрики удалены вместе с пунктами меню.
Отдельно про рубрику «Без рубрики»: удалить её WordPress не даёт, это категория по умолчанию. Если она мешает — в «Настройки → Написание» назначаете рубрикой по умолчанию любую другую, и вот тогда «Без рубрики» удаляется.
Страница, до которой нельзя было добраться
Была страница «Заметки» с адресом /zapiski/. И был отдельный тип записей с точно таким же адресом, зарегистрированный кодом в дочерней теме.
WordPress в такой ситуации не ругается, он просто отдаёт что-то одно. Страница стала недоступна, хотя в админке выглядела опубликованной.
Это, пожалуй, лучший аргумент против правки темы кодом: ошибка не видна ни в интерфейсе, ни в логах. Просто страница не открывается, и непонятно почему.
Ссылка «Тема Hueman» в подвале вела на мой же сайт
Мелочь, но показательная. Hueman выводит в подвале кредиты: движок, тема, ссылка на автора темы. Ссылку «тема» он берёт из заголовка Theme URI активной темы. А активна дочерняя, и в её заголовке был указан мой домен.
Получилась ссылка «Тема Hueman», ведущая на xxxproms.ru.
Блок кредитов я просто выключил в Footer Design.
Плагин Coming Soon, который ждал одного клика
В списке активных плагинов висел Coming Soon — тот самый, который закрывает сайт заглушкой «скоро открытие». Он был включён, но не активирован в режим заглушки.
То есть между работающим блогом и белой страницей с надписью «скоро» стояло одно случайное нажатие в настройках. Удалил вместе с ещё пятью неиспользуемыми плагинами. Понадобится — ставится из каталога за полминуты.
Что в итоге поменял в макете
Мне нравится, как сделан сайт develnext.org — та же тема, но с боковой колонкой слева. Оказалось, это не доработка, а штатный вариант: в Main Body Design выбирается макет col-2cr, и колонка встаёт слева. Название с буквой «r» на конце сбивает с толку, но ведёт себя именно так.
Плюс включил Boxed Layout и поставил ширину контейнера 1280. Виджеты — «Рубрики», «Свежие записи», «Поиск», «Архивы» — переехали из подвала в эту колонку. Меню перенёс в верхнюю полосу, иконки соцсетей оставил в одном месте вместо двух.
Ни строчки кода. Всё это — переключатели в «Внешний вид → Настроить».
Вывод, который я себе записал
Сначала ищешь опцию в Настройщике. И только если её точно нет — правишь код.
Звучит банально, но именно обратный порядок и превратил нормальную тему в свалку из костылей: каждая отдельная правка была маленькая и разумная, а вместе они дали сайт, который невозможно настроить, не залезая в файлы.
Дочерняя тема — вещь полезная, я от неё не отказался. В ней остался тип записей для портфолио и пара стилей под него. Но всё, что тема умеет сама, теперь делается её же средствами.