X

Cum să urmăriți vizualizările postărilor fără un plugin folosind Post Meta

Fragmente de IsItWP

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.

Comentarii   Lasă un răspuns

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. Md. Iftekharul Ibna Alam April 17, 2014 at 1:59 am

    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?

    1. 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.

    2. 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.

    3. 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.

  9. Yves Jeanrenaud April 1, 2014 at 4:44 pm

    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?

    1. 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/

      1. Yves Jeanrenaud April 7, 2014 at 5:25 pm

        ok, voi face 🙂

    2. Hector Castilla April 16, 2014 at 11:07 pm

      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.

    3. Hector Castilla April 16, 2014 at 11:07 pm

      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.

    4. Hector Castilla April 16, 2014 at 11:07 pm

      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.

    5. Salut, poți să împărtășești codul aici, te rog. Folosesc WP Super Cache și am probleme cu contorul.

      1. Yves Jeanrenaud August 9, 2014 at 4:49 pm

        Am făcut-o

        1. 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.

          1. Yves Jeanrenaud August 14, 2014 at 4:18 pm

            oh, serios? greșeala mea. Îl voi trimite din nou.

  10. Abdulrahman Hariri March 26, 2014 at 7:18 pm

    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!

    1. 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.

      1. Abdulrahman Hariri May 31, 2014 at 11:07 am

        Am încercat și funcționează :). Mulțumesc mult pentru informații!

  11. Abdulrahman Hariri March 26, 2014 at 7:18 pm

    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!

  12. Este posibil să obțin numărul de vizualizări ale profilului cu acest cod?

  13. Este posibil să obțin numărul de vizualizări ale profilului cu acest cod?

  14. WordPress Users: How to Increase Functionality AND Speed Up Your Site January 30, 2014 at 10:19 am

    […] Urmăriți vizualizările postărilor folosind meta postării […]

  15. 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)

  16. 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?

  17. 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?

  18. Acesta este perfect. Exact ceea ce căutam.

  19. Md. Iftekharul Ibna Alam July 16, 2013 at 4:56 pm

    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

  20. Groaznic, funcționează perfect!

  21. Acesta este grozav, mulțumesc un milion

  22. bine de știut, 3q….

  23. mulțumiri

  24. 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?

  25. 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.

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!