Stai cercando un modo per tracciare le visualizzazioni dei post senza un plugin utilizzando i metadati dei post? Sebbene probabilmente esista un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per tracciare le visualizzazioni dei post senza un plugin utilizzando i metadati dei post in WordPress.
Istruzioni:
Aggiungi questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
function getPostViews($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 View";
}
return $count.' Views';
}
function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
// Remove issues with prefetching adding extra views
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
Facoltativamente, aggiungi anche questo codice a una colonna nell'area di amministrazione di WordPress che visualizza le visualizzazioni dei post:
// Add to a column in WP-Admin
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
function posts_column_views($defaults){
$defaults['post_views'] = __('Views');
return $defaults;
}
function posts_custom_column_views($column_name, $id){
if($column_name === 'post_views'){
echo getPostViews(get_the_ID());
}
}
Questa parte del codice di tracciamento delle visualizzazioni imposterà le visualizzazioni dei post. Posiziona semplicemente questo codice di seguito all'interno del file single.php all'interno del Loop di WordPress.
<?php
setPostViews(get_the_ID());
?>
Nota sulla cache dei frammenti: Se stai utilizzando un plugin di caching come W3 Total Cache, il metodo sopra per impostare le visualizzazioni non funzionerà poiché la funzione setPostViews() non verrebbe mai eseguita. Tuttavia, W3 Total Cache ha una funzionalità chiamata fragment caching. Invece di quanto sopra, usa quanto segue in modo che setPostViews() venga eseguito correttamente e tracci tutte le tue visualizzazioni dei post anche quando hai la cache abilitata.
<!-- mfunc setPostViews(get_the_ID()); --><!-- /mfunc -->
Il codice seguente è facoltativo. Usa questo codice se desideri visualizzare il numero di visualizzazioni all'interno dei tuoi post. Posiziona questo codice all'interno del Loop.
<?php
echo getPostViews(get_the_ID());
?>
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 possibilità di consultare i nostri altri articoli sul sito come: 10 migliori plugin per testimonianze di WordPress e come impostare il tracciamento dell'autore in WordPress con Google Analytics.
Potresti aiutarmi a stilizzare l'output di echo? Voglio inserire il conteggio delle visualizzazioni nel mio loop e ci sono riuscito perfettamente, ma come aggiungo un CSS all'output per il testo? Qualche idea al riguardo. Grazie
Potresti aiutarmi a stilizzare l'output di echo? Voglio inserire il conteggio delle visualizzazioni nel mio loop e ci sono riuscito perfettamente, ma come aggiungo un CSS all'output per il testo? Qualche idea al riguardo. Grazie
Potresti aiutarmi a stilizzare l'output di echo? Voglio inserire il conteggio delle visualizzazioni nel mio loop e ci sono riuscito perfettamente, ma come aggiungo un CSS all'output per il testo? Qualche idea al riguardo. Grazie
Potresti aiutarmi a stilizzare l'output di echo? Voglio inserire il conteggio delle visualizzazioni nel mio loop e ci sono riuscito perfettamente, ma come aggiungo un CSS all'output per il testo? Qualche idea al riguardo. Grazie
Potresti aiutarmi a stilizzare l'output di echo? Voglio inserire il conteggio delle visualizzazioni nel mio loop e ci sono riuscito perfettamente, ma come aggiungo un CSS all'output per il testo? Qualche idea al riguardo. Grazie
Potresti aiutarmi a stilizzare l'output di echo? Voglio inserire il conteggio delle visualizzazioni nel mio loop e ci sono riuscito perfettamente, ma come aggiungo un CSS all'output per il testo? Qualche idea al riguardo. Grazie
Potresti aiutarmi a stilizzare l'output di echo? Voglio inserire il conteggio delle visualizzazioni nel mio loop e ci sono riuscito perfettamente, ma come aggiungo un CSS all'output per il testo? Qualche idea al riguardo. Grazie
Il suo conflitto con w3 total cache, i conteggi aumentano automaticamente sul mio blog. Se qualcuno visita uno dei miei post, aumentano anche i conteggi degli altri post. Ci sono soluzioni per questo tipo di conflitto?
Se guardi il primo snippet in basso abbiamo quanto segue
il prefetching con alcuni browser può aggiungere visualizzazioni a post non visualizzati.
// Rimuove i problemi con il prefetching che aggiunge visualizzazioni extra
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0);
L'altra cosa da tenere a mente è che questo snippet non è configurato per funzionare bene con i plugin di cache
Quindi non posso essere sicuro con molti più test quanto bene funzionerà.
Se guardi il primo snippet in basso abbiamo quanto segue
il prefetching con alcuni browser può aggiungere visualizzazioni a post non visualizzati.
// Rimuove i problemi con il prefetching che aggiunge visualizzazioni extra
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0);
L'altra cosa da tenere a mente è che questo snippet non è configurato per funzionare bene con i plugin di cache
Quindi non posso essere sicuro con molti più test quanto bene funzionerà.
Se guardi il primo snippet in basso abbiamo quanto segue
il prefetching con alcuni browser può aggiungere visualizzazioni a post non visualizzati.
// Rimuove i problemi con il prefetching che aggiunge visualizzazioni extra
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0);
L'altra cosa da tenere a mente è che questo snippet non è configurato per funzionare bene con i plugin di cache
Quindi non posso essere sicuro con molti più test quanto bene funzionerà.
grazie per il codice. L'ho aggiornato per funzionare anche con la cache e senza usare funzioni di wordpress ma alterando direttamente la tabella post_meta. Qualcuno è interessato a questi aggiornamenti?
Ciao Yves Jeanrenaud Penso che a molte persone su wpsnipp piacerebbe. Se invii lo snippet insieme ad alcuni dettagli, dominio, ecc. In questo modo possiamo darti credito, sarebbe fantastico.
http://wpsnipp.com/index.php/contribute/
ok, lo farò 🙂
ciao Yves, puoi condividere il tuo codice? questo snippet sembra non funzionare bene, come ha detto Tam 'Heisenberg' Nguyen, anche le mie statistiche non corrispondono.
ciao Yves, puoi condividere il tuo codice? questo snippet sembra non funzionare bene, come ha detto Tam 'Heisenberg' Nguyen, anche le mie statistiche non corrispondono.
ciao Yves, puoi condividere il tuo codice? questo snippet sembra non funzionare bene, come ha detto Tam 'Heisenberg' Nguyen, anche le mie statistiche non corrispondono.
Ciao, puoi per favore condividere il codice qui. Uso WP Super Cache e ho problemi con il contatore.
Ho fatto
Ciao Yves,
Non credo di aver mai ricevuto il codice da te, mandami un'email su contribute e ti contatterò tramite gmail così potrai inviarlo di nuovo se non ti dispiace. Penso che il codice potrebbe essere stato il problema nell'inviarlo tramite il modulo email.
oh davvero? colpa mia. Lo invierò di nuovo.
Codice eccellente, grazie Kevin. Mi stavo chiedendo se hai provato a usarlo nei profili degli autori? Sto pensando di provare a usare un'altra versione di questo codice per memorizzare valori nei metadati degli autori e contare le visite alle loro pagine del profilo.
Grazie!
Ciao Abdulrahman Hariri,
No, non l'ho provato personalmente nei profili autore, tuttavia non vedo alcun motivo per cui non dovrebbe funzionare. A parte l'aggiornamento dei meta utente anziché dei meta post, dovrebbe funzionare bene.
L'ho provato e funziona :). Grazie mille per le informazioni!
Codice eccellente, grazie Kevin. Mi stavo chiedendo se hai provato a usarlo nei profili degli autori? Sto pensando di provare a usare un'altra versione di questo codice per memorizzare valori nei metadati degli autori e contare le visite alle loro pagine del profilo.
Grazie!
È possibile ottenere il conteggio dei visualizzatori del profilo con questo codice?
È possibile ottenere il conteggio dei visualizzatori del profilo con questo codice?
[...] Traccia le visualizzazioni dei post utilizzando i meta dei post [...]
È possibile modificare il 'trigger' dell'incremento? ad esempio, fare in modo che determinati link all'interno del post aumentino il valore del meta del post ogni volta che vengono cliccati. Con questo, forse possiamo usare questo fantastico snippet per altri usi. (es: quante volte il nostro link di download è stato cliccato)
Amico, come fare per farlo funzionare anche in cima ai post più visitati con questo codice qui sotto nei tuoi script?
Se ho un campo personalizzato chiamato 'views' e supera le 100 visualizzazioni, come posso mostrare un messaggio specifico in un template?
È perfetto. Esattamente quello che stavo cercando.
Hai organizzato lo snippet di codice in modo molto ordinato e facile da capire. Ora ho il conteggio delle visualizzazioni dei post sul mio blog. Grazie
Fantastico, funziona perfettamente!
Questo è fantastico, grazie un milione
buono a sapersi, 3q….
grazie
Grazie per il fantastico snippet. C'è un modo per accumulare tutte le visite precedenti a ciascuno dei miei post con il conteggio delle visualizzazioni del post corrente?
È possibile reimpostare questo contatore? Diciamo che voglio mostrare i miei "post più popolari della settimana". Ogni settimana le visualizzazioni dei post vengono reimpostate a 0.