Когда мы думаем о контенте в WordPress (WP), то обычно подразумеваем страницы и сообщения. Но все не так просто. WP использует ряд типов контента, а сообщения и страницы служат примерами. Знание и понимание типов содержания поможет вам контролировать WP на более высоком уровне, писать сложные запросы для ваших тем и плагинов. Итак, есть 4 типа контента:
– Сообщения
– Комментарии
– Пользователи
– Ссылки
1. Сообщения. Наиболее важный тип в WP. Терминология, распространенная вокруг них, может ввести в заблуждение. Например, что они используются для написания чего угодно в таблице wp_posts. Но еще их используют для конкретного типа записей. Добавление следующих строк в запросе может показаться излишним, но, все же, имеет смысл: 'post_type'
=> 'post'
.
Есть 5 типов значений по умолчанию, встроенных в WP:
– Сообщение
– Страница
– Вложение
– Редакция
– Меню навигации
Сообщения могут быть связаны друг с другом, охватывая отношения между данными. Это, как правило, используется для определения привязанности сообщения или страницы и пр. Первые три типа знакомы разработчикам WP как сообщения (посты). Каждое изменение сохраняется в таблице wp_posts (используя post_parent поле), и навигационные элементы меню сохраняются как сообщения. Затем при отображении меню выводятся через запрос. Именно поэтому меню навигации может внезапно исчезнуть, если вы используете pre_get_posts() неправильно. Вы можете добавлять столько дополнительных сообщений, сколько вам нужно для сайта. На рисунке ниже показано wp_posts и связанные таблицы:
2. Комментарии
Комментарии хранятся в собственной таблице базы данных wp_comments . Они работают таким же образом, что и сообщения. И те, и другие могут иметь метаданные, которые прилагаются через wp_commentmeta. Комментарии связываются с сообщениями через отношение один-ко-многим, а также друг с другом с помощью comment_parent поля, которое используют для их идентификации. Еще они могут иметь связи с таблицей wp_users.
Диаграмма ниже показывает таблицу wp_comments и свои отношения.
3. Пользователи
Пользователи имеют свои собственные таблицы wp_users , а также метаданные в wp_usermeta. На первый взгляд может показаться, что типы контента очень отличаются. На самом деле они похожи больше, чем вы думаете: они могут запрашиваться и выводиться в авторский архив, и у них есть содержание в виде биографических данных о пользователях. Этот контент, в котором они нуждаются, в отличии от сообщений, ссылок и комментариев, структурирован совершенно иначе. На диаграмме изображена таблица wp_users и ее отношения.
4. Ссылки
Последний тип контента – ссылки. Они работают аналогичным образом. Однако есть отличие их от сообщений. Заключается оно в том, что они имеют совершенно разные поля, используемые для хранения данных, описание полей и т.д. Ссылки не связаны с Пользователями, поэтому не могут определить автора; у них нету поля для выявления источников, поэтому они не могут быть присоединены к сообщению. Но вы можете использовать принципы таксономии (систематизации) для включения их в архивные страницы. Таблица wp_links и ее отношения приведены ниже.
В конечном итоге, обратите внимание на метаданные. Из четырех типов контента, охваченных выше, три могут иметь метаданные: сообщения, комментарии, пользователи. Понимание основных правил работы охваченных типов содержания, представления об основных отличиях между ними, поможет вам разобраться в более сложных вещах WP, таких, например, как темы и плагины.