Consulta SQL personalizada para página de Wordpress

3 may 2013, 17:08:48
Vistas: 47.8K
Votos: 7

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.

  1. Consultar datos de mi base de datos MySQL
  2. 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?

6
Comentarios

Utiliza la clase wpdb para consultas personalizadas en WordPress. También podrías probar con la clase WP_Query.

RRikesh RRikesh
3 may 2013 17:12:12

Por favor edita tu pregunta para explicar exactamente lo que intentas lograr. Decirnos que quieres extraer datos de MySQL a una página de WordPress es demasiado vago para que recibas ayuda útil.

Pat J Pat J
3 may 2013 17:18:20

Se espera que hayas investigado el problema e intentado resolverlo antes de publicar una pregunta. Revisa la página del Codex sobre shortcodes para empezar. Esta pregunta es bastante amplia y parece varias preguntas en una. Ver también: cómo hacer una buena pregunta

s_ha_dum s_ha_dum
3 may 2013 17:19:50

He editado mi pregunta y sé que la wpdb_class es de alguna manera la respuesta, pero ¿dónde necesito poner el código php que se requiere para usar la wpdb_class? Como supongo que debe colocarse en algún lugar fuera de la página de WordPress, necesito obtener los resultados transferidos de alguna manera desde ese lugar a la página de WordPress.

user32354 user32354
3 may 2013 17:28:19

Puedes escribir un plugin de WordPress, o puedes insertar tu código en el archivo functions.php de tu tema. Permitir que el código PHP se agregue directamente en el editor de WP es una pesadilla de seguridad, por decir lo menos.

Pat J Pat J
3 may 2013 17:41:35

@Pat J: Digamos que he creado mi plugin como se describe. ¿Cómo muestro ahora el resultado de la consulta de ese plugin en una página de WordPress?

user32354 user32354
3 may 2013 18:43:16
Mostrar los 1 comentarios restantes
Todas las respuestas a la pregunta 2
0
11

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.

3 may 2013 18:08:39
2
<?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();

9 nov 2020 12:26:03
Comentarios

Por favor [edita] tu respuesta, y añade una explicación: ¿por qué eso podría resolver el problema?

fuxia fuxia
9 nov 2020 15:38:44

Con esta consulta puedes usarla en cualquier parte de WordPress para obtener datos dentro de WordPress

Gurpreet Singh Gurpreet Singh
10 nov 2020 08:11:19