Suggerimento rapido Messaggi popolari per numero di commenti Query SQL in WordPress

Avrai notato che i siti Tuts + hanno una sezione sulla home page in cui vengono elencati i post più popolari del mese, in base al conteggio dei commenti. Mentre ci sono numerosi plugin disponibili, è sempre meglio scrivere il codice da soli, se puoi. Troppa astrazione non è mai una buona cosa! Fortunatamente, una volta che impariamo come interrogare il database di WordPress, compiti come questo diventano un gioco da ragazzi!


Iscriviti alla nostra pagina YouTube per guardare tutti i tutorial video!

Preferisci guardare questo video su Screenr?


La query SQL

Per interrogare il database di WordPress, possiamo usare il $ Wpdb-> get_results () metodo. Come parametro, passiamo semplicemente una query SQL. In questo particolare esempio, diciamo che vogliamo solo visualizzare un elenco di post popolari nella nostra barra laterale. Possiamo usare la seguente query:

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

id, post_title, e COMMENT_COUNT le nostre colonne all'interno del database.

Poiché WordPress consente di impostare un prefisso personalizzato per le tabelle del database, è necessario recuperare tale prefisso in modo dinamico, utilizzando Wpdb-> prefix messaggi. In questo caso, ciò comporta "wp_posts". Successivamente, dobbiamo assicurarci di visualizzare solo post e non qualcos'altro, come allegati o pagine. Infine, ORDINA PER commento_count. Questo è il punto di tutto questo giusto? Mostra i post più commentati?

Ora che la nostra query SQL è stata eseguita, possiamo semplicemente utilizzare un'istruzione foreach per filtrare i risultati e visualizzarli sulla pagina.

 $ pop = $ wpdb-> get_results ("SELECT id, post_title, comment_count FROM $ wpdb-> prefisso post WHERE post_type =" post "ORDER BY comment_count DESC LIMIT 10"); foreach ($ pop come $ post):?> 
  • titolo del post; ?>
  • Nota che la variabile $ post avrà accesso a qualsiasi colonna che abbiamo recuperato. Nel nostro caso, avremmo accesso a:

    • $ post-> id: L'id del post
    • $ post-> post_title: Il titolo del post
    • $ post-> comment_count: Il numero di commenti per quel particolare post.

    Se hai bisogno del permalink, puoi anche selezionare SELECT dalla colonna "guid", oppure puoi semplicemente usare il get_permalink ($ post-> ID) metodo e passare di conseguenza l'id del post.

    Una volta che hai imparato come interagire direttamente con il database di WordPress, allora hai molto potere a tua disposizione; Questa è solo la punta dell'iceberg!


    Un'ultima cosa

    Questo tutorial è stato creato per dimostrare come interrogare specificamente le tabelle di WordPress nel database. Sinceramente, da WordPress 2.9, puoi ottenere questo effetto esatto usando query_posts () e passando orderby = 'COMMENT_COUNT'. Ma ricorda, tutto si riduce alla stessa cosa: passare una query SQL al database.

    Qualsiasi domanda? Grazie per la visione o la lettura!