База данных WordPress


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

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

Как вы узнали на уроке о веб-серверах, WordPress использует MySQL. MySQL — это бесплатная система управления базами данных с открытым исходным кодом, которую используют многие популярные веб-приложения.

Взаимодействие с базой данных WordPress

Существует несколько способов напрямую взаимодействовать с базой данных WordPress.

Большинство локальных сред разработки или хостинг-компаний используют бесплатный инструмент под названием phpMyAdmin. phpMyAdmin — это веб-инструмент, который позволяет взаимодействовать с базой данных WordPress через веб-браузер.

Альтернативой phpMyAdmin является инструмент под названием Adminer. Adminer — это один PHP-файл, который можно загрузить на свой сайт; он предоставляет интерфейс, аналогичный phpMyAdmin. Некоторые хостинг-компании и локальные среды разработки предпочитают использовать Adminer вместо phpMyAdmin.

Наконец, если у вас нет доступа ни к одному из них, вы также можете установить плагин под названием SQL Buddy.

Это бесплатный плагин WordPress, который предоставляет интерфейс, аналогичный phpMyAdmin и Adminer, но работает внутри панели управления WordPress.

Если вы решите использовать SQL Buddy, не забудьте деактивировать и удалить плагин после завершения работы с ним. Оставленный установленным на сайте плагин может представлять угрозу безопасности.

Таблицы базы данных

В рамках этого урока мы будем использовать PhpMyAdmin для просмотра таблиц базы данных.

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

У каждой таблицы один и тот же префикс, который определяется в файле wp-config.php. По умолчанию префикс — wp_, но в процессе установки WordPress его можно изменить на любой другой.

Начнём с рассмотрения наиболее важных таблиц для управления содержимым.

wp_posts и wp_postmeta

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

wp_comments и wp_commentmeta

Таблица wp_comments хранит информацию о комментариях к вашим записям и страницам. Когда кто-либо оставляет комментарий к записи или странице, этот комментарий сохраняется именно в этой таблице. Каждая строка таблицы wp_comments представляет один комментарий. Таблица wp_commentmeta может хранить дополнительную информацию о каждом комментарии.

wp_user и wp_usermeta

Таблица wp_users хранит всю информацию о пользователях вашего сайта. Каждая строка таблицы wp_users представляет одного пользователя. Как и другие таблицы метаданных, таблица wp_usermeta может хранить дополнительную информацию о каждом пользователе.

Функции для взаимодействия с записями, комментариями и пользователями

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

Эти функции являются частью API базы данных WordPress.

Все эти функции можно найти с помощью функции поиска в документации разработчика WordPress, в разделе «Справочник по коду».

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

Существуют функция вставки, функция обновления и функция удаления.

Обычно они имеют одинаковое имя: префикс wp_, затем действие, а затем название таблицы.

Рассмотрим, например, эти функции для записей:

  • wp_insert_post — функция для создания новой записи
  • wp_update_post — функция для обновления существующей записи
  • wp_delete_post — функция для удаления записи

Затем обычно существуют функции для получения либо всех записей из таблицы, либо одной записи.

Обычно они имеют одинаковое имя: префикс get_, за которым следует имя таблицы в единственном или множественном числе.

Например, get_posts — функция для получения набора записей.

А get_post — функция для получения одной записи.

Каждая из этих функций обычно имеет ряд параметров, которые можно использовать для фильтрации возвращаемых результатов.

Кроме того, существуют функции для взаимодействия с таблицами метаданных — обычно для добавления, обновления или удаления метаполей.

Обычно они имеют одинаковое имя: действие, затем название таблицы в единственном числе, а затем _meta.

Например, для записей add_post_meta — функция для добавления метаполя.

Аналогично, update_post_meta — функция для обновления метаполя, а delete_post_meta — функция для удаления метаполя.

wp_terms, wp_termmeta, wp_term_relationships и wp_term_taxonomy

Таблицы wp_terms, wp_termmeta, wp_term_relationships и wp_term_taxonomy управляют рубриками и метками на вашем сайте WordPress.

Таблица wp_terms хранит информацию о терминах вашего сайта. Каждая строка таблицы wp_terms представляет один термин. Внутри WordPress и рубрики, и метки являются терминами.

То, будут ли они рубрикой или меткой, определяется таксономией, с которой они связаны; эта информация хранится в таблице wp_term_taxonomy.

Таблица wp_term_relationships хранит связи между терминами и родительскими объектами — будь то запись, страница или пользовательский тип записи.

Наконец, таблица wp_termmeta может хранить дополнительную информацию о каждом термине.

Функции для взаимодействия с терминами и таксономиями

Как и для взаимодействия с записями, комментариями и пользователями, существуют функции для взаимодействия с терминами и таксономиями. Их можно найти, выполнив поиск по словам «term» или «taxonomy» в справочнике по коду WordPress.

wp_options

Таблица wp_options хранит информацию о настройках вашего сайта. Каждая строка таблицы wp_options представляет определённую настройку. Например, параметр siteurl хранит URL вашего сайта, а параметр blogdescription — описание или слоган вашего сайта. Таблица wp_options также хранит информацию об активной теме и активных плагинах вашего сайта.

Данные в таблице wp_options хранятся в формате «ключ — значение». Ключом является имя параметра, а значением — значение этого параметра.

В таблице wp_options также можно хранить сериализованные данные. Сериализованные данные — это строка, содержащая несколько значений. Сериализованные данные часто используются для хранения массивов и объектов. Хорошим примером является список активных плагинов, который хранится в виде сериализованного массива.

Функции для взаимодействия с параметрами

Options API обычно используется вместе с Settings API для создания страниц настроек панели управления WordPress — посредством ядра, плагинов или тем. Options API предоставляет функции для взаимодействия с таблицей wp_options, такие как add_option, update_option и delete_option.

wp_links

Таблица wp_links хранит информацию о ссылках вашего сайта. Ссылки были функцией, которая была удалена из WordPress в версии 3.5.

Однако, поскольку эту функциональность всё ещё можно повторно включить с помощью плагина Links Manager, таблица сохранилась для обратной совместимости.

Заключение

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