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.