Розуміння і робота з даними в WordPress. Частина 1. Введення

  1. Типи контенту в WordPress
  2. Структура бази даних WordPress
  3. Зв'язок контенту і таблиць бази даних
  4. висновок

Дана стаття є перекладом першої статті Rachel McCollin з циклу про дані в WordPress. У ній по поличках розкладено структура даних, типи контенту і їх взаємозв'язок в WordPress. Буде корисна в першу чергу новачкам, але і професіонали можуть знайти для себе що-небудь нове.

Сайт на 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 зберігає різні типи даних, як використовує базу даних. Більш докладно елементи цього процесу будуть розглянуті в наступних статтях. Так в наступній статті будуть розглянуті взаємозв'язку між даними. А так же ми зупинимося більш детально на тому, як конкретні таблиці пов'язані і як деякі з них використовуються виключно для зберігання даних про взаємозв'язках.

джерело - http://habrahabr.ru/post/233479/

Дополнительная информация

rss
Карта