Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Consultas directas a la BD en Wordpress.

Estas en el tema de Consultas directas a la BD en Wordpress. en el foro de WordPress en Foros del Web. Buenas a todos, Estoy tratando de hacer consultas directas a la Base de Datos de Wordpress, pero no a través de los comandos propios sino ...
  #1 (permalink)  
Antiguo 16/10/2011, 13:44
 
Fecha de Ingreso: abril-2011
Mensajes: 72
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Consultas directas a la BD en Wordpress.

Buenas a todos,

Estoy tratando de hacer consultas directas a la Base de Datos de Wordpress, pero no a través de los comandos propios sino más bien con comandos SQL...

La consulta que trato de hacer es la siguiente:
Código PHP:
<?php
    
global $wpdb;
    
$tabla $wpdb->prefix."posts";
    
$cant $wpdb->get_var("SELECT COUNT(*) FROM $tabla WHERE post_status = 'pending' AND meta_value = 'alta'");
    
    
?>
Alguien sabe por qué no devuelve ningún resultado?
Mi objetivo es contar mediante consultas los resultados que cumplan con un parámetro meta personalizado introducido previamente.
Me he asegurado de que dicho campo exista, ya que puedo recuperarlo sin problemas mediante get_post_meta pero no sé como realizar las consultas para que me cuente los totales de resultados que contengan un meta_value determinado.

Antes que nada gracias a todos y mi admiración por vuestros conocimientos y generosidad.
  #2 (permalink)  
Antiguo 16/10/2011, 15:49
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 8 meses
Puntos: 656
Respuesta: Consultas directas a la BD en Wordpress.

Hola! Me puse a jugar un poco y llegué a esto:

Código PHP:
Ver original
  1. <?php
  2. global $wpdb;
  3. $cant = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->postmeta WHERE meta_value = 'image'");
  4. echo "cantidad de custom fields con valor image: ".$cant;     ?>

Fijate si lo podés adaptar para lo que necesitás.
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #3 (permalink)  
Antiguo 18/10/2011, 19:08
 
Fecha de Ingreso: abril-2011
Mensajes: 72
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Consultas directas a la BD en Wordpress.

Buenas Nekko,
ante todo muchas gracias por tu respuesta, pero me plantea un problema, y es que en realidad esa query es a todos los post que contengan ese post meta, independientemente de su estado, y yo solo quiero poner los que están pendientes.
He probado con ... $cant = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->postmeta WHERE post_status = 'pending' AND meta_value = 'alta'");
pero no ofrece resultado tampoco.
Tu respuesta me ha abierto un campo muy interesante para elaborar otras estadísticas, pero para lo que busco aún le falta algún matiz que no encuentro.
  #4 (permalink)  
Antiguo 18/10/2011, 19:55
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 9 meses
Puntos: 21
Respuesta: Consultas directas a la BD en Wordpress.

Intenta con esto:

Código PHP:
Ver original
  1. <?php
  2.             $post_id = the_ID();
  3.             $queried_post = get_post($post_id);
  4.            
  5.             echo $queried_post->post_title;
  6.             echo $queried_post->post_content;
  7. echo $queried_post->post_status;
  8. ?>
  9.  
  10. Con esto puedes obtener el status de un post. Quizas te sirva de base para llegar a cumplir tu objetivo...

//Esto me trae el contenido de "post_content" pero me imprime el id. Como quito el id number?

Ya lo resolví, con esta funcion <?php get_the_ID(); ?>
__________________
_

Última edición por opzina; 18/10/2011 a las 20:59
  #5 (permalink)  
Antiguo 19/10/2011, 19:39
 
Fecha de Ingreso: abril-2011
Mensajes: 72
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Consultas directas a la BD en Wordpress.

Gracias opzina, pero no quiero mostrarlos, en realidad solo quiero contarlos. Obtener el resultado numérico de la suma de todos los posts que cumplan con el requisito especificado.
En cristiano sería : Quiero una suma de todos los posts que contengan el valor "meta_value" en esta "meta_key".
Por eso estoy utilizando SELECT COUNT(*)...
Aún así tu respuesta también me ha abierto otros frentes por lo que te la agradezco profundamente.

Etiquetas: $wpdb, contar-resultados, meta_value, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:37.