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

Cum să afișați cele mai recente postări lipicioase în WordPress

WordPress are această funcție foarte cool numită postări lipicioase. Gândiți-vă la postările lipicioase ca la postări deosebite pentru blogul dvs. Când marcați o postare ca lipicioasă, aceasta apare deasupra postărilor dvs. noi, dar numai dacă tema dvs. o permite. În acest tutorial vă vom arăta cum să afișați cele mai recente postări lipicioase în WordPress.

Demonstrație Postări Fixe Recente

Notă: Acesta este un tutorial de nivel intermediar și necesită cunoștințe de bază HTML / CSS + cunoștințe despre temele WordPress.

Tutorial video

Abonează-te la WPBeginner

Dacă nu îți place videoclipul sau ai nevoie de mai multe instrucțiuni, continuă să citești.

Primul lucru pe care trebuie să-l faci este să copiezi și să lipești acest fragment de cod în fișierul functions.php al temei tale sau într-un plugin specific site-ului.

function wpb_latest_sticky() { 

/* Get all sticky posts */
$sticky = get_option( 'sticky_posts' );

/* Sort the stickies with the newest ones at the top */
rsort( $sticky );

/* Get the 5 newest stickies (change 5 for a different number) */
$sticky = array_slice( $sticky, 0, 5 );

/* Query sticky posts */
$the_query = new WP_Query( array( 'post__in' => $sticky, 'ignore_sticky_posts' => 1 ) );
// The Loop
if ( $the_query->have_posts() ) {
	$return .= '<ul>';
	while ( $the_query->have_posts() ) {
		$the_query->the_post();
		$return .= '<li><a href="' .get_permalink(). '" title="'  . get_the_title() . '">' . get_the_title() . '</a><br />' . get_the_excerpt(). '</li>';
		
	}
	$return .= '</ul>';
	
} else {
	// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

return $return; 

} 
add_shortcode('latest_stickies', 'wpb_latest_sticky');

Codul de mai sus interoghează baza de date WordPress pentru a prelua cele mai recente 5 postări lipicioase. Apoi afișează titlul fiecărei postări lipicioase cu un link într-un format de listă. Am încapsulat totul într-o funcție și am creat un shortcode.

Acum, pentru a afișa cele mai recente postări dvs. importante (sticky posts), puteți utiliza shortcode-ul [latest_stickies] în orice postare, pagină sau chiar un widget de text WordPress.

Dacă doriți să utilizați shortcode-uri în interiorul unui widget de text, va trebui să adăugați această linie suplimentară de cod în fișierul functions.php al temei dvs. sau în pluginul specific site-ului.

add_filter('widget_text', 'do_shortcode');

Acest fragment și funcție pot fi foarte bine utilizate în glisiera de prezentare sau în orice altă caracteristică avansată pe care ați dori să o afișați pe site-ul dvs. Acest fragment este în mare parte orientat către un site WordPress care are o pagină de pornire personalizată sau un aspect de tip revistă.

Atât, sperăm că acest articol v-a ajutat să afișați cele mai recente postări lipicioase pe blogul dvs. WordPress. De asemenea, ați putea dori să consultați tutorialul nostru despre cum să adăugați o dată de expirare la postările lipicioase în WordPress.

Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Google+.

Dezvăluire: Conținutul nostru este susținut de cititori. Acest lucru înseamnă că dacă faceți clic pe unele dintre linkurile noastre, este posibil să câștigăm 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

8 CommentsLeave a Reply

  1. eforturi foarte informative depuse de tine, acest cod funcționează perfect,
    am o întrebare că am mai multe categorii și subcategorii, așa că vreau doar să fac un post "lipicios" (sticky) pentru fiecare categorie separat, și afișat pe pagina listei de categorii unde sunt listate toate postările din categoria specifică, cum ar fi (categoria Sport -> o postare lipicioasă – categoria rețete de gătit -> o postare lipicioasă) etc

  2. Mulțumesc că m-ai pus pe drumul cel bun!!
    Codul funcționează excelent pentru a afișa titlul acolo unde este inserat scurtcodul.

    Cu toate acestea, încercam să găsesc o metodă de a afișa întreaga postare (tot conținutul, în loc de doar un titlu sau chiar un rezumat) pe o anumită pagină.

    Am decis să mă joc cu codul dvs. de mai sus pentru a încerca să realizez acest lucru și în cele din urmă am reușit...
    Deși titlul este afișat la aceeași dimensiune ca textul paragrafului, sunt sigur că pot rezolva asta.

    Here’s what I changed…please let me know if you think there’s something I should reconsider lest the whole world explodes ;)

    Am schimbat pur și simplu textul dvs. get_the_excerpt() în get_the_content() și acest lucru a preluat cu succes întregul articol de pe blog pe acea pagină.
    Pentru a elimina indentarea cu buline, am eliminat apoi etichetele " " " ", dar a trebuit să las apostrofurile la locul lor, altfel pagina nu s-ar încărca.
    Deci, în esență, unde era " sau " înainte, acum este doar " și așa mai departe.

    Asta e tot ce am schimbat și funcționează ca uns pentru mine...
    Sunt 2 probleme pe care le-am observat:
    1: Uneori încarcă cea mai mare parte a postării, dar nu întotdeauna până la sfârșit, mai ales dacă postarea este editată ulterior... cineva cu sugestii pentru a se asigura că acest lucru nu se întâmplă?
    2: Mi-ar plăcea ca și imaginea de prezentare să apară, acest lucru ar face soluția cea mai flexibilă! Aveți vreo idee în legătură cu asta?

    Mulțumesc din nou pentru sfat!

    Sper că ceea ce am explicat are sens pentru oricine dorește să realizeze același lucru pe care îl urmăream eu.

  3. Salut

    Mulțumesc pentru codul tău. Totuși, încerc să realizez ceva și am 2 probleme.

    Vreau să afișez doar un singur post lipicios pe pagina mea principală și doar videoclipul YouTube prezent în conținut.

    De fapt, afișez titlul și tot conținutul unei postări (inclusiv texte, imagini și videoclipuri).
    A doua problemă este că afișează YouTube ca un link și nu încorporează direct videoclipul pe pagina mea de pornire.

    Mulțumesc pentru ajutor

  4. Salut,

    Am încercat cu codul, funcționează bine când cel puțin 1 postare a fost desemnată ca postare fixă, altfel când niciuna dintre postări nu este desemnată ca fixă, atunci va afișa toate cele mai recente 5 postări.

    Deci, care ar fi condiția pentru a afișa doar postările fixe, dacă nu sunt atribuite postări fixe, atunci nu ar trebui să afișeze nimic.

    Mulțumesc anticipat

  5. ‘caller_get_posts’ a fost înlocuit cu ‘ignore_sticky_posts’ începând cu versiunea 3.1, deci cred că este important să vă schimbați codul pentru a reflecta acest lucru.
    De asemenea, a) $post->ID nu este necesar în această instanță a get_permalink() deoarece ați configurat datele postării apelând $the_query->the_post(), iar dacă din orice motiv doriți totuși să includeți $post->ID, ar trebui să îl faceți global, adică global $post;

Lasă un răspuns

Vă mulțumim 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 comentarii, iar adresa dvs. de e-mail NU va fi publicată. Vă rugăm să NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.