get_results usando wpdb
Estoy tratando de recuperar información de mi base de datos. Quería mostrar todas las pages
usando esta declaración, pero estoy obteniendo un ARRAY
vacío
global $wpdb;
$result = $wpdb->get_results (
"
SELECT *
FROM $wpdb->wp_posts
WHERE post_type = 'page'
"
);
echo $result; // mostrar datos
Salida:
ARRAY
EDICIÓN: Después de cambiar las sugerencias de abajo, ahora estoy usando esto, pero aún no obtengo ningún resultado:
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/>';
}

global $wpdb;
// Obtener todos los resultados de la tabla de posts donde el tipo es 'page'
$result = $wpdb->get_results ( "
SELECT *
FROM $wpdb->posts
WHERE post_type = 'page'
" );
// Recorrer cada página y mostrar su ID y título
foreach ( $result as $page )
{
echo $page->ID.'<br/>';
echo $page->post_title.'<br/>';
}

hola @balamurugan, probé tu respuesta pero todavía no obtengo ningún resultado. Puedes ver mi parte [EDIT] arriba.

en realidad qué estás obteniendo y ¿eliminaste los ... de mi código? Lo probé y obtengo todos los IDs de página

estoy usando mi parte [edit] como se ve arriba de mi publicación original.
Intenté echo $result
solo para asegurarme de que estoy recuperando datos de la query
, lo que obtengo es que imprime Array
. Cuando uso echo $page->ID
no obtengo nada. Realmente no estoy seguro por qué...

simplemente copias y pegas ese código completamente. Eso es todo lo que hay que hacer para obtener el resultado.

¡sí, funcionó! cuando intenté revisar mi código y el tuyo, la única diferencia que vi es esta parte $tablename = $wpdb->prefix.'posts';
esta parte no estaba en la documentación del codex. ¿puedes explicarme por qué funciona?

Tienes un pequeño malentendido:
Cuando llamas a $wpdb
, obtienes una lista de propiedades que contienen los nombres principales de las tablas:
// El prefijo personalizado de wp-config.php
// solo se necesita para tablas personalizadas
$wpdb->prefix
// Tablas donde no necesitas un prefijo: las integradas:
$wpdb->posts
$wpdb->postmeta
$wpdb->users
Así que tu consulta final se vería algo así:
$wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE post_type = 'page'" );

+1 por esto, gracias. Pero necesitaba dar crédito a la persona que me respondió primero, él ya proporcionó la respuesta correcta, simplemente no pude seguir sus instrucciones.

Cuando dices "blank Array", ¿te refieres a un 'array vacío' o la salida es 'ARRAY'? Si es lo último, entonces esa es la salida esperada. Necesitas iterar sobre ese array y mostrar los resultados acorde.
Referencia: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
