Consulta SQL personalizada para página de Wordpress
Soy bastante nuevo en Wordpress. Estoy intentando construir una vista de tabla dentro de una página de Wordpress. Para ello necesito una consulta SQL personalizada a mi base de datos MySQL.
- Consultar datos de mi base de datos MySQL
- Obtener el resultado en algún formato HTML para mostrarlo en una vista de tabla dentro de una página de Wordpress.
Mi pregunta es: ¿Cómo puedo usar la clase wpdb en una página de Wordpress cuando no es una opción poner código php en una página?
El objeto wpdb
puede usarse para ejecutar consultas arbitrarias contra la base de datos de WordPress. Digamos que quieres listar los 4 posts más recientes:
$results = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE `post_type`='post' LIMIT 4" );
La variable $wpdb->posts
mostrará el nombre de la tabla para posts. Normalmente es wp_posts
, pero si estás usando un prefijo personalizado para la base de datos, podría ser diferente.
Sin embargo, si estás intentando obtener datos de posts (o datos de posts personalizados, metainformación, datos de usuarios o... cualquier cosa integrada en WordPress), realmente deberías usar WP_Query
.
Aquí está la misma consulta de arriba, reescrita para WP_Query
:
$query = new WP_Query(
array(
'post_type' => 'post',
'posts_per_page' => 4
)
);
La ventaja de usar WP_Query
es que automáticamente se unirá a la tabla de metadatos y devolverá un array de objetos WP_Post
con los que podrás trabajar y recorrer.

<?php
global $wpdb;
$post_id = $wpdb->get_results("SELECT post_id FROM $wpdb->postmeta WHERE (meta_key = 'mfn-post-link1' AND meta_value = '". $from ."')");
print_r($post_id); /
?>
Define la variable global $wpdb luego realiza una consulta personalizada y pasa $wpdb->get_results();
