...

пятница, 15 августа 2014 г.

[Перевод] Понимание и работа с данными в WordPress. Часть 1. Введение



Данная статья является переводом первой статьи Rachel McCollin из цикла о данных в WordPress. В ней по полочкам разложена структура данных, типы контента и их взаимосвязь в WordPress. Будет полезна в первую очередь новичкам, но и профессионалы могут найти для себя что-либо новое.


Замечание от переводчика
В переводе используется терминология согласно кодексу WordPress


  • Post — запись,

  • Page — страница,

  • Attachment — вложение,

  • Revision — редакция,

  • Comment — комментарий,

  • Taxonomy — таксономия,

  • Category — категория

  • Tag — метка,

  • Term — термин (конкретное значение пользовательской таксономии)

  • User — пользователь

  • Metadata — метаданные




Исключение составляет лишь термин content. В большинстве случаев используется не перевод «содержимое», а — «контент». Я считаю, данный перевод является более корректным по тексту.

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

Замечания об ошибках и опечатках прошу сообщать в личку.




Сайт на WordPress состоит из трех основных элементов:



  • Сама установка WordPress

  • Содержимое каталога wp-content, которое включает темы, плагины и загрузками

  • База данных, где храниться контент в виде данных.




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

В этой серии статей будет детально рассмотрены аспекты базы данных WordPress. Эта серия состоит из девяти частей:



  1. Вступление (сейчас вы читаете именно его)

  2. Взаимосвязи между данными

  3. Типы контента

  4. Пользовательские данные

  5. Метаданные

  6. Таксономии, категории, метки и термины

  7. Таксономии VS метаданные

  8. Таблица опций

  9. Данные WordPress Multisite




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

Типы контента в WordPress




Прежде чем разбирать данные хранящиеся в базе WordPress, рассмотрим типы контента. Существуют такие стандартные типы контента:

  • Записи (posts)

  • Страницы (pages)

  • Пользовательские типы записей (custom post types)

  • Вложения (attachments)

  • Ссылки (links)

  • Элементы меню (navigation menu items)




Эти типы контента имеют такие данные:

  • Категории (categories)

  • Метки (tags)

  • Пользовательские таксономии (custom taxonomies and terms)

  • Метаданные (post metadata)




Кроме того существует типы контента, хранящиеся в ином виде:

  • Виджеты (widgets)

  • Опции (options)

  • Пользователи (users)

  • Сайты для MU WordPress

  • Нестандартный контент (hardcoded content), который добавляют некоторые темы/плагины.

  • Сторонний контент (third party content) (например RSS)




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

Структура базы данных WordPress




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


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































































ТаблицаДанныеСвязи с другими таблицами
wp_posts
Записи, страницы, вложения, редакции, пользовательские записи
wp_postmeta через post_id

wp_term_relationships через post_id
wp_postmeta
Метаданные записей, страниц и т.д.wp_posts через post_id
wp_comments
Комментарииwp_posts через post_id
wp_commentmeta
Метаданные комментариевwp_comments через comment_id
wp_term_relationships
Связи между таксономиями и записями, страницами и т.д.wp_posts через post_id

wp_term_taxonomy через term_taxonomy_id
wp_term_taxonomy
Таксономии (включая категории и метки)wp_term_relationships через term_taxonomy_id
wp_terms
Ваши категории, метки и термины пользовательских таксономий
wp_term_taxonomy через term_id
wp_links
Ссылки в вашем блоке (как правило, сейчас не используется)wp_term_relationships через link_id
wp_users
Пользователиwp_posts через post_author
wp_user_meta
Метаданные для каждого пользователяwp_users через user_id
wp_options
Опции и настройки сайта

(устанавливаются в админке на странице настроек и в темах/плагинах)
Отсутвуют



Стоит отметить несколько вещей:

  • Таблицы базы данных по умолчанию имеют префикс wp_. Вы можете его изменить (например, при установке).

  • Таблица wp_posts является самой важно. Именно в ней храниться большинство данных.

  • Только одна таблица не связанна с другими — таблица wp_options. В ней хранятся данные о сайте и настройках WordPress, которые не имеют отношения к записям или пользователям.

  • Две таблицы используются для хранения данных о таксономии. Об это будет отдельная статья.

  • В таблицах wp_users и wp_comments данные не связаны. В настройках WordPress можно указать, что только зарегистрированные пользователи могут оставить комментарий. Не смотря на это, WordPress не хранит связи о комментариях и пользователе, который их отправил.

  • WordPress MU иметь некоторые дополнительные таблица. Их рассмотрение выходит за рамки данной статьи.




Связь контента и таблиц базы данных


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







































































Тип контентаТаблица
Записи (posts)wp_posts
Страницы (pages)wp_posts
Пользовательские типы записей (custom post types)wp_posts
Вложения (attachments)wp_posts
Ссылки (links)wp_links
Элементы меню (navigation menu items)wp_posts
Категории (categories)wp_terms
Метки (tags)wp_terms
Пользовательские таксономии (custom taxonomies)wp_term_taxonomy
Термины пользовательских таксономий (custom terms)wp_terms
Метаданные (post metadata)wp_post_meta
Виджеты (widgets)wp_options
Опции (options)wp_options
Пользователи (users)wp_users
Нестандартный контент (hardcoded content)wp_posts (если добавлен к записям)

wp_options (если добавлен к виджетам)

Файлы тем/плагинов
Стороний контент (third party content)wp_posts (если добавлен к записям)

wp_options (если добавлен к виджетам)

Файлы тем/плагинов

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


Заключение


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


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий