Верстка шаблона Wordpress из HTML макета. Верстка под WordPress

01.07.2019

Создавая тему для Wordpress , можно пойти несколькими путями. Можно написать код с нуля, отредактировать готовую тему или воспользоваться специальным фреймворком . В этом обзоре мы рассмотрим третий вариант, который, с одной стороны, не ограничивает вашу фантазию уже созданной темой, а с другой позволяет избавиться от рутинных операций, сосредоточившись на дизайне, а не на скучном кодировании.

Однако, даже несмотря на очевидные преимущества использования фреймворков, среди специалистов нет однозначного мнения на их счет. Некоторые считают, что фреймворки дают значительный прирост в скорости и качестве разработки. Другие же считают, что они ограничивают разработчиков, заключая их в определенные рамки. И если приходится решать неординарную задачу, то усилия, затраченные на обход функционала фреймворка, сводят на нет его преимущества. К тому же время, затраченное на освоение, можно сопоставить со временем, затрачиваемым на кодирование (впрочем, понятно, что в случае с фреймворком это будут единоразовые затраты).

Как бы там ни было, а выбор использования фреймворка остается за вами. Только вы, исходя из вашего опыта и стоящей перед вами задачи, можете решить, стоит использовать его или нет. А для этого его нужно как минимум «пощупать», что мы и предлагаем сделать, воспользовавшись для начала, конечно же, одним из бесплатных продуктов.

Cherry Framework от TemplateMonster

Несмотря на свою короткую историю, Cherry Framework успел заслужить много положительных отзывов.

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

Ключевые особенности Cherry:

  • Независимая модульная структура позволяет использовать компоненты Cherry в отдельности, как самостоятельные инструменты. Tom J. Nowell из команды Automattic убежден, что подобной возможностью должен обладать каждый приличный фреймворк;
  • Редактор и набор шорткодов , позволяющих добавлять различные объекты в любое место страницы;
  • Возможность фиксировать положение элемента (логотипа, меню или поисковой строки) относительно верхнего или нижнего колонтитулов;
  • Минимизатор CSS - инновационный инструмент, позволяющий объединить CSS из разных файлов в один и минимизировать его для ускорения загрузки;
  • Backup Option - очень удобная опция, позволяющая «откатиться» в предыдущее состояние, если вас не устроил результат редактирования;
  • Механизм плагинов, обеспечивающий быстрое решение различных задач. Это добавление слайдшоу, боковых панелей и различных типов заметок - для отзывов , портфолио и т.п.;
  • Совместимость с инструментами сторонних разработчиков;
  • Адаптивность и WPML-совместимость - два жизненно необходимых на сегоднящний день функционала, позволяющих создавать многоязычные сайты, адаптированные к любым устройствам, от смартфонов до ПК.

Hybrid Core от ThemeHybrid

Hybrid Core легкий в установке и настройке фреймворк , который позволяет разрабатывать сложные проекты, не прибегая к большим объемам кодирования. Он совместим со стандартом Schema, что обеспечивает хорошую SEO оптимизацию . Кроме этого, в Hybrid Core присутствует много функций, значительно упрощающих труд разработчика. Среди них такие, как:
  • Навигационная цепочка («хлебные крошки»), прекрасно работающая на любых страницах, включая сообщения произвольного типа.
  • Исправленная и оптимизированная версия шорткода , предоставляющая полный контроль над галереей изображений
  • Media Grabber - функция, позволяющая захватывать любой медиаконтент (в том числе из заметки) и использовать его в любом месте сайта.
  • сообщений, позволяющий создавать заготовки для различных типов заметок, не ограничиваясь страницы в целом.
  • Расширение стандартной функции постраничной разбивки, позволяющее управлять разбивкой материала на странице результатов поиска, архивированных страниц и пр.
  • Автоматическая загрузка средств поддержки многоязычности как для родительских, так и для дочерних тем.

Gantry от RocketTheme

