Consejo rápido consulta SQL Publicaciones populares por cuenta de comentarios en WordPress

Es posible que haya notado que los sitios de Tuts + tienen una sección en la página de inicio donde enumeramos las publicaciones más populares del mes, según el recuento de comentarios. Si bien hay numerosos complementos disponibles, siempre es mejor escribir el código usted mismo si puede. ¡Demasiada abstracción nunca es algo bueno! Afortunadamente, una vez que aprendemos cómo consultar la base de datos de WordPress, este tipo de tareas se convierten en un juego de niños.!


Suscríbete a nuestra página de YouTube para ver todos los videos tutoriales.!

Prefiero ver este video en Screenr?


La consulta SQL

Para consultar la base de datos de WordPress, podemos utilizar el $ wpdb-> get_results () método. Como parámetro, simplemente pasamos una consulta SQL. En este ejemplo en particular, digamos que solo queremos mostrar una lista de publicaciones populares dentro de nuestra barra lateral. Podemos utilizar la siguiente consulta:

 $ pop = $ wpdb-> get_results ("SELECT id, post_title, comment_count FROM $ wpdb-> prefix posts DONDE post_type =" post "ORDER BY comment_count DESC LIMIT 10");

id, post_title, y Recuento de comentarios nuestras columnas dentro de la base de datos.

Debido a que WordPress le permite establecer un prefijo personalizado para sus tablas de base de datos, necesitamos obtener ese prefijo de forma dinámica, usando wpdb-> prefix posts. En este caso, eso resulta en "wp_posts". A continuación, debemos asegurarnos de que solo mostramos publicaciones, y no cualquier otra cosa, como archivos adjuntos o páginas. Finalmente, ORDER BY comment_count. Ese es el punto de todo esto, ¿verdad? Muestra las publicaciones más comentadas.?

Ahora que nuestra consulta SQL se ha ejecutado, simplemente podemos usar una instrucción foreach para filtrar los resultados y mostrarlos en la página.

 $ pop = $ wpdb-> get_results ("SELECT id, post_title, comment_count FROM $ wpdb-> prefix posts DONDE post_type =" post "ORDER BY comment_count DESC LIMIT 10"); foreach ($ pop as $ post):?> 
  • título de la entrada; ?>
  • Tenga en cuenta que la variable $ post tendrá acceso a cualquiera de las columnas que obtuvimos. En nuestro caso, tendríamos acceso a:

    • $ post-> id: El id del post
    • $ post-> post_title: El título del post.
    • $ post-> comment_count: El número de comentarios para esa publicación en particular.

    Si necesita el enlace permanente, también puede SELECCIONAR desde la columna "guid", o simplemente puede usar el get_permalink ($ post-> id) Método, y pasar el ID de la publicación en consecuencia.

    Una vez que haya aprendido cómo interactuar directamente con la base de datos de WordPress, tendrá mucho poder a su disposición; Esto es solo la punta del iceberg.!


    Una última cosa

    Este tutorial se creó para demostrar cómo consultar específicamente las tablas de WordPress en la base de datos. Sinceramente, a partir de WordPress 2.9, puede lograr este efecto exacto utilizando query_posts () y pasando orderby = 'comment_count'. Pero recuerde, todo se reduce a lo mismo: pasar una consulta SQL a la base de datos.

    ¿Alguna pregunta? Gracias por ver o leer!