Использование get_results с wpdb
Я пытаюсь получить информацию из базы данных. Я хотел отобразить все страницы
используя этот запрос, но получаю пустой МАССИВ
global $wpdb;
$result = $wpdb->get_results (
"
SELECT *
FROM $wpdb->wp_posts
WHERE post_type = 'page'
"
);
echo $result; // отображение данных
Вывод:
ARRAY
РЕДАКТИРОВАНИЕ: После внесения предложенных изменений, я теперь использую следующий код, но все равно не получаю никаких результатов:
global $wpdb;
$posts = $wpdb->wp_posts;
$result = $wpdb->get_results( " SELECT * FROM $posts WHERE 'post_type' = 'page' " );
foreach ($result as $page) {
echo $page->ID.'<br/>';
}

Привет @balamurugan, я попробовал твой ответ, но до сих пор не получаю никаких результатов. Ты можешь посмотреть мою часть [EDIT] выше.

Собственно, что ты получаешь и убрал ли ты ... из моего кода. Я проверил его и получаю все ID страниц.

Я использую свою часть [EDIT], как видно выше моего оригинального поста.
Я попробовал echo $result
просто чтобы убедиться, что получаю данные из query
, но получаю вывод Array
. Когда я использую echo $page->ID
, я не получаю ничего. Я действительно не понимаю почему...

вам просто нужно полностью скопировать и вставить этот код. Это всё, что нужно сделать для получения результата.

да, это сработало! когда я сравнивал свой код и ваш, единственное отличие, которое я заметил, это часть $tablename = $wpdb->prefix.'posts';
этой части не было в документации codex. Можешь объяснить, почему это работает?

У вас небольшое недопонимание:
При обращении к $wpdb
вы получаете список свойств, содержащих основные названия таблиц:
// Пользовательский префикс из wp-config.php
// нужен только для пользовательских таблиц
$wpdb->prefix
// Таблицы, где префикс не нужен: встроенные таблицы:
$wpdb->posts
$wpdb->postmeta
$wpdb->users
Таким образом, ваш итоговый запрос будет выглядеть примерно так:
$wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE post_type = 'page'" );

+1 за это, спасибо. Но я должен был отдать должное тому, кто ответил мне первым, он уже предоставил правильный ответ, я просто не смог следовать его инструкциям.

Под "пустым массивом" вы имеете в виду 'пустой массив' или вывод 'ARRAY'? Если последнее, то это ожидаемый результат. Вам нужно пройтись по этому массиву и отобразить результаты соответствующим образом.
Ссылка: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
