Estoy tratando de recuperar información en mi base de datos. Quería mostrar todo pagesusando esta declaración, pero estoy obteniendo un espacio en blancoARRAY
global $wpdb;
$result = $wpdb->get_results (
"
SELECT *
FROM $wpdb->wp_posts
WHERE post_type = 'page'
"
);
echo $result; // display data
Salida:
ARRAY
EDITAR : después de cambiar las sugerencias a continuación, ahora estoy usando esto. pero todavía 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/>';
}

$wpdb->wp_postscon llaves, es decir.{$wpdb->wp_posts}..Respuestas:
fuente
echo $resultde asegurarme de que estoy recuperando datos dequerylo que obtengo es imprimirArray. cuando usoecho $page->IDno obtengo nada. Realmente no estoy seguro de por qué ..$tablename = $wpdb->prefix.'posts';esta parte no estaba en la documentación del Codex. ¿Puedes explicarme por qué funciona?Tienes un ligero malentendido:
Al llamar
$wpdb, obtiene una lista de propiedades que contienen los nombres principales de las tablas:Entonces su consulta final se vería así :
fuente
$wpdb->prefixno debería usarse para tablas integradas. Solo llámalos directamente. Corregido, esta es su respuesta también.Prueba el siguiente código. Me enfrenté al problema similar y lo resolví eliminando $ wpdb del campo 'DESDE'.
fuente
Por "matriz en blanco" se refiere a una 'matriz vacía' o es la salida 'ARRAY'. Si es lo último, entonces, es el resultado esperado. Debe recorrer esa matriz y mostrar los resultados en consecuencia.
Referencia: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
fuente