WordPress. Разработка тем

Темы бывают двух типов: классические – основанные на php коде и wp-тегах; и блочные – основанные на html блоках комментариев, которые заменяются php ядром вордпресса на php скрипты.

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

header.php
sidebar.php
footer.php
comments.php
comments-popup.php

Чтобы подключить файлы header footer и sidebar в шаблон, используйте wp-функции, помимо подключения файла они также содержат вызов необходимых wp-тегов для управления событиями системы:

get_header();
theme_sidebar();
get_footer();

Описание темы

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

Ниже приведен шаблон заголовка таблицы стилей (style sheet header) вашей темы Rose. Он должен находится в начале файла стилей style.css, в первых строках:

/*   
Theme Name: Rose
Theme URI: домашняя-страница-темы
Description: краткое-описание-темы
Author: ваше-имя
Author URI: ваш-URI
Template: напишите-здесь-наименование-родительской-темы--необязательное-поле
Version: номер-версии--необязательное-поле
.
Развёрнутое описание темы/Лицензия-если-нужно.
.
*/

Дочерняя тема

Простейшая тема включает в себя только файл style.css плюс изображения, если они необходимы. Для создания такой темы необходимо в строке заголовка Template: указать имя родительской темы. Например, если ваша тема “Rose” происходит (наследует) от темы “test”, напишите в заголовке style.css следующую строку:

Template: test

После добавления такой строки в заголовок style.css все шаблоны темы “test” будут наследоваться вашей темой “Rose”, в которой ничего нет, кроме файла с таблицей стилей style.css, и возможно, рисунков. Эти файлы необходимо поместить в каталог wp-content/themes/Rose.

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

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

functions.php

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

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

Стандартные файлы шаблонов темы

style.css
Главный файл таблицы стилей. Файл должен быть в теме обязательно и обязательно должен содержать описанные выше комментарии в заголовке файла.

index.php
Главный файл шаблонов. Если вы в своей теме используете свои шаблоны, этот файл index.php обязателен.

functions.php
php функционал темы

comments.php
Шаблон комментариев. Если его нет, используется файл comments.php из темы по умолчанию.

comments-popup.php
Добавляет всплывающее меню для комментариев на JS. При отсутствии вызывается comments-popup.php из темы по умолчанию.

home.php
Шаблон главной страницы блога.

single.php
Шаблон страницы одиночного поста. Используется, когда запрошен конкретный пост. Для этого и других шаблонов по запросу используется index.php, если в вашей теме нет соответствующего файла шаблона.

page.php
Шаблон отдельной страницы, используется для отображения запрошенной страницы Page.

category.php
Шаблон категории category template. Используется при запросе категории.

author.php
Шаблон автора блога author template. Используется при запросе автора блога.

date.php
Шаблон вывода даты-времени. Используется при запросе даты и времени. Год, месяц, день месяца, час, минута, секунда.

archive.php
Шаблон архива. Используется, когда запрошены категория, автор или дата. Учтите, что этот шаблон может быть переопределен шаблонами category.php, author.php и date.php для соответствующих типов запросов.

search.php
Шаблон результатов поиска. Используется после выполнения поиска.

404.php
Шаблон для сообщения об ошибке 404 Not Found . Используется, когда WordPress не может найти сообщение или страницу, которая соответствует запросу.

Cобытия темы для совместимости с плагинами

Вот список специальных тегов событий, которые необходимо вызывать в вашей теме для корректной работы любых плагинов:

wp_head
Происходит при отображении HTML кода элемента <head> в шаблоне header.php. Пример использования в плагине: добавление кода javascript.
Использование: <?php do_action('wp_head'); ?>
-или-  <?php wp_head(); ?>

wp_footer
Происходит при отображении заголовка (верхнего колонтитула) "footer" темы в шаблоне footer.php. Пример использования в плагине: вставка кода PHP, который должен выполняться после всего, самым последним на странице.
Использование: <?php do_action('wp_footer'); ?>
-или-  <?php wp_footer(); ?>

wp_meta
Событие обычно происходит при обработке тега <li>Meta</li> при отрисовке меню или в меню боковой панели в шаблоне sidebar.php. Пример использования: включение круговой рекламы или облака тегов в боковую панель.
Использование: <?php do_action('wp_meta'); ?>
-или-  <?php wp_meta(); ?>

comment_form
Происходит при отработке скриптов шаблонов comments.php и comments-popup.php, непосредственно перед закрытием тега формы комментариев (</form>). Пример использования: Показать предпросмотр только что добавленных комментариев.
Использование: <?php do_action('comment_form', $post->ID); ?>

Уникальная картинка темы

Чтобы тема отображалась с уникальной картинкой нужно загрузить в папку с темой ее скриншот. Это такое изображение, которое будет отображаться в разделе выбора темы в административной панели WP. Размеры этой картики: 300 x 225 пикселей, и называться она должна “screenshot.png”.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *