Как я переехал на WordPress

Спустя год кочевничества с одной темы оформления на другую я понял, что не найду тему, устраивающую меня на 100%. Решение было очевидно — собственная тема для WordPress, написанная с нуля. Но как это сделать, если умеешь только в HTML и CSS, а WordPress использует в работе PHP?

Я следовал старому плану: сверстать страницы с помощью HTML и CSS. Это создавало трудности, так как вынуждало создавать новые страницы для записей в блоге, проектов и портфолио. Использование WordPress облегчало эту задачу, так как генерация новых страниц происходила бы через панель управления, но… Как сделать свою тему с нужным мне дизайном?

Как это сделать я ещё не знал, но для начала занялся оформлением. Я ценю минимализм в интерфейсе, поэтому сел за Фотошоп и за пару часов набросал 2-3 варианта оформления.

Итоговый вариант

Дальше вёрстка. Главная, страница «Обо мне», «Контакты», страница блога… Работа спорилась, но меня не покидала мысль, что идея разместить свои проекты и блог на статических страницах изначально неудачна и бесперспективна. Закончив вёрстку, я отложил это дело на выходные.

Я знаю про создание блогов на Ruby on Rails, что многие ребята используют эту связку для разворачивая своих проектов, но WordPress казался мне более простым в освоении.

Отдыхая без интернета и работы я решил разобраться с WordPress и перенести свои статические странички в адекватный динамический сайт.

В этом деле мне помогла статья на Хабре, в которой разбирали процесс «натягивания» дизайна на WordPress, кодекс и справочник по функциям. Последний на английском, но многие пункты переведены и доступны в Гугле.

Не обошлось без казусов и тупняков:

  • кнопка «Читать далее» открывала статью на середине;
  • стили оформления упорно не подключались, поэтому я прописал их напрямую в header.php;
  • отобразить блог как главную страницу, при этом сохранив ссылку в меню не как произвольную ссылку, а как ссылку на страницу я так и не смог.

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

Из «мусора» меня сразу смутила функция, которая генерировала огромное количество лишнего кода: <?php wp_head(); ?>

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

Конечно, WordPress подойдёт не для всего: размещать лендинг на его базе — спорное решение. Хотя я встречал заказы на создание лендинга на WordPress: клиенты хотят самостоятельно менять контент на сайте, не привлекая верстальщиков или программистов. Но для блогов, многостраничных сайтов, размещения портфолио и даже для интернет-магазинов WordPress — интересное и хорошее решение.

UPD (4 декабря 2017 года):
Свою тему я решил временно убрать, установив стандартную тему WordPress. Причины: отсутствие глубокого понимания, как работает WordPress в плане защиты сайта от взлома, недостаточная гибкость в работе из-за банального отсутствия некоторого функционала, который надо дописывать. А на это пока нет времени.