В тема управляет веб-сайтом и определяет, какое на нем содержание, как он себя ведет и как он выглядит. Тема отделена он контента, который хранится в БД. Это означает, что вы можете использовать одну тему на нескольких сайтах, независимо от их содержания, например, скачав ее из общего репозитория тем .


Тема состоит из нескольких файлов, все они хранятся в папке с темой, которую можно найти в wp-content/themes установленного WordPress. Каждая тема WordPress должна включать в себя по крайней мере два файла: index.php и style.css.

Файл index.php определяет, что и как будет выводиться на сайт, а style.css как это будет оформлено. Также style.css содержит мета информацию о теме.

На самом деле, большинство тем имеет несколько больше чем один файл: header.php sidebar.php footer.php functions.php

Файлы, содержащие Цикл_wordpress, который запрашивает данные из БД. В зависимости от того, с какой частью сайта вы работаете, это может быть один из нескольких файлов: pages.php single.php index.php, archive.php, category.php и т.д.

В интернете есть большое визуальное представление о том, как работаю файлы темы (eng) и WordPress Кодекс (ru и eng), включающий в себя подробное описание системы тем для WordPress, в том числе информацию о разных файлах темы.

Можно сказать, что таблица стилей (style.css) является наиболее важным файлом в теме. В этом файле содержится вся мета информация о теме. Ниже приведен пример блока с информацией о теме Twenty Eleven:

Этот блок не читается браузером, но WordPress берет из него всю информацию о теме. Позже мы еще вернемся к этой части темы.

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

Что необходимо учитывать при разработке темы для WordPress?

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

Время – сколько времени вы готовы потратить на разработку темы?

Бюджет – сколько вы можете позволить себе потратить на покупку премиум-темы или фреймворка для создания тем для WordPress?

Ваши умения – насколько хорошо вы знакомы с HTML, CSS, PHP и с процессом создания тем для WordPress?

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

Повторение – видите ли вы себя в будущем в качестве разработчика похожих друг на друга тем?

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

Варианты разработки темы

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

И так, варианты:

  • Создание темы с нуля
  • Редактирование существующей темы
  • Использовать настройщик темы существующей темы
  • Создать наследника (потомка) существующей темы с последующими изменениями
  • Создать собственную тему родителя и на ее основе делать другие темы
  • Использовать фреймворк

Создание темы с нуля

Этот подход является наиболее сложным, если у вас нет опыта создания тем. Но если вы опытный разработчик WordPress, этот вариант даст вам наибольший контроль над темой. Это может быть наиболее подходящим вариантом, если у вас уже есть сверстанные HTML страницы.

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

Редактирование существующей темы

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

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

Тем не менее, изменение существующей темы может быть хорошим вариантом, если вы серьезно подойдете к вопросу ее модификации. Достигнуть этого можно, если:

  • Вы собираетесь модифицировать качественную тему, например тему по умолчанию Twenty Twelve;
  • Вы хорошо понимаете PHP и CSS код, содержащийся в теме, можете добавлять и удалять его, не причиняя вред работе теме.

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

Использование настройщика темы

Настройщик темы появился в WordPress начиная с версии 3.4. Он дает возможность изменять тему без написания или редактирования кода, просто используя WISYWIG интерфейс. В зависимости, насколько хорошо реализован настройщик, вы можете менять изображения, заголовок, цвета и даже макет страницы.

Настройщик темы сохраняет ваши изменения в отдельном файле, а не в таблице стилей, переопределяя свойства.

Создание темы-потомка для внесения изменений в существующую тему

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

Давайте посмотрим пример:

Файлы родительской темы

Файлы темы-потомка style.csspage.phpsingle.phparchive.phpheader.php sidebar.php footer.php style.csspage.phpheader.php

В приведенном выше примере, WordPress будет использовать файлы по следующей схеме: style.css — от темы потомка page.php – от темы потомка single.php — от родительской темы archive.php – от родительской темы header.php – от темы потомка sidebar.php – от родительской темы footer.php – от родительской темы

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

Что бы WordPress определил вашу тему как потомка какой-то существующей темы, вам нужно правильно составить код комментария в файле style.css:

@import url(“../twentyeleven/style.css”);

Первое, что вы должны указать это Template:

Template: twentyeleven

Эта строка сообщает WordPress, что тема является потомком, и что Twenty Eleven является родительской темой.

И второе:

@import url(“../twentyeleven/style.css”);

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

Так создаются темы-потомки, или еще их можно назвать темы-наследники. Но в каких случаях стоит использовать данный метод?:

У вас уже есть родительская тема, в которой реализована большая часть нужного вам функционала

Вы разрабатываете ряд аналогичных сайтов с некоторыми незначительными изменениями.

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

Создание собственной родительской темы и на ее основе создавать темы-потомков

Вам будет полезен этот подход если:

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

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

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

Использование фреймворка для создания темы

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

Заключение

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

  • Подход
  • Время разработки
  • Стоимость
  • Возможности
  • Перспективность
  • Повторение

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