Căutați o modalitate de a urmări vizualizările postărilor fără un plugin, folosind meta-ul postării? Deși probabil există un plugin pentru asta, am creat o scurtă secvență de cod pe care o puteți folosi pentru a urmări vizualizările postărilor fără un plugin, folosind meta-ul postării în WordPress.
Instrucțiuni:
Adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:
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);
Opțional, adăugați și acest cod la o coloană în administratorul WordPress care afișează vizualizările postărilor:
// 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());
}
}
Această parte a codului de urmărire a vizualizărilor va seta numărul de vizualizări ale postării. Plasați acest cod mai jos, în fișierul single.php, în interiorul buclei WordPress.
<?php
setPostViews(get_the_ID());
?>
Notă despre fragment caching: Dacă utilizați un plugin de caching precum W3 Total Cache, metoda de mai sus pentru setarea vizualizărilor nu va funcționa, deoarece funcția setPostViews() nu va fi rulată niciodată. Cu toate acestea, W3 Total Cache are o funcție numită fragment caching. În loc de cele de mai sus, folosiți următoarele pentru ca setPostViews() să ruleze corect și să urmărească toate vizualizările postărilor dvs., chiar și atunci când aveți caching activat.
<!-- mfunc setPostViews(get_the_ID()); --><!-- /mfunc -->
Codul de mai jos este opțional. Folosiți acest cod dacă doriți să afișați numărul de vizualizări în cadrul postărilor dvs. Plasați acest cod în interiorul buclei.
<?php
echo getPostViews(get_the_ID());
?>
Notă: Dacă este prima dată când adăugați secvențe de cod în WordPress, consultați ghidul nostru despre cum să copiați / lipiți corect secvențe de cod în WordPress, pentru a nu vă defecta accidental site-ul.
Dacă v-a plăcut acest fragment de cod, vă rugăm să consultați și celelalte articole de pe site, cum ar fi: cele mai bune 10 pluginuri de testimoniale WordPress și cum să configurați urmărirea autorilor în WordPress cu Google Analytics.
Ai putea să mă ajuți cu stilizarea ieșirii echo. Vreau să pun numărul de vizualizări în bucla mea și am reușit perfect, dar cum adaug un CSS la ieșire pentru text? Aveți idei despre asta. Mulțumesc
Ai putea să mă ajuți cu stilizarea ieșirii echo. Vreau să pun numărul de vizualizări în bucla mea și am reușit perfect, dar cum adaug un CSS la ieșire pentru text? Aveți idei despre asta. Mulțumesc
Ai putea să mă ajuți cu stilizarea ieșirii echo. Vreau să pun numărul de vizualizări în bucla mea și am reușit perfect, dar cum adaug un CSS la ieșire pentru text? Aveți idei despre asta. Mulțumesc
Ai putea să mă ajuți cu stilizarea ieșirii echo. Vreau să pun numărul de vizualizări în bucla mea și am reușit perfect, dar cum adaug un CSS la ieșire pentru text? Aveți idei despre asta. Mulțumesc
Ai putea să mă ajuți cu stilizarea ieșirii echo. Vreau să pun numărul de vizualizări în bucla mea și am reușit perfect, dar cum adaug un CSS la ieșire pentru text? Aveți idei despre asta. Mulțumesc
Ai putea să mă ajuți cu stilizarea ieșirii echo. Vreau să pun numărul de vizualizări în bucla mea și am reușit perfect, dar cum adaug un CSS la ieșire pentru text? Aveți idei despre asta. Mulțumesc
Ai putea să mă ajuți cu stilizarea ieșirii echo. Vreau să pun numărul de vizualizări în bucla mea și am reușit perfect, dar cum adaug un CSS la ieșire pentru text? Aveți idei despre asta. Mulțumesc
Conflictul său cu w3 total cache, numărătorile cresc automat pe blogul meu. Dacă cineva vizitează oricare dintre postările mele, numărătorile celorlalte postări cresc și ele. Există vreo soluție pentru acest tip de conflict?
Dacă te uiți la primul fragment de jos, avem următoarele:
preîncărcarea cu unii browsere poate adăuga vizualizări la postările nevizitate.
// Elimină problemele cu prefetching care adaugă vizualizări suplimentare
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0);
Celălalt lucru de reținut este că acest fragment nu este configurat să funcționeze bine cu plugin-urile de cache
Așa că nu pot fi sigur, după mult mai mult testare, cât de bine va funcționa.
Dacă te uiți la primul fragment de jos, avem următoarele:
preîncărcarea cu unii browsere poate adăuga vizualizări la postările nevizitate.
// Elimină problemele cu prefetching care adaugă vizualizări suplimentare
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0);
Celălalt lucru de reținut este că acest fragment nu este configurat să funcționeze bine cu plugin-urile de cache
Așa că nu pot fi sigur, după mult mai mult testare, cât de bine va funcționa.
Dacă te uiți la primul fragment de jos, avem următoarele:
preîncărcarea cu unii browsere poate adăuga vizualizări la postările nevizitate.
// Elimină problemele cu prefetching care adaugă vizualizări suplimentare
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0);
Celălalt lucru de reținut este că acest fragment nu este configurat să funcționeze bine cu plugin-urile de cache
Așa că nu pot fi sigur, după mult mai mult testare, cât de bine va funcționa.
mulțumesc pentru cod. L-am actualizat să funcționeze și cu cache și să nu folosească funcții wordpress, ci să modifice direct tabela post_meta. sunt interesați de aceste actualizări?
Salut Yves Jeanrenaud, cred că multor oameni de pe wpsnipp le-ar plăcea. Dacă trimiți fragmentul împreună cu câteva detalii, domeniu etc. Astfel, vă putem acorda creditul, ar fi grozav.
http://wpsnipp.com/index.php/contribute/
ok, voi face 🙂
salut Yves, poți să-mi împărtășești codul? acest fragment pare să nu funcționeze corect, așa cum a spus și Tam ‘Heisenberg’ Nguyen, statisticile mele nu se potrivesc nici ele.
salut Yves, poți să-mi împărtășești codul? acest fragment pare să nu funcționeze corect, așa cum a spus și Tam ‘Heisenberg’ Nguyen, statisticile mele nu se potrivesc nici ele.
salut Yves, poți să-mi împărtășești codul? acest fragment pare să nu funcționeze corect, așa cum a spus și Tam ‘Heisenberg’ Nguyen, statisticile mele nu se potrivesc nici ele.
Salut, poți să împărtășești codul aici, te rog. Folosesc WP Super Cache și am probleme cu contorul.
Am făcut-o
Salut Yves,
Nu cred că am primit vreodată codul de la tine, trimite-mi un email la contribute și te voi contacta prin gmail ca să-l poți trimite din nou dacă nu te deranjează. Cred că codul ar fi putut fi problema la trimiterea prin formularul de email.
oh, serios? greșeala mea. Îl voi trimite din nou.
Cod excelent, mulțumesc Kevin. Mă întrebam dacă ai încercat să folosești asta în profilurile autorilor? Mă gândesc să încerc să folosesc o altă versiune a acestui cod pentru a stoca valori în meta-ul autorului și a număra vizitele paginii lor de profil.
Mulțumesc!
Salut Abdulrahman Hariri,
Nu, nu am încercat asta în profilurile autorilor, dar nu văd niciun motiv pentru care nu ar funcționa. Pe lângă actualizarea meta-ului utilizatorului în loc de meta-ul postării ar trebui să funcționeze bine.
Am încercat și funcționează :). Mulțumesc mult pentru informații!
Cod excelent, mulțumesc Kevin. Mă întrebam dacă ai încercat să folosești asta în profilurile autorilor? Mă gândesc să încerc să folosesc o altă versiune a acestui cod pentru a stoca valori în meta-ul autorului și a număra vizitele paginii lor de profil.
Mulțumesc!
Este posibil să obțin numărul de vizualizări ale profilului cu acest cod?
Este posibil să obțin numărul de vizualizări ale profilului cu acest cod?
[…] Urmăriți vizualizările postărilor folosind meta postării […]
Este posibil să schimbi „declanșatorul” de incrementare? de exemplu, să faci anumite linkuri din postare să crească valoarea post-meta ori de câte ori este clicuită. Cu asta, poate putem folosi acest fragment grozav pentru alte utilizări. (ex: de câte ori a fost clicuit linkul nostru de descărcare)
Prietene, cum să fac să funcționeze și în partea de sus a celor mai vizitate postări cu acest cod de mai jos în scripturile tale?
Dacă am un câmp personalizat numit vizualizări și depășește 100 de vizualizări, cum pot afișa un anumit mesaj într-un șablon?
Acesta este perfect. Exact ceea ce căutam.
Ai aranjat fragmentul de cod foarte frumos și ușor de înțeles. Acum, am numărul de vizualizări ale postărilor pe blogul meu. Mulțumesc
Groaznic, funcționează perfect!
Acesta este grozav, mulțumesc un milion
bine de știut, 3q….
mulțumiri
Mulțumesc pentru fragmentul grozav, omule. Există vreo modalitate de a acumula toate vizitele anterioare la fiecare postare cu numărul curent de vizualizări ale postării?
Este posibil să resetezi acest contor? Deci, să spunem că vreau să afișez cele mai „populare postări ale săptămânii”. În fiecare săptămână, vizualizările postărilor se resetează la 0.