Gantry - это попытка профессионалов из RocketTheme объединить все их достижения в разработке тем для Wordpress в единый фреймворк. И попытка, надо сказать, весьма удачная. Построенный с использованием динамической сетки, этот весьма легкий фреймворк поддерживает SCSS, CSS и LESS.

Взгляните на перечень основных особенностей Gantry:

  • Менеджер разметки предоставляет полную свободу в разработке макета.
  • Система управления контентом, позволяющая создавать, редактировать и публиковать материалы.
  • Визуальный конструктор меню, поддерживающий многоуровневые меню и создание пунктов меню с иконками.
  • Мегаменю позволяет создавать нестандартные выпадающие меню, где в качестве подпунктов могут выступать не только ссылки, но и любой html – таблицы, формы, списки, отформатированный текст
  • Интерфейс администратора, созданный с использованием Ajax, и работающий с невероятной быстротой.
  • Мощный обработчик шаблонов Twig.
  • А еще Gantry может похвастаться YAML-ориентированным конфигуратором, скользящими боковыми панелями, мощными возможностями наследования и набором всевозможных иконок и шрифтов.

Runway от Parallelus

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

Основные особенности Runway:

  • Генератор тем, предназначенный для создания, копирования и редактирования тем.
  • Конструктор тем - предназначен для создания админпанелей и записей нестандартного (пользовательского) типа.
  • Модульная структура, позволяющая добавлять требуемую функциональность при помощи плагинов буквально в один клик.

Wonderflux от Jonny Allbut

Еще один фреймворк с открытым исходным кодом в нашей подборке - Wonderflux. Качественный продукт, который позволит вам сэкономить время разработки, при этом нисколько не потеряв эффективности.

Ключевые особенности Wonderflux:

  • Динамическая разметка , обеспечивающая адаптацию темы к любым размерам экрана.
  • Гибкие параметры разметки, которые можно изменять «на лету».
  • Коллекция из более чем 100 шорткодов , позволяющая внедрить в тему код или контент любого типа
  • Административные настройки, обеспечивающие легкую конфигурацию сайта.
  • Совместимость с плагинами Wordpress позволяет решить практически любую поставленную задачу
  • Валидатор кода, обеспечивающий соблюдение веб стандартов, что является непременным условием качественной SEO оптимизации.

Unyson от ThemeFuse

Unyson - функционально богатый фреймворк, предназначенный как для разработчика, так и для дизайнера. Позволяет редактировать frontend сайта или блога из административной панели, причем имеет окно предварительного просмотра, в котором можно сразу же оценить внесенные изменения.

Ключевые особенности:

  • Конструктор страниц с поддержкой технологии drag-and-drop .
  • Content Demo Install - Расширение, позволяющее отображать контент именно так, как он выглядит при редактировании.
  • Более 20 параметров, упрощающих создание контейнеров, вкладок и форм для админпанели
  • Динамические боковые слайд-панели , которые могут настраиваться индивидуально для каждой страницы.
  • Автоматическое резервное копирование непосредственно из админпанели. Возможно регулярное копирование по расписанию (ежедневно, еженедельно, ежемесячно и т.д.).
  • Навигационные цепочки (a.k.a. «хлебные крошки»), добавляющие простую и понятную навигацию
  • Модуль слайд-шоу, поддерживающий как фото- так и видеоконтент.
Конечно же, это не полный перечень всех возможностей Unyson. Следует упомянуть также специальные модули для SEO , контактные формы , портфолио, календарь событий, звездный рейтинг , интеграцию с социальными сетями и Flickr.

PressWork

Бесплатный Wordpress фреймворк, созданный с использованием HTML5 и CSS3 и ориентированный на широкий круг пользователей - разработчиков, дизайнеров, блогеров.

Вот некоторые его особенности:

  • Редактор Front-End - возможность редактирования frontend при помощи редактора с поддержкой drag-and-drop.
  • Набор плагинов, расширяющих базовую функциональность фреймворка для решения конкретной задачи.
  • Media Queries - модуль, отвечающий за оптимальный внешний вид на любых устройствах.
  • Присутствие в комплекте PSD-файлов для редактирования темы, например, изменения логотипа или графических элементов.

