Tutoriale WordPress de încredere, atunci când aveți cea mai mare nevoie.
Ghidul începătorului pentru WordPress
Cupa WPB
30 Milioane+
Site-uri web care folosesc plugin-urile noastre
20+
Ani de experiență WordPress
3000+
Tutoriale WordPress de la experți

Cum să afișezi postări aleatorii în WordPress (Tutorial rapid)

Blogul tău WordPress are probabil zeci de postări vechi grozave, dar vizitatorii noi văd doar cele mai recente, în timp ce tot restul rămâne îngropat în arhivele tale.

Afișarea postărilor aleatorii este o modalitate ușoară de a remedia acest lucru. Fiecare încărcare de pagină prezintă conținut diferit, ceea ce oferă postărilor mai vechi o expunere nouă și îi face pe vizitatori să navigheze mai mult pe site-ul tău. Poți chiar să adaugi un buton „Postare Aleatorie” care permite cititorilor să sară la un articol surpriză, în stilul clasic StumbleUpon.

În acest tutorial, îți vom arăta cum să afișezi postări aleatorii în WordPress, plus cum să redirecționezi vizitatorii către o postare aleatorie cu un singur link.

Afișarea postărilor aleatorii în WordPress

Pur și simplu folosiți linkurile rapide de mai jos pentru a sări la metoda pe care doriți să o utilizați:

Cum să afișați postări aleatorii în WordPress

Cauți o modalitate distractivă de a-i face pe vizitatori să navigheze pe site-ul tău? Poți adăuga cu ușurință o listă de articole aleatorii direct în bara laterală, pagini sau chiar în interiorul postărilor de pe blog.

În timp ce unele tutoriale pot sugera adăugarea de cod personalizat în fișierul functions.php al temei tale, noi recomandăm utilizarea WPCode, pluginul gratuit pentru fragmente de cod pentru WordPress.

WPCode vine cu validare inteligentă a fragmentelor de cod pentru a preveni erorile comune de cod care îți pot defecta site-ul. De asemenea, face personalizările tale „future-proof”, ceea ce înseamnă că poți actualiza sau schimba tema fără să-ți faci griji că vei pierde toate funcțiile de cod personalizat.

Mai întâi, trebuie să instalezi și să activezi pluginul gratuit WPCode. Pentru instrucțiuni detaliate, te rugăm să vezi ghidul nostru pentru începători despre cum să instalezi un plugin WordPress.

După activarea pluginului, accesați pagina Code Snippets » + Add Snippet din bara laterală de administrare WordPress.

Odată ajuns acolo, apasă butonul „+ Adaugă fragment de cod personalizat” sub opțiunea „Adaugă propriul cod personalizat (Fragment nou).”

Alege opțiunea „Adaugă codul tău personalizat (Snippet nou)”

Apoi, selectați „Fragment PHP” ca tip de cod.

Veți fi apoi direcționat către pagina „Creare fragment de cod”, unde puteți începe prin a introduce un nume pentru fragmentul de cod.

Acest titlu este doar pentru referința ta și nu va apărea nicăieri pe site-ul tău.

Crearea unui fragment de cod personalizat în WordPress

În continuare, pur și simplu copiați și lipiți următorul cod în caseta „Previzualizare cod”:

<?php
$number_of_posts = 5; // Change this to the number of random posts you want to display.
$title = 'You might also like:'; // This is the title that will be displayed above the list of posts.
$current_post_id = get_the_ID();
$args = array(
	'post_type'      => 'post',
	'orderby'        => 'rand',
	'posts_per_page' => $number_of_posts,
	'post__not_in'   => array( $current_post_id ),
);
$random_posts = new WP_Query( $args );
if ( $random_posts->have_posts() ) {
	echo '<h3>' . esc_html( $title ) . '</h3>';
	echo '<ul>';
	while ( $random_posts->have_posts() ) {
		$random_posts->the_post();
		echo '<li><a href="' . esc_url( get_permalink() ) . '">' . esc_html( get_the_title() ) . '</a></li>';
	}
	echo '</ul>';
}
wp_reset_postdata();

Acest fragment de cod afișează 5 postări aleatorii oriunde plasezi shortcode-ul său și omite automat postarea pe care vizitatorul o citește deja.

Pentru a afișa un număr diferit, schimbă valoarea $number_of_posts din partea de sus a fragmentului. Linia $title controlează antetul „S-ar putea să-ți placă și ție:” care apare deasupra listei, așa că editează acel text sau setează-l la '' dacă preferi să nu ai deloc un antet.

După aceea, va trebui să salvezi fragmentul de cod pentru a genera un shortcode unic, așa că apasă butonul „Salvează fragmentul de cod”.

Cum să salvați un fragment de cod pe blogul sau site-ul dvs. WordPress

După aceea, derulează în secțiunea „Inserare” și alege opțiunea „Shortcode”.

Acum veți vedea shortcode-ul pe care WPCode l-a generat automat. Faceți clic pe butonul său „Copiere”, deoarece veți folosi acest shortcode în pasul următor.

Cum să copiați un shortcode pe blogul sau site-ul dvs. WordPress

În cele din urmă, derulați înapoi în partea de sus și comutați comutatorul 'Inactiv' la 'Activ'.

După aceea, pur și simplu faceți clic pe butonul „Actualizare” pentru a salva modificările.

Publicarea unui fragment de cod personalizat pe site-ul dvs. WordPress

După salvarea fragmentului de cod, puteți afișa postări aleatorii pe site-ul dvs. folosind shortcode-ul pe care l-am copiat mai devreme.

Adăugarea unui bloc de shortcode pe site-ul dvs. WordPress

Pentru mai multe detalii despre cum să faceți acest lucru, consultați ghidul nostru despre cum să adăugați shortcode-uri WordPress.

Dacă aceleași postări aleatorii continuă să apară în loc să se schimbe, atunci, de obicei, cache-ul paginii dvs. servește o copie salvată a paginii. Începeți prin a vă goli cache-ul și a reîncărca pagina.

Dacă tot nu se schimbă, excludeți acea pagină din cache-ul complet al paginii al plugin-ului dvs. de caching.

Cum să redirecționezi utilizatorii către o postare aleatorie (cu un plugin)

În timp ce afișarea unei liste de postări aleatorii funcționează excelent în bara laterală sau la sfârșitul unui articol, aceasta încă cere vizitatorilor să scaneze titlurile și să aleagă unul. În zilele de început ale web-ului, ne-a plăcut foarte mult să folosim Stumbleupon, care a făcut ușor să descoperim conținut nou cu un clic de buton.

Puteți adăuga o funcționalitate similară pe site-ul dvs. web, unde, în loc să afișați o listă, creați un buton „Postare Aleatorie” sau un link „Surprinde-mă” care duce instantaneu vizitatorii la un articol aleatoriu de pe site-ul dvs. Este o modalitate distractivă de a încuraja explorarea și funcționează deosebit de bine pe pagina dvs. 404 sau în meniul de navigare.

Recomandăm utilizarea plugin-ului gratuit Random Post Plugin. Acesta funcționează prin adăugarea unui parametru URL ?redirect_to=random la site-ul dvs.

Pur și simplu instalați și activați plugin-ul, apoi adăugați un link la meniul de navigare, widget-ul din bara laterală, butonul sau oriunde altundeva pe site-ul dvs. Un vizitator îl poate apoi accesa pentru a vizita o postare aleatorie.

Pentru a crea propriul link, va trebui să înlocuiți www.example.com cu propriul nume de domeniu.

Iată variațiile pe care le puteți utiliza:

  • www.example.com/?redirect_to=random&each_once=rewind. Asigură că vizitatorii nu văd aceeași postare de două ori. Acest link se resetează automat odată ce au văzut fiecare postare de pe site-ul dvs.
  • www.example.com/?redirect_to=random&count=10. Afișează doar postări aleatorii din cele mai recente 10 articole publicate.
  • www.example.com/?redirect_to=random&after=1 month ago. Afișează doar postări aleatorii publicate în ultima lună.
  • &cache=120. Adăugați acest lucru la sfârșitul URL-ului dvs. pentru a salva temporar (cache) rezultatul timp de 120 de secunde. Acest lucru ajută site-ul dvs. WordPress să se încarce mai repede.

De exemplu, puteți crea un buton care afișează o postare aleatorie, selectată dintre cele mai recente 20 de postări ale dvs.:

Adăugarea unui link Postări Aleatorii în WordPress

Dacă preferați un buton „Postare Aleatorie” gata făcut, atunci plugin-ul include și un shortcode util.

Puteți adăuga cu ușurință shortcode-ul [redirect_to_post_button] la orice postare, pagină sau zonă de widget. Dacă aveți nevoie de ajutor, consultați ghidul nostru pentru începători despre cum să adăugați un shortcode în WordPress.

Crearea unui buton „Postări Aleatorii”

Cum să redirecționezi utilizatorii către o postare aleatorie în WordPress (cu cod)

Dacă preferați să nu instalați un alt plugin cu un singur scop, atunci puteți configura aceeași redirecționare „Postare Aleatorie” cu un fragment de cod în schimb.

Acest fragment creează un URL nou pe site-ul dvs., care va arăta cam așa: exemplu.com/aleatoriu.

Acest lucru nu va afecta paginile dvs. existente și nici cititorii care navighează prin postările dvs. Redirecționarea are loc doar atunci când cineva vizitează manual noua adresă /aleatoriu, de exemplu, când face clic pe un buton sau un link din meniu „Postare aleatorie” pe care l-ați configurat.

Deci, ori de câte ori un cititor vizitează exemplu.com/aleatoriu, WordPress va prelua automat una dintre postările dvs. publicate, complet aleatoriu, și îl va redirecționa direct către aceasta.

Pentru a vă menține site-ul în siguranță, vom adăuga codul folosind pluginul WPCode pe care l-am configurat anterior. Acest lucru asigură că un singur caracter tastat greșit nu va defecta site-ul dvs. sau nu vă va bloca accesul în zona de administrare.

Îl puteți pur și simplu lipi ca un nou fragment PHP în WPCode, urmând aceiași pași pe care i-am acoperit anterior:

<?php
function wpb_random_post_rewrite() {
    add_rewrite_rule( '^random/?$', 'index.php?random_redirect=1', 'top' );
}
add_action( 'init', 'wpb_random_post_rewrite' );
function wpb_random_post_query_var( $vars ) {
    $vars[] = 'random_redirect';
    return $vars;
}
add_filter( 'query_vars', 'wpb_random_post_query_var' );
function wpb_do_random_post_redirect() {
    if ( get_query_var( 'random_redirect' ) ) {
        $random = get_posts( array(
            'post_type'      => 'post',
            'orderby'        => 'rand',
            'posts_per_page' => 1,
        ) );
        if ( $random ) {
            wp_redirect( get_permalink( $random[0]->ID ), 307 );
            exit;
        }
    }
}
add_action( 'template_redirect', 'wpb_do_random_post_redirect' );

Ați putea observa că acest fragment folosește o redirecționare 307, care îi spune browserului că destinația este temporară.

Acest lucru se datorează faptului că browserele web pun în cache redirecționările permanente 301 pentru a accelera timpii de încărcare. Ca rezultat, browserul ar continua să trimită un vizitator la aceeași postare, stricând complet aleatorizarea.

Odată ce ați salvat și activat fragmentul, pur și simplu accesați Setări » Permalinks în tabloul de bord WordPress și faceți clic pe butonul „Salvează modificările”.

Acest pas rapid este cunoscut sub numele de „golirea permalink-urilor”. Forțează WordPress să-și reîmprospăteze structura linkurilor, astfel încât să poată recunoaște instantaneu noul dvs. URL /aleatoriu.

Dacă utilizați un plugin de cache WordPress pentru a accelera site-ul dvs., asigurați-vă că adăugați /aleatoriu la lista sa de URL-uri excluse. Acest lucru asigură că redirecționarea rulează proaspăt de fiecare dată, în loc să servească o pagină din cache vizitatorilor dvs.

Redirecționarea dvs. aleatorie este acum gata de utilizare. Puteți indica orice link către exemplu.com/aleatoriu, fie că este un buton, un element de meniu de navigare, un widget de bară laterală sau un link text dintr-o postare.

Doar amintiți-vă să înlocuiți exemplu.com cu propriul nume de domeniu.

Sperăm că acest articol v-a ajutat să învățați cum să afișați postări aleatorii în WordPress. De asemenea, ați putea dori să consultați ghidul nostru pentru începători despre cum să reordonați cu ușurință postările în WordPress și tutorialul nostru despre crearea unei postări private în WordPress.

Dacă v-a plăcut acest articol, atunci vă rugăm să vă abonați la Canalul nostru de YouTube pentru tutoriale video despre WordPress. Ne puteți găsi, de asemenea, pe Twitter și Facebook.

Dezvăluire: Conținutul nostru este susținut de cititori. Acest lucru înseamnă că dacă faceți clic pe unele dintre linkurile noastre, putem câștiga un comision. Vedeți cum este finanțat WPBeginner, de ce contează și cum ne puteți susține. Iată procesul nostru editorial.

Cel mai bun instrumentar WordPress

Obține acces GRATUIT la instrumentarul nostru - o colecție de produse și resurse legate de WordPress pe care fiecare profesionist ar trebui să le aibă!

Interacțiuni cu cititorii

35 ComentariiLasă un răspuns

  1. Am încercat mai multe metode pentru a afișa postări aleatorii, dar niciuna nu a funcționat la fel de bine ca această metodă de interogare personalizată. Acest tutorial este ușor de înțeles și îmi place cum ați furnizat exemple și fragmente de cod pentru a ajuta la ilustrarea procesului. Expertiza dumneavoastră mi-a economisit atât de mult timp și frustrare. Continuați să împărtășiți cunoștințele dumneavoastră cu noi!

  2. Din câte înțeleg, codul este fără imagini de prezentare ale postărilor. Există vreo opțiune cu codul pentru a afișa postări și cu imagini de prezentare?

    • S-ar putea să doriți să consultați cele mai recente postări de pe blog în editorul de blocuri pentru asta.

      Admin

      • Vă mulțumesc pentru sfat. Da, funcționează pentru mine. Folosesc Elementor și ocazional Seed Prod. Deoarece nu folosesc niciodată Gutenberg, această opțiune nu mi-a venit niciodată în minte. Pur și simplu nu știam că Gutenberg are un astfel de bloc. Mulțumesc pentru pont.

  3. Postările mele lipicioase apar mereu în postările mele aleatorii. Există o modalitate de a exclude postările lipicioase din acest cod?

    • Pentru a realiza acest lucru, am recomanda utilizarea pluginului din a doua metodă, mai degrabă decât modificarea codului.

      Admin

  4. Există o modalitate ușoară de a pune în cache rezultatele pentru o anumită perioadă de timp, în loc să le amestecați de fiecare dată? Poate o reîmprospătare o dată la 24 de ore pentru a reduce sarcina pe apelurile la baza de date de fiecare dată?

    • Pentru acea funcționalitate, ar trebui să verificați suportul plugin-ului pentru a vedea dacă este disponibil.

      Admin

  5. Vă rog, am încercat să adaug shortcode-ul într-o poziție specifică pe site-ul meu, nu în interiorul postării în PHP, dar secțiunea Postări aleatorii nu s-a afișat, ci doar textul meu "[wpb-random-posts]".

    Ce ar trebui să fac?

    • Când utilizați editorul de blocuri, veți dori să vă asigurați că îl adăugați folosind un bloc de scurtcod.

      Admin

  6. Mulțumesc, codul funcționează perfect. Am schimbat prima pagină a site-ului meu WordPress în index.html, ce am nevoie pentru a rula [wpb-random-posts] pe pagina mea html? Engleza mea este puțin slabă, sper că mă înțelegeți.

    • Ați avea nevoie ca pagina să fie o pagină WordPress pentru ca un shortcode WordPress să funcționeze.

      Admin

  7. Cum ați proceda la stilizarea acestui lucru? Mă confuz cum aș controla designul acestui lucru, nu am lucrat niciodată cu stilizarea PHP.

    • Ar depinde de stilul pe care doriți să-l adăugați pentru ceea ce trebuie făcut. Puteți adăuga o clasă în codul HTML pentru a avea ceva de țintit.

      Admin

  8. Mulțumesc pentru articolul util.

    Am o întrebare — paginile site-ului meu Wordpress includ o bară laterală cu un widget de postări aleatorii (extrase).

    O problemă este că Google indexează paginile și „vede” fragmentele aleatorii de postări ca și conținut pentru pagină. Deci, în căutarea Google, o pagină poate apărea ca potrivindu-se unui termen de căutare doar pentru că unul dintre fragmentele aleatorii de postări de pe pagină s-a potrivit termenului (nu conținutului principal al paginii).

    Dar, când un utilizator dă clic pe linkul din rezultatele căutării Google, va vedea pagina cu un set diferit de fragmente de postări aleatorii în bara laterală — nu fragmentul de postare cu text corespunzător. Deci, pentru ei, pare o căutare proastă.

    Ideal, aș dori să exclud extrasele aleatorii ale postărilor din indexul Google, adică să le ascund de Google, dar se pare că nu este posibil (?).

    Dacă aveți sugestii, aș aprecia! Mulțumesc.

  9. Am încercat asta & mi-a distrus site-ul, cum pot reseta asta?
    Eroare http 500
    Vă rog să mă ajutați
    Mulțumesc

    Iun

  10. Mulțumesc mult pentru distribuire. Am folosit un alt plugin pentru postări aleatorii care nu mai funcționează. Apoi am găsit site-ul dvs. și am instalat plugin-ul. Funcționează perfect.

  11. Salut, și mulțumesc pentru acest tutorial util!
    Mă puteți spune care ar fi bucata de cod de adăugat pentru a afișa postări aleatorii dintr-o anumită categorie? Tema mea nu afișează o bară laterală, așa că nu pot folosi pluginul și deja are o afișare de postări aleatorii sub fiecare articol, dar postările din toate categoriile sunt incluse și afișate atunci. Am încercat să verific codul temei și să adaug 'post_category' => 'numele-categoriei', dar nu funcționează. Aveți vreo idee?

  12. Salut! Vreau doar să întreb ce se întâmplă dacă vreau să schimb postările aleatorii în fiecare săptămână sau la orice moment dat. De exemplu, afișez un set de postări aleatorii, acesta nu se va schimba până la 7 zile sau la orice moment dat. Mulțumesc!

  13. Mulțumesc mult, am reușit să afișez postări aleatorii. Am schimbat numărul de postări la 1 pentru a afișa 1 postare aleatorie. Există o modalitate mai bună de a face acest lucru?
    Aș dori, de asemenea, să aflu cum pot folosi o variabilă în loc de tipul postării și să introduc una acolo unde plasez codul scurt, de exemplu – [wpb-random-posts(‘post’)].
    Cum pot realiza acest lucru??

  14. Setarea postărilor pe ordonare => „rand” este o măsură pe jumătate. Sigur, postarea este afișată „aleatoriu”, dar așa cum a menționat DI SEKITAR mai sus, ce rost are să afișezi o postare aleatorie dacă va fi aceeași postare aleatorie de fiecare dată când cineva vizitează site-ul?

  15. Scuze, dar șirul nu a funcționat și am făcut șirul global și acum funcționează bine.

    global $string;

  16. Mulțumesc pentru acest tutorial grozav. Există vreo modalitate prin care pot obține shortcode-ul și apoi să afișez postările aleatorii sub conținutul unei pagini, în loc de bara laterală??

  17. JAYKAY

    Pentru a exclude postarea curentă adăugați

    ‘post__not_in’ => array(get_the_id())

    către interogare.

    Deci, argumentele dvs. vor fi acum:

    $args = array(
    ‘post_type’ => ‘post’,
    ‘orderby’ => ‘rand’,
    ‘posts_per_page’ => 5,
    ‘post__not_in’ => array(get_the_id()),
    );

  18. informații foarte interesante,
    Am încercat pluginul folosit pe care l-ai menționat, dar am o mare întrebare.

    Cum să fac ca postarea aleatorie să fie diferită pentru fiecare vizitator sau dispozitiv care îmi vizitează site-ul?

    pentru că încerc să-mi vizitez site-ul folosind alt notebook și smartphone, dar postarea aleatorie de pe acele 2 dispozitive este aceeași.

  19. Salut,

    Widget-ul Avansat de Postări Aleatorii este un plugin foarte bun, dar am o problemă.
    Cum ați putea exclude postarea curentă/activă atunci când afișați o postare aleatorie?
    Este posibil să rezolvați acest lucru?

    Problema este aceeași cu codul metodei 2.

  20. mulțumesc pentru asta. Mă gândeam mereu la asta, deoarece implicit cele mai recente postări sunt vizibile pe pagina principală. Mulțumesc pentru asta, voi folosi cu siguranță acest plugin

Lasă un răspuns

Mulțumim că ai ales să lași un comentariu. Te rugăm să reții că toate comentariile sunt moderate conform politicii noastre de comentarii, iar adresa ta de e-mail NU va fi publicată. Te rugăm să NU folosești cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.