wpdb::get_var()
Получает значение одной ячейки из результата запроса. По умолчанию берется первая ячейка — это первая колонка и первая строка.
Если результат запроса содержит больше одной колонки и/или больше одной строки, то будет возвращено значение указанной ячейки (указывается во 2 и 3 параметрах). Так, чтобы получить значение второй ячейки из второй строки результата запроса, нужно указать второй и третий параметры: $column_offset = 1, $row_offset = 1.
Если вызывать метод без запроса: $query = null, то вернется значение указанной ячейки из предыдущего запроса.
Метод класса: wpdb{}
Хуков нет.
Возвращает
string|null. Значение ячейки таблицы базы данных в виде строки.
значение ячейки— если запрос получает значение одной ячейки (колонки в строке).значение первой ячейки первой колонки— если запрос получает одну строку и несколько колонок.значение первой ячейки первой строки и колонки— если запрос получает несколько строк и колонок.NULL— когда результата нет.
Использование
global $wpdb; $wpdb->get_var( $query, $x, $y );
- $query(строка/null)
- Запрос который нужно выполнить. Можно установить этот параметр в значение
null, тогда функция вернет результат последнего запроса, который был выполнен классом (сохранился в переменной). - $x(число)
- Нужная колонка (отступ по колонкам). по умолчанию 0 - первая колонка.
- $y(число)
- Нужная строка (отступ по строкам). по умолчанию 0 - первая строка.
Примеры
#1 Выведем на экран количество пользователей
$user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users;" ); echo '<p>Количество пользователей равно: ' . $user_count . '</p>';
#2 Выведем на экран сумму значений определенных произвольных полей
// определяем произвольный ключ, который нужно посчитать $meta_key = 'miles'; $allmiles = $wpdb->get_var($wpdb->prepare( "SELECT sum(meta_value) FROM $wpdb->postmeta WHERE meta_key = %s", $meta_key )); echo '<p>Общее количество произвольных полей miles: '.$allmiles . '</p>';
#3 Набор выводов статистики блога
# Общее Количество авторов блога
function get_totalauthors() {
global $wpdb;
$totalauthors = intval( $wpdb->get_var(
"
SELECT COUNT(ID) FROM $wpdb->users
LEFT JOIN $wpdb->usermeta ON $wpdb->usermeta.user_id = $wpdb->users.ID
WHERE $wpdb->users.user_activation_key = '' AND $wpdb->usermeta.meta_key = '{$wpdb->prefix}user_level' AND (meta_value+0.00) > 1
"
) );
return $totalauthors;
}
# Общее Количество постов
function get_totalposts(){
global $wpdb;
$totalposts = intval( $wpdb->get_var(
"SELECT COUNT(ID) FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish'"
) );
return $totalposts;
}
# Общее Количество страниц
function get_totalpages() {
global $wpdb;
$totalpages = intval( $wpdb->get_var(
"SELECT COUNT(ID) FROM $wpdb->posts WHERE post_type = 'page' AND post_status = 'publish'"
));
return $totalpages;
}
# Общее Количество комментариев
function get_totalcomments() {
global $wpdb;
$totalcomments = intval( $wpdb->get_var(
"SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = '1'"
));
return $totalcomments;
}
# Общее Количество комментаторов
function get_totalcommentposters() {
global $wpdb;
$totalcommentposters = intval($wpdb->get_var(
"SELECT COUNT(DISTINCT comment_author) FROM $wpdb->comments WHERE comment_approved = '1' AND comment_type = ''"
));
return $totalcommentposters;
}
# Общее Количество ссылок
function get_totallinks() {
global $wpdb;
$totallinks = intval( $wpdb->get_var("SELECT COUNT(link_id) FROM $wpdb->links") );
return $totallinks;
}Список изменений
| С версии 0.71 | Введена. |