Reverie от ThemeFortress

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

Ключевые особенности:

  • Фреймворк создан на базе ZURB Foundation и наследует всю его гибкость и мощь.
  • HTML5 и hNews microformat обеспечивают ясный, понятный и легко воспринимаемый код. Для HTML5 тэгов можно использовать пользовательские функции Wordpress.
  • Имеет механизмы адаптации к размеру экрана, так что выглядит одинаково хорошо и на смартфонах и на ПК.
  • Следует концепции минимализма, предлагая только два виджета и два пользовательских меню.
  • При необходимости внести изменения в дизайн предлагается непосредственное редактирование SCSS и пользовательского CSS.
Из минусов стоит отметить частичную SEO-оптимизацию , поэтому для этой цели рекомендуется использовать дополнительный плагин.

Vafpress

С Vafpress создание административной (backend) части Wordpress темы становится легким, как никогда.

Для этого в распоряжении разработчика имеются:

  • Скрипт управления загрузкой, позволяющий загружать только необходимые блоки, не перегружая frontend излишним кодом.
  • Поддержка различных типов полей: текстовых, списков со множественным выбором, флажков (checkbox), переключателей (radiobutton) и других
  • Мощный конструктор многоуровневых меню. Для построения использует XML, который затем можно преобразовать в массив PHP.
  • Metabox Builder - позволяет записывать metabox в массивы PHP.
  • Поддержка групп повторяющихся полей.

Underscores

Некоторые разработчики считают Underscore полноценным фреймворком, хотя некоторые, в том числе сами авторы, позиционируют свой продукт как некую тему-прародительницу для создания законченных тем. Как бы там ни было, использование Underscores позволит существенно сэкономить время и усилия, затраченные на разработку тем для Wordpress.

Основные особенности Underscore:

  • Возможность создания пользовательских заголовков.
  • Пользовательские тэги в шаблонах позволяют избежать дублирования кода.
  • Скрипт для конвертирования меню в переключаемый выпадающий список для отображения на мобильных устройствах.
  • Два шаблона разметки с боковой панелью, расположенной справа или слева.
  • Рациональный CSS, облегчающий процесс разработки.
  • страницы 404.

Заключение

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

На сегодня адаптивную верстку имеет доля 10-20% всех сайтов. 21 апреля 2015 года Google «обрадовал» веб-мастеров, занимающихся сайтостроением, и владельцев ресурсов сообщениями на почту, где сервис предупреждал о неудобстве использования для мобильных устройств. И дальше следовало, что поисковая система отказывается от индексирования таких страниц. Для многих это стало частичной потерей потока посетителей из мобильного интернета.

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

Что такое адаптивная верстка для мобильной версии?

Адаптивная верстка представляет из себя обычный веб-дизайн, умеющий подстраиваться под любое разрешение экрана, в т.ч. для mobile, чтобы пользователю было удобно просматривать страницы ресурса. Как вариант решения проблемы - создать мобильную версию сайта.

Работа над созданием адаптивного веб-дизайна начинается с проверки на сервисах Google. Обычно сервис выдает перечень доработок, которые необходимо выполнить для перехода на мобильную версию. При адаптивной верстке на WordPress изменения вносятся в css-файлы, а внутри header.php в части head прописывается мета-тег с атрибутом viewport, позволяющий подстроить содержимое интерфейса под размер экрана.

Удобство этого метода - не нужно создавать новый сайт, следить за наполнением, заново проводить seo-оптимизацию. Однако, возникают проблемы с отображением в разных браузерах, элементы в некоторых из них начинают «ехать». Требуется тонкая настройка css стилей.

Плагины на WordPress для адаптации сайта

Специально для WordPress создатели разработали бесплатные плагины, помогающие перейти, например, MobilePress, Duda Mobile Website Builder. Их можно скачать с официального сайта.

Плагины для адаптации в состоянии применить даже непрофессиональный веб-мастер, не обладающий широкими познаниями HTML и CSS. Плагины позволяют заточить уже имеющийся шаблон. Однако иногда возникают проблемы с кроссбраузерностью, а при кэшировании выходят непредвиденные ошибки. Если в дальнейшем не планируется посещаемость ресурса свыше 2000 человек, то плагины хорошая альтернатива.

Адаптивные шаблоны WordPress

Найти качественные адаптивные шаблоны для веб-мастера не займет много времени, однако потребует знания основ HTML и CSS. Шаблон для работы легко скачивается и переделывается на свое усмотрение.

Достоинства:

  • Легко установить и настроить. При желании можно найти даже премиум-шаблоны бесплатно;
  • Проверенные шаблоны поддерживают кроссбраузерность;
  • Огромное количество в интернете;
  • Не потребуется много времени, чтобы перейти на адаптивный дизайн.

Недостатки:

  • Придется полностью менять старый на новый;
  • Внутри встречаются закодированные ссылки автора или на другие сайты.

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

Сейчас объясню, как сделать из простого HTML-шаблона тему WordPress на примере дизайна из той статьи.

Адаптировать дизайн под WordPress может понадобиться по многим причинам, например, вы переносите на CMS свой некогда статичный сайт, или вам понравился дизайн, которого в коллекции WordPress ещё нет, или вы просто хотите разобраться, как устроены темы этой CMS изнутри.

Итак, приступим.

Распределяем код по файлам

1. Скачайте шаблон и распакуйте его в папку с темами WordPress (адрес вида адрес_блога_wordpress/wp-content/themes/ ). Если хотите, переименуйте папку с темой на свой вкус. Например, у меня шаблон располагается по адресу адрес_блога_wordpress/wp-content/themes/MyTheme/ .

2. Переименуйте файл styles.css в style.css .

3. Откройте style.css в редакторе кода (таком, как Notepad++) и в самое его начало вставьте следующие строки:

/* Theme Name: MyTheme Theme URI: http://test1.ru Author: NoName Author URI: http://test1.ru Description: Example of test Version: 1.0.0 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html */

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

4. Создайте файлы header.php , index.php , sidebar.php , footer.php и распределите по ним код из index.html .

4.1. В header.php скопируйте код по строчку , так как этот файл отвечает за верх сайта. styles.css замените в коде на style.css - новое корректное имя файла.

4.2. В index.php вставьте код основного блока (со строки по строку ).

4.3. В sidebar.php скопируйте код бокового меню (с по ).

4.4. В footer.php вставьте оставшиеся строки (с до конца документа index.html ).

5. Удалите index.html .

6. Перейдите в админ-панель и убедитесь, что шаблон MyTheme появился в разделе Внешний вид -> Темы . Вы даже можете попробовать его просмотреть или активировать, но ничего хорошего из этого пока не получится, ведь шаблон с WordPress мы ещё никак не интегрировали.

Адаптируем header

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

В шаблоне будут встречаться PHP-вставки. Начинается такой код с . Между ними расположен PHP-код, чаще всего вызывающий функции CMS

1. Откройте файл header.php и замените содержащийся в нём код до блока

на следующий:

> "> "> " type="text/css" media="screen" /> <?php bloginfo("name"); ?>

Мы сделали динамическим блок

Код вызывает функцию, возвращающую языковые атрибуты в контейнер.

">

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

Важная функция, обеспечивающая работу на странице стилей, плагинов и скриптов.

2. Перейдите к редактированию файла index.php. В самом его начале пропишите

,

Строчки вызывают файлы шапки, боковой панели и низа сайта.

Теперь вы можете просмотреть или даже активировать MyTheme. В результате браузер отобразит уже знакомый шаблон со статическим меню и одной-единственной страницей. Чтобы меню стало динамическим и настраиваемым, а вместо одной страницы отображались все помещённые на сайт материалы, нужно преобразовывать шаблон дальше.

Делаем динамическим верхнее меню

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

Чтобы не мудрствовать лукаво и не погружаться в пучину увлекательного мира программирования, зададим динамическому меню статичное название. Вместо таблицы горизонтального меню вставьте код

так, чтобы получилось следующее: