WordPress glossary – как использовать wp термины правильно

Рейтинг: 4.9 из 29 оценок

Уже не первый год разрабатываю на WordPress и часто натыкаюсь на неправильное использование терминологии.

У кого-то посты равны страницам, кто-то не знает о постах, знает только о записях, а у кого-то архив – это, “где документы лежат”. Эта статья направлена на искоренение подобных ошибок, чтобы внутри WordPress сообщества стало проще общаться.

Перед началом обозначим несколько правил, по которым я составлял данный словарь:

  • Здесь описаны далеко не все понятия, иначе список терминов перерастет в гайд по разработке. Но возможно в будущем выйдет более предметный разбор WordPress терминов.
  • Термины далее расположены не в алфавитном порядке, а сгруппированы по области применения и расставлены по встречаемости в wp разработке и сообществе.
  • Наименования одного и того же на русском и английском могут немного отличаться, поэтому сами термины будут на двух языках, а описание уже на русском.

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

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

Содержимое

Начнем с понятий, которые непосредственно связаны с созданием контента.

Запись (Post) — статья или любая другая публикация, принадлежащая одной или нескольким рубрикам. Главная часть WordPress для быстрого начала ведения блога

Рубрика (Category) — каждый пост обязательно принадлежат как минимум одной рубрике, которая объединяя их по общей тематике.  Может иметь древовидную структуру (дочерние и родительские рубрики)

Метка (Tag) — каждый пост может содержать сколько угодно меток. Метка дополнительно объединят посты с общей тематикой. Имеет линейную структуру

Страница (Page) — статья или любая другая публикация. Не принадлежит рубрикам, не содержит теги. Страницы могут образовывать древовидную структуру

Эти четыре термина являются производными двух более глобальных понятий. Запись и страница – это зарегистрированные типы записей (получается немного неприятная, но уже неизбежная, тавтология). А рубрика и метка это две базовых таксономии:

  • Тип записи (Post type) — абстрактный тип для элементов, которые содержат контент. 
  • Таксономия (Taxonomy) — абстрактный тип, объединяющий записи определенного типа

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

  • Термин (Term) — элемент таксономии. Например отдельная категория — это термин таксономии “Категория”

В итоге мы получаем две иерархии:

Еще несколько полезных понятий при управлении контентом

  •  Ярлык записи (Post slug) – одно или несколько слов, разделенных тире. Используется в чпу (Человекопонятный url). Генерируется автоматически после создания записи, но может быть изменен
  • Статус записи (Post status) – у каждой записи может быть один или несколько статусов, которые частично определяют поведение записи. Самые популярные – это “Опубликовано” (Publish) и “Черновик” (Draft)
  • Экран записей (Posts Screen) – страница в админке, на которой выводятся все записи определенного типа. Как отдельная сущность больше представляет интерес для разработчика, так как для экрана можно добавлять различное поведение и настройки. Называется экраном (screen), чтобы было меньше путаницы с понятием страница (page)
  • Шорткод (Shortcode) – небольшая конструкция в тексте, которая заменяется на указанный текст. WordPress поддерживает меньше десяти шорткодов, но позволяет создавать свои с помощью Shortcode API
  • Редактор Гутенберг (Gutenberg editor) — визуальный редактор, основанный на идеи о том, что контент делится на блоки – текста, картинок, таблиц. Содержит достаточно встроенных блоков, но также позволяет добавлять свои
  •  Блоки произвольных полей (Metaboxes) – блоки, отображаемые на странице редактирования, позволяют выбирать или вводить информацию в дополнение к основному контенту. Например seo данные или данные для отдельного элемента на странице, не относящегося к контенту. Работать с дефолтными блоками произвольных полей не очень удобно, поэтому есть плагины для упрощения взаимодействия с ними, самый популярный Advanced Custom Fields

Пользователи и роли

Создают контент пользователи, тут в терминологии ничего необычного

  • Пользователь (User) – зарегистрированный на сайте человек, имеющий некую роль и соответствующие права
  • Роли (Roles) –  в WordPress встроено несколько ролей, которые позволяют выполнять различные действия, от “только чтения” у подписчика до всех у админа. Есть возможность добавлять свои роли

