Căutați o modalitate de a afișa cele mai populare postări folosind meta postărilor vizualizate? Deși probabil există un plugin pentru asta, am creat o scurtă secvență de cod pe care o puteți folosi pentru a afișa cele mai populare postări folosind meta postărilor vizualizate în WordPress.
De asemenea, poate doriți să verificați cum să urmăriți vizualizările postărilor fără un plugin folosind meta postărilor.
Instrucțiuni:
Tot ce trebuie să faceți este să adăugați acest cod în fișierul index.php al temei dvs.:
<?
query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC');
?>
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 această secvență de cod, vă rugăm să luați în considerare citirea altor articole de pe site, cum ar fi: Top 10 companii de găzduire web și cum să alegeți cel mai bun registrator de domenii.
Mulțumesc pentru sfaturi
Mulțumesc pentru sfaturi! Foarte frumos
Hei Kevin, cum afișez doar cele mai populare din „astăzi”?
Mulțumesc, dar nu pot folosi aceste sfaturi. Vă rog să mă ajutați cu o atingere simplă. Mulțumesc, frate
Cum să afișez postări populare legate de o anumită categorie pe paginile de postări?? Și cum să aranjez acel widget dacă îl adăugăm folosind functions.php??
Doar adăugați &cat= după DESC și introduceți numărul ID-ului pentru categorie.
acest lucru este uimitor, mulțumesc mult... am probleme cu navigarea pe pagini (next_posts_link/previous_posts_link) arată numărul corect de postări, dar aceeași postare în fiecare pagină. cum pot remedia acest lucru?? vă rog ajutați!
mulțumesc!
Este greu de spus fără a vedea codul implicat. V-aș sugera să-mi trimiteți un e-mail și voi arunca o privire rapidă. http://wpsnipp.com/index.php/contact/
Ai reușit vreodată să rezolvi problema cu acest utilizator? Am aceeași problemă pe pagina mea cu cele mai populare postări. Toate paginile paginate arată aceleași postări populare de pe prima pagină.
[…] Avem un mic tutorial drăguț aici despre Cum să afișați cele mai populare postări în ultimele 30 de zile. WPSnipp.com are, de asemenea, un articol bun despre afișarea postărilor populare folosind datele vizualizărilor postărilor. […]
primesc doar două postări în rezultat. deși am trecut posts_per_page=5 la interogarea postării.
mai jos este bucla mea. Mă puteți ruga să-mi spuneți unde greșesc?
query_posts(‘meta_key=views&orderby=views&order=DESC&posts_per_page=5”)
Am încercat și interogarea dvs. post, dar am obținut același rezultat. Doar două postări în ieșire.
această interogare pare în regulă, aș presupune, desigur, că aveți mai mult de 2 postări. Ar putea fi alt cod în șablonul dvs.
Acest lucru se datorează faptului că doar două dintre postările dvs. au fost vizualizate și au un câmp personalizat numit „views” creat. Am avut aceeași problemă. Odată ce o postare a fost vizualizată pentru prima dată, a apărut pe pagina categoriei.
Am încercat acest cod pentru a-l folosi pe un site pe care îl construiesc, dar dintr-un motiv ciudat actualiza 2 postări, mereu, și oarecum aleatoriu, era mereu aceeași, dar în câteva încercări, s-a schimbat, nu știu cu adevărat de ce.
Căutând online, am găsit pe cineva care folosește global $post; și $post_id = (int)$post->ID; pentru a obține ID-ul postării pentru a fi utilizat în update_post_meta(); Așa că mi-am schimbat codul și totul este în regulă acum.
Salut Rafael, Interesant hhhmmmm, câțiva oameni au spus, de asemenea, că au avut probleme, mă întreb dacă acest lucru ar rezolva-o. Voi testa lucrurile și voi face o actualizare. Mulțumesc pentru informații….
Bună, am încercat să integrez acest fragment pe pagina mea, dar funcționează doar pe jumătate așa cum ar trebui. De fiecare dată când este apăsat un post, fragmentul de cod afișează și postarea de după aceasta, așa cum a fost văzută de cineva. Sper că înțelegi ce vreau să spun 😉
Ei bine, acest fragment funcționează cu următorul fragment pentru a salva vizualizările în postmeta, http://wpsnipp.com/index.php/functions-php/track-post-views-without-a-plugin-using-post-meta/
Deci, dacă aveți ambele configurate, ar trebui să funcționeze bine. Fragmentul de mai sus vă permite doar să sortați postările după vizualizările postărilor dacă aveți ambele fragmente configurate.
Mulțumesc pentru răspuns. (Din păcate) Am ambele configurate și nu funcționează. Este destul de ciudat pentru mine…
ce versiune de wordpress rulezi în prezent am testat-o în 3.1.2 instalare proaspătă. Ar putea fi unul dintre pluginurile tale care cauzează probleme.
ce versiune de wordpress rulezi în prezent am testat-o în 3.1.2 instalare proaspătă. Ar putea fi unul dintre pluginurile tale care cauzează probleme.
Rulez 3.1.1. Dar nu cred că există o diferență semnificativă între cele două, nu-i așa?
Nu, 3.1.1 nu ar trebui să fie o problemă, ceea ce ar putea cauza probleme este un plugin
Rezolvându-mi propria problemă:
ordery=post_views_count trebuie schimbat în orderby=meta_value_num meta_value_num a fost adăugat la nucleu acum ceva timp: http://core.trac.wordpress.org/ticket/10649Robert
Ahh ok cool mă bucur că ai rezolvat lucrurile. Poți posta un nou link către bug – primesc un mesaj de eroare „nu s-a găsit”.
De fapt, el are dreptate. Am primit doar postări aleatorii folosind acest cod și schimbarea orderby la meta_value_num a rezolvat de fapt problema. Mulțumesc
Daniel, ai dreptate, am făcut niște teste, tocmai am actualizat postarea, mulțumesc din nou pentru contribuție.
Sortarea nu funcționează corect. Postările mele sunt ordonate astfel: 9,8,7,6,5,4,3,2,1,10,11,12 etc.
Vreo idee pentru a obține ordinea corectă: 12,11,10,9,8 …?
Cu o mică modificare poate funcționa și cu wp-comments, deoarece folosește aceeași metodă:
query_posts('meta_key=views&orderby=views&order=DESC');
Nu sunt familiarizat cu wp-comments, este un plugin?
Cum configurezi asta pentru a afișa cele mai populare postări pentru ziua de azi, săptămâna aceasta sau luna aceasta?
Presupun că acestea sunt pentru totdeauna.
Mulțumesc.
Poți adăuga doar puțin la 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’))’);
dragă Kevin am încercat acestea, dar nu funcționează, iată codul meu
te rog ajută-mă
acestea, dar nu funcționează, iată codul meu
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();
dragă Kevin am încercat
te rog ajută-mă
valoarea ta orderby nu este corectă,
te rog răspunde-i lui Yashmistrey Kevin !!
Sangeeta, am făcut-o, în fragmentul de mai sus poți vedea
orderby=meta_value_num
Mulțumesc
[…] <? query_posts('meta_key=post_views_count&orderby=post_views_count&order=DESC'); ?> Sursă →Breadcrumbs Without a PluginBreadcrumbs can be a useful navigation technique that offers link to the […]
Am înțeles!
Iată codul meu.
<a href="”>
Super, mă bucur că ai rezolvat, acesta este un link către un exemplu de cod pe care l-ai putea folosi și tu,
http://wpsnipp.com/wp-content/uploads/2011/03/post-views-per-page.txt
Nu reușesc să fac asta să funcționeze
Așa?
‘dropzone’, ‘posts_per_page’ => 2) ); ?>
have_posts() ) : $loop->the_post(); ?>
<a href="”>
Salut Alec,
Dacă vrei să limitezi numărul de postări, ai face așa
http://wpsnipp.com/wp-content/uploads/2011/03/posts-per-page-post-views.txt