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