Настройка внешнего вида

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

  • Тема (Theme) – код, в основном отвечающий за внешний вид выводимого контента. Загружается в папку `wp-content\themes` и включается в админке. Для работоспособности теме нужно два файла index.php и styles.css, во втором описывается основная информация. Но конечно полноценная тема состоит больше чем из двух файлов, поэтому для упрощения разработки написаны стартовые шаблоны, я использую Sage.
  • Плагин (Plugin) – дополнительный код, расширяющий возможности ядра. Загружаются плагины в папку `wp-content\plugins`, но могут быть установлены из магазина расширений прямо в админке. Плагин может состоять как из одного php файла, так и из комбинации десятков файлов разных типов.

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

Также темы и плагины не обязательно самостоятельно помещать в нужные папки. Их можно скачать из официального маркета прямо в админке.

Еще несколько вещей, для настройки внешнего вида:

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

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

Меню (Menu) — меню в WordPress можно настраивать на отдельной странице и выводить в областях темы, определенных разработчиком

Разработка

Общие понятия для разработки под WordPress

  • Хук (Hook) – событие прописанное в коде, во время которого можно вывести контент (Action hook) или изменить данные (Filter hook). Именно на хуках держится расширяемость WordPress, благодаря им можно изменить стандартное поведение cms, не меняя кода ядра. Хуки можно создавать самостоятельно, используя Plugin API, чтобы добавить ту же расширяемость в свои темы или плагины.
  •  Одноразовые числа (Nonce) – токен, отправляющийся вместе с запросом, позволяющий дополнительно защитить сайт от некоторых видов атак. Например, благодаря nonce, можно проверить точно ли запрос отправлен с формы на сайте, а не злоумышленником через какую-либо программу. Для работы с nonce есть набор функций.
  • База данных (Database) — чаще всего вместе с WordPress используют бд MySql. Для абстракции и более удобной работы используется класс wpdb и глобальная переменная $wpdb.
  • WP API (REST API) — набор классов, функций и хуков для создания REST API. Существует набор из уже прописанных в ядре конечных точек, что позволяет удобно взаимодействовать с сайтов, например, с помощью js и ajax. Так же есть возможность расширения и создания api для своей темы или плагина.

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

  • Цикл WordPress (The Loop) — набор из нескольких встроенных функций (have_posts(), the_post(), the_title(), the_content()…) для вывода контента на странице. Например, записи в рубрике обычно выводятся с помощью цикла WordPress
  • Условные теги (Conditional tags) – функции, возвращающие булево значение: true – условие выполняется, false – нет. Таких функций достаточно много. Например `is_front_page()` проверяет, является ли текущая страница главной, или `is_user_logged_in` проверяет, залогинен ли пользователь. Полный список можно найти в документации.
  • Иерархия шаблонов (Template Hierarchy) — логика выбора файлов темы для вывода, на основе отображаемой страницы. Для постов, страниц, категорий, страницы 404, может отображаться своя верстка из php файла. Выбор шаблона происходит на основе имени файла или заголовка внутри него.

Разработка плагинов

  • Жизненный цикл плагина — после установки плагин активируется в админке, если нужно произвести какие-то действия в коде, во время активации, то нужно использовать функцию register_activation_hook. Также плагин может быть деактивирован (register_deactivation_hook) или вовсе удален (register_uninstall_hook). После активации плагина, его главный файл запускается каждый раз, когда запускается WordPress 
  • Префиксы (Prefixes) — так как разработка под WordPress завязана на использовании глобальных объектов, то стоит использовать префиксы в своём коде. Стандартный префикс WordPress — “wp_”, он используется в именах переменных, функций, хуков и таблиц базы данных

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

Новые статьи уже на подходе, а об их подготовке и не только можно узнать в моём телеграм канале, подписывайтесь, если интересно.

Спасибо за внимание!

Телеграм Даниила Дубченко

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