Stai cercando un modo per visualizzare i post più popolari utilizzando i meta dei post di visualizzazione? Sebbene esista probabilmente un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per visualizzare i post più popolari utilizzando i meta dei post di visualizzazione in WordPress.
Potrebbe anche essere necessario verificare come tracciare le visualizzazioni dei post senza un plugin utilizzando i meta dei post.
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file index.php del tuo tema:
<?
query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC');
?>
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: Le 10 migliori società di web hosting e come scegliere il miglior registrar di nomi di dominio.
Grazie per i suggerimenti
Grazie per i tuoi consigli! Molto bello
Ciao Kevin, come faccio a visualizzare solo i più popolari di "oggi"?
Grazie ma non riesco a usare questi suggerimenti. Per favore aiutami con un tocco semplice. Grazie fratello
Come visualizzare i post popolari relativi a una categoria specifica nelle pagine dei post?? E come organizzare quel widget se lo aggiungiamo tramite functions.php??
Aggiungi semplicemente &cat= dopo DESC e inserisci il numero ID per la categoria.
è fantastico, grazie mille... ho problemi con la navigazione delle pagine (next_posts_link/previous_posts_link) mostra la giusta quantità di post ma lo stesso post in ogni pagina. come posso risolvere questo?? per favore aiutami!
grazie!
È difficile dirlo senza vedere il codice coinvolto. Ti suggerirei di inviarmi un'email e darò un'occhiata veloce. http://wpsnipp.com/index.php/contact/
Sei mai riuscito a risolvere il problema con questo utente? Sto avendo lo stesso problema nella mia pagina dei post popolari. Tutte le pagine paginate mostrano gli stessi post popolari della prima pagina.
[...] Abbiamo un bel piccolo tutorial qui su Come visualizzare i tuoi post più popolari negli ultimi 30 giorni. Anche WPSnipp.com ha un buon articolo sulla visualizzazione dei post popolari utilizzando i dati delle visualizzazioni dei post. [...]
ottengo solo due post nei risultati. sebbene abbia passato posts_per_page=5 alla query dei post.
sotto c'è il mio ciclo. Potresti per favore farmi sapere dove sto sbagliando?
query_posts(‘meta_key=views&orderby=views&order=DESC&posts_per_page=5”)
Ho provato anche la tua query dei post ma ho ottenuto lo stesso risultato. Solo due post nell'output.
quella query sembra a posto, darei ovviamente per scontato che tu abbia più di 2 post. Potrebbe essere qualche altro codice nel tuo template.
Questo perché solo due dei tuoi post sono stati visualizzati e hanno effettivamente un campo personalizzato intitolato "views" creato. Ho avuto lo stesso problema. Una volta che un post veniva visualizzato per la prima volta, appariva nella pagina della categoria.
Ho provato questo codice da usare in un sito web che sto costruendo, ma per qualche strana ragione aggiornava sempre 2 post, sempre, e in modo un po' casuale, era sempre lo stesso, ma in alcuni tentativi, è cambiato, non so davvero perché.
Cercando online, ho trovato qualcuno che usava global $post; e $post_id = (int)$post->ID; per ottenere l'ID del post da usare su update_post_meta(); Quindi ho cambiato il mio codice, e ora tutto è a posto.
Ciao Rafael, Interessante hhhmmmm, anche alcune persone hanno detto che hanno avuto problemi, mi chiedo se questo lo risolverebbe. Testerò le cose e farò un aggiornamento. Grazie per le informazioni….
Ciao, ho provato a integrare questo snippet nella mia pagina, ma funziona solo a metà di come dovrebbe. Ogni volta che un post viene cliccato, lo snippet mostra anche il post successivo a quello come visualizzato da qualcuno. Spero che tu capisca cosa intendo 😉
Bene, questo snippet funziona con lo snippet seguente per salvare le visualizzazioni in postmeta, http://wpsnipp.com/index.php/functions-php/track-post-views-without-a-plugin-using-post-meta/
Quindi se hai entrambi impostati dovrebbe funzionare bene. Lo snippet sopra ti permette solo di ordinare i post per numero di visualizzazioni se hai entrambi gli snippet impostati.
Grazie per la tua risposta. (Sfortunatamente) ho entrambi impostati e non funziona. È piuttosto strano per me…
che versione di wordpress stai attualmente usando l'ho testato in un'installazione pulita 3.1.2. Potrebbe essere uno dei tuoi plugin che causa problemi.
che versione di wordpress stai attualmente usando l'ho testato in un'installazione pulita 3.1.2. Potrebbe essere uno dei tuoi plugin che causa problemi.
Sto usando la 3.1.1. Ma non credo ci sia una differenza significativa tra le due, vero?
No, la 3.1.1 non dovrebbe essere un problema, ciò che potrebbe causare un problema è un plugin
Risolvo il mio problema:
orderby=post_views_count deve essere cambiato in orderby=meta_value_num meta_value_num è stato aggiunto al core un po' di tempo fa: http://core.trac.wordpress.org/ticket/10649Robert
Ahh ok, sono contento che tu abbia risolto. Puoi postare un nuovo link al bug? Ricevo un errore di "non trovato".
In realtà ha ragione. Ho ottenuto solo post casuali usando questo codice e cambiare l'orderby in meta_value_num ha effettivamente risolto il problema. Grazie
Daniel, hai ragione, ho fatto dei test e ho appena aggiornato il post, grazie ancora per il tuo contributo.
L'ordinamento non funziona correttamente. I miei post sono ordinati così: 9,8,7,6,5,4,3,2,1,10,11,12 ecc.
Hai qualche idea per ottenere l'ordine corretto: 12,11,10,9,8...?
Con una piccola modifica può funzionare anche con wp-comments, dato che utilizza lo stesso metodo:
query_posts('meta_key=views&orderby=views&order=DESC');
Non ho familiarità con wp-comments, è un plugin?
Come si imposta per mostrare i post più popolari di oggi, questa settimana o questo mese?
Questo è per sempre, presumo.
Grazie.
Puoi semplicemente aggiungere un piccolo pezzo a query_post &monthnum=’ . date( ‘n’, current_time( ‘timestamp’ ) )
query_posts(‘meta_key=post_views_count&orderby=post_views_count&order=DESC&monthnum=’ . date( ‘n’, current_time(‘timestamp’))’);
Caro Kevin, ho provato questi ma non funzionano, ecco il mio codice
per favore aiutami
questi ma non funziona ecco il mio codice
query_posts(‘meta_key=post_views_count&orderby=post_views_count&order=DESC&monthnum=’ . date( ‘n’, current_time(‘timestamp’))); if ( have_posts() ) : while ( have_posts() ) : the_post();
Caro Kevin, ho provato
per favore aiutami
il tuo valore orderby non è corretto,
per favore rispondi a Yashmistrey Kevin !!
Sangeeta, l'ho fatto, nello snippet sopra puoi vedere
orderby=meta_value_num
Grazie
[…] <? query_posts('meta_key=post_views_count&orderby=post_views_count&order=DESC'); ?> Fonte →Breadcrumbs senza pluginI breadcrumbs possono essere una tecnica di navigazione utile che offre un link a […]
Capito!
Ecco il mio codice.
Fantastico, sono contento che tu abbia risolto, questo è un link ad alcuni codici di esempio che potresti usare anche tu,
http://wpsnipp.com/wp-content/uploads/2011/03/post-views-per-page.txt
Non riesco a farlo funzionare
Così?
‘dropzone’, ‘posts_per_page’ => 2) ); ?>
have_posts() ) : $loop->the_post(); ?>
Ciao Alec,
Se vuoi limitare il numero di post dovresti fare così
http://wpsnipp.com/wp-content/uploads/2011/03/posts-per-page-post-views.txt