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

Post de una categoría mediante sql

Estas en el tema de Post de una categoría mediante sql en el foro de WordPress en Foros del Web. Hola, Alguna idea para sacar post de una categoría determinada mediante una consulta mysql? Sé que hay que hacer un select que incluya las tablas ...
  #1 (permalink)  
Antiguo 03/05/2016, 08:25
 
Fecha de Ingreso: diciembre-2003
Mensajes: 474
Antigüedad: 20 años, 4 meses
Puntos: 5
Post de una categoría mediante sql

Hola,
Alguna idea para sacar post de una categoría determinada mediante una consulta mysql?

Sé que hay que hacer un select que incluya las tablas wp_post y wp_terms...

Gracias
  #2 (permalink)  
Antiguo 03/05/2016, 09:13
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 3 meses
Puntos: 193
Respuesta: Post de una categoría mediante sql

Debe ser SQL puro?

Por que no usas la clase WP_Query que te permite hacer justo lo que quieres y mucho mas.
  #3 (permalink)  
Antiguo 03/05/2016, 10:14
 
Fecha de Ingreso: diciembre-2003
Mensajes: 474
Antigüedad: 20 años, 4 meses
Puntos: 5
Respuesta: Post de una categoría mediante sql

Cita:
Iniciado por TMeister Ver Mensaje
Debe ser SQL puro?

Por que no usas la clase WP_Query que te permite hacer justo lo que quieres y mucho mas.
Investigo lo que me sugieres pero lo que necesito es conectar con la bd de mi blog para poner las entradas en mi otra web. Por seo no puedo usar wp_query. Gracias
  #4 (permalink)  
Antiguo 03/05/2016, 10:33
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 2 meses
Puntos: 1146
Respuesta: Post de una categoría mediante sql

Como bien mencionas debes hacer un select a la tabla post con join a terms y a term_relationships

No hay mayor complejidad que eso si es que solo tienes categorías como taxonomías o ya tienes bien definidos los ID de los terms que necesitas.

el wp_ es un acrónimo que puede ser distinto en cada instalación de wordpress, habrás de corroborar cual es el que utilizas en esa instalación.

En terms encontraras el nombre de las categorias y en term_relationships encontraras la relacion de post con terms
  #5 (permalink)  
Antiguo 03/05/2016, 11:14
 
Fecha de Ingreso: diciembre-2003
Mensajes: 474
Antigüedad: 20 años, 4 meses
Puntos: 5
Respuesta: Post de una categoría mediante sql

Cita:
Iniciado por ArturoGallegos Ver Mensaje
Como bien mencionas debes hacer un select a la tabla post con join a terms y a term_relationships

No hay mayor complejidad que eso si es que solo tienes categorías como taxonomías o ya tienes bien definidos los ID de los terms que necesitas.

el wp_ es un acrónimo que puede ser distinto en cada instalación de wordpress, habrás de corroborar cual es el que utilizas en esa instalación.

En terms encontraras el nombre de las categorias y en term_relationships encontraras la relacion de post con terms
Gracias, estoy probando este código y funciona bien, pero necesitaría conseguir también el thumbnail de las entradas:
Código PHP:
SELECT FROM wp_posts
    LEFT JOIN wp_term_relationships ON
    wp_posts
.ID wp_term_relationships.object_id
    LEFT JOIN wp_term_taxonomy ON
    wp_term_relationships
.term_taxonomy_id wp_term_taxonomy.term_taxonomy_id
    WHERE wp_posts
.post_status "publish"
    
AND wp_term_taxonomy.taxonomy "category"
    
AND wp_term_taxonomy.term_id 11
    ORDER BY post_date DESC LIMIT 3 
  #6 (permalink)  
Antiguo 03/05/2016, 13:41
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 2 meses
Puntos: 1146
Respuesta: Post de una categoría mediante sql

join con la tabla post meta, en esa tabla encontraras el ID de la Imagen, después tendrás que hacer un segundo select a la tabla post, ya sea dentro o fuera de la consulta actual para obtener la url.
  #7 (permalink)  
Antiguo 04/05/2016, 05:43
 
Fecha de Ingreso: diciembre-2003
Mensajes: 474
Antigüedad: 20 años, 4 meses
Puntos: 5
Respuesta: Post de una categoría mediante sql

Tengo los posts de una categoría por un lado:
Código:
SELECT wp_posts.* FROM  wp_posts

    LEFT JOIN wp_term_relationships ON
    wp_posts.ID = wp_term_relationships.object_id
 
    LEFT JOIN wp_term_taxonomy ON
    wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
 
 
    WHERE wp_posts.post_status = "publish"
    AND wp_term_taxonomy.taxonomy = "category"
    AND wp_term_taxonomy.term_id = 596
Y las imágenes por otro:

Código:
SELECT *
FROM wp_posts, wp_postmeta
WHERE wp_posts.ID = wp_postmeta.post_id
AND meta_key = "_wp_attached_file"
Pero no sé cómo unir los dos SELECT. Lo he intentado con LEFT JOIN y anidando un select dentro de otro pero no lo he conseguido...Sigo con ello
  #8 (permalink)  
Antiguo 22/06/2016, 17:26
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Respuesta: Post de una categoría mediante sql

Cita:
Iniciado por jota2 Ver Mensaje
... lo que necesito es conectar con la bd de mi blog para poner las entradas en mi otra web.
Simplemente coloca esto al principio de tu archivo externo php:

Código PHP:
Ver original
  1. define('WP_USE_THEMES', false);
  2. require('/ruta/absoluta/a/wp-blog-header.php');
Listo, ya puedes usar las funciones de WordPress en ese archivo.

Lee esto: https://codex.wordpress.org/Integrat...h_Your_Website

Última edición por metacortex; 04/07/2016 a las 05:39

Etiquetas: mediante, post, 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 06:07.