За основу этой статьи взята статья из документации по WordPress, это ссылка на статью.
Для работы с базой используется класс wpdb. Методы этого класса не должны вызываться напрямую, для работы с этим классом WordPress использует глобальный объект (переменную) $wpdb. Этот объект может работать с объектами только в базе данных, где установлен WordPress.
Выполнение любого запроса, метод query
query — строка запроса, если это NULL, то метод вернет из кэша результаты прошлого запроса.
результат — функция вернет целое число, которое соответствует количеству возвращенных или обработанных записей. Если возникнет ошибка SQL, то функция вернет false. Надо иметь в виду, что может возвращено и 0 и false, используйте нужные операторы сравнения: equality == против identicality ===.
Надо иметь в виду, что как и все функции этого класса, которые выполняют SQL-запросы, необходимо сделать escape для параметра SQL:
Пример вызова функции:
$rez = $wpdb–>query($qu);
return rez;
Это пример удаления некоторой taxonomy у объекта.
Получение одной переменной из запроса SELECT
query — строка запроса, если это NULL, то метод вернет из кэша результаты прошлого запроса.
column_offset — целое (integer) число — номер колонки в recordest, по умолчанию 0.
row_offset — целое (integer) число — номер записи в recordset, по умолчанию 0.
SELECT COUNT(*) AS comments_amount
FROM soft.wp_comments w
WHERE comment_approved = 0
";
$comments_amount = $wpdb–>get_var($qu);
Это пример получения общего количества неподтвержденных комментариев.
Получение набора записей SELECT
query — строка запроса, если это NULL, то метод вернет из кэша результаты прошлого запроса.
output_type — одна из четырех констант, определяющая тип возвращаемого массива (array) результатов, по умолчанию используется OBJECT. Значения могут быть такими:
OBJECT — результат будет возвращен как нумерованный массив из объектов row.
OBJECT_K — результат будет возвращен как hash-массив из объектов row, в качестве hash-ключа будет использована первая колонка в запросе, дублирующие записи будут удалены, на наш взгляд наиболее удобный для использования параметр.
ARRAY_A — результат будет возвращен как нумерованный массив из hash-массивов в качестве hash-ключей будут использоваться названия колонок запроса.
ARRAY_N — результат будет возвращен как нумерованный массив с элементами из нумерованных массивов.