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șezi un număr limitat de etichete după postări în tema ta WordPress

Recent, ni s-a cerut cum să afișăm un număr limitat de etichete după fiecare postare în tema dvs. WordPress. În mod normal, folosiți o funcție the_tags() pentru a afișa un link către etichetele la care aparține o postare. Cu toate acestea, acea funcție nu are un parametru pentru a limita numărul de etichete afișate. Deci, dacă postarea dvs. are 12 etichete, iar tema dvs. are spațiu doar pentru 5, atunci s-ar putea să nu arate prea bine în design. Mulți oameni pur și simplu limitează utilizarea etichetelor sau nici măcar nu o includ în șabloane. Dar în acest articol, vă vom arăta cum puteți limita numărul de etichete după postări în tema dvs. WordPress, fără a limita numărul de etichete pe care le adăugați la fiecare postare.

Editare: Aparent, după ce am scris acest articol, cel mai grozav Otto (@otto42) a răspuns pe contul meu de Google+ pentru a mă anunța că există o modalitate mai simplă de a realiza acest lucru.

Mai întâi trebuie să deschideți fișierul functions.php al temei dvs. și să adăugați această funcție:

add_filter('term_links-post_tag','limit_to_five_tags');
function limit_to_five_tags($terms) {
return array_slice($terms,0,5,true);
}

Puteți schimba numărul 5 cu numărul maxim dorit.

Apoi deschide fișierul loop.php, single.php, index.php sau oriunde dorești să adaugi aceste etichete de postare (trebuie să fie în interiorul unui ciclu de postare), apoi lipește următorul cod:

<?php the_tags() ?>

Acest lucru este cu siguranță mult mai simplu decât ceea ce am conceput eu, pe care îl voi lăsa în această postare pentru cei interesați.

Metodă veche complicată

Tot ce trebuie să faceți este să lipiți următorul cod în fișierul temei dvs. (în interiorul buclei de postare):

<?php
$posttags = get_the_tags();
$count=0; $sep='';
if ($posttags) {
	echo 'Tags: ';
	foreach($posttags as $tag) {
		$count++;
		echo $sep . '<a href="'.get_tag_link($tag->term_id).'">'.$tag->name.'</a>';
$sep = ', ';
		if( $count > 5 ) break; //change the number to adjust the count
	}
}
?>

Codul de mai sus va afișa 6 etichete în temă. Dacă doriți să afișați mai puține sau mai multe etichete, pur și simplu ajustați linia $count > 5 cu numărul dorit. Rețineți, chiar dacă numărul de numărare spune mai mare de 5, noi vedem 6 etichete. Acest lucru se datorează faptului că numărătoarea începe de la 0. Deci, dacă doriți să afișați doar 4 etichete, atunci numărul ar trebui să fie 3.

Dacă doriți să schimbați separatorul, atunci trebuie să schimbați linia 9. Codul curent va separa prin virgule. Puteți, de asemenea, să personalizați stilul adăugând div-uri, elemente de listă sau orice altceva doriți.

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

19 CommentsLeave a Reply

  1. Bună ziua, domnule dragă,

    Domnule, vreau să afișez etichete aleatoriu într-un widget, cum pot face asta? Îmi puteți oferi un cod pe care să-l adaug în fișierul meu functions.php, astfel încât să afișeze etichete aleatoriu cu un număr limitat de etichete.

    Mulțumesc

  2. Acest fragment de cod funcționează excelent.

    Dar am nevoie de o modificare: trebuie să afișez doar primele trei etichete pe care le introduc pentru fiecare postare de blog. Acum afișează trei etichete, ceea ce este un pas bun.

    Cu toate acestea, am nevoie în mod specific de primele trei în ordinea în care le specific. Acest lucru se datorează scopului pe care îl servește site-ul meu și modului în care sunt prezentate datele de cercetare. De exemplu:

    Jennifer Weaver, Caz #4455883, New Mexico

    Așa introduc etichetele: Nume, număr caz, locație — și apoi am niște etichete suplimentare. Dar vreau ca doar primele trei să fie afișate în meta-ul intrării.

    Aveți sugestii cum să fac asta? Codul pe care l-ați partajat alege orice ordine dorește. Dacă etichetele mele sunt introduse astfel — unu, doi, trei, patru, cinci — alege aranjamentul propriu, cum ar fi:

    cinci, patru, unu

    Mulțumesc pentru orice ajutor pe care îl puteți oferi cu asta!!

  3. Salut.
    Această postare a fost foarte utilă.
    Dar voi crea o pagină unică, precum pagina de contact, care va conține descrieri despre unul dintre produsele mele.
    Cum pot adăuga etichetele mele preferate legate de acele descrieri în pagina mea?
    Cu alte cuvinte, cum pot adăuga etichetele mele preferate într-o pagină unică?
    Mulțumesc mult.

  4. Cum să afișez taguri aleatorii?
    exemplu: în postarea mea de blog am 20 de taguri,
    Și vreau să afișez tagul numărul 1, tagul numărul 6, tagul numărul 5,
    și altă postare are 20 de taguri,
    și vreau să afișez tagurile numărul 7, 17, 3.
    ETC

  5. Salut!

    Cum pot face acest lucru „limitează utilizarea etichetelor”. Vreau doar 3 etichete per postare/produs. Și dacă selectez un al 4-lea, numărul este șters.

    Mulțumesc!

  6. Salut, cum pot adăuga o instrucțiune if în această funcție?

    Vreau să afișez 5 etichete pe pagina principală a blogului meu (pagină statică cu id=99),
    și apoi să afișez toate etichetele pe pagina postării individuale
    Este posibil să combin această funcție, să funcționeze cu categoria postării?
    La fel ca mai sus, vreau 5 categorii și 5 etichete pe pagina principală, și lista completă pe postarea individuală…
    Scuze pentru engleza mea ;/

    • Pentru asta va trebui să editați fișierul șablon al temei sau al temei copil. Pentru etichete, puteți încerca acest cod:

      <?php
      $posttags = get_the_tags();
      $count=0;
      if ($posttags) {
      	$output = '';
      	foreach($posttags as $tag) {
      		$count++;
      		$output .= $tag->name . ' ';
      		if( $count >5 ) break;
      	}
      }
      echo $output;
      ?>
      

      Admin

  7. Informații grozave. Am ajuns pe acest site printr-o căutare pe Google căutând un răspuns la o altă problemă. Am nevoie ca paginile cu etichete să afișeze numele etichetelor lor ca antet pentru paginile lor individuale de etichete. Există vreo temă care face asta? Folosesc în prezent tema Divi și acea funcție nu este disponibilă.

  8. Cum să tipăresc etichetele aleatoriu?
    De exemplu, 5 din 10 au o etichetă care este afișată aleatoriu

  9. Doar FYI... când am lipit acele 4 linii în fișierul meu de funcții... întregul meu site a devenit alb. Aproape că am intrat în panică. Compania mea de găzduire a reușit să mă repună în funcțiune.

  10. Ce se întâmplă cu conținutul duplicat (după actualizarea Panda) folosind etichete, deoarece același articol va fi pe paginile postării și ale etichetei.

    De asemenea, am citit pe forumul wp cu privire la impactul negativ al utilizării unui număr excesiv de etichete (mai mult de 10 etichete) pentru fiecare postare.

    • @ata Oamenii nu ar trebui să folosească etichetele pentru SEO. Etichetele sunt integrate în WordPress pentru a îmbunătăți utilizabilitatea site-ului dvs. Puteți avea 500 de etichete pentru o singură postare, dacă doriți. Ceea ce este crucial este să urmăriți, să aplicați noindex paginilor cu etichete. Astfel, motoarele de căutare ajung pe acele pagini și urmează toate linkurile, dar nu indexează acele pagini. Acest lucru va rezolva problema SEO. Există prea mulți experți SEO autoproclamați care nu știu ce naiba fac. Afirmațiile generice precum cele menționate mai sus sunt total greșite, atâta timp cât urmați ceea ce spunem noi.

      • De fapt, etichetele cresc traficul pentru unele site-uri. Puteți găsi dovezi pe Google. Mai ales cuvinte cheie long tail atașate unei postări.

        Nu sunt sigur cum motorul de căutare poate găsi linkurile dvs. de etichete dacă este setat ca „noindex”. Poate URL-ul postării, dar nu linkurile de etichete, deoarece nu are sens.

        'Afirmația generică' nu a fost deloc o afirmație. Dacă ați citi comentariul meu, este mai mult o interogare/întrebare, deci nu este nevoie să mă mușcați de cap.

        • În primul rând, să fiu clar. Nu te mușc de cap. Frustrarea a fost exprimată față de acei experți care fac afirmații generice de genul acesta. WordPress permite multe moduri de indexare. Majoritatea oamenilor folosesc categoriile ca metodă principală de arhivare. Pentru a preveni conținutul duplicat, puteți folosi DOAR O metodă principală de arhivare care este indexabilă. Toate metodele secundare trebuie să fie no-index pentru a preveni conținutul duplicat.

          Folosim Categoriile ca metodă principală de arhivare. Dacă doriți, puteți folosi etichetele ca sursă principală de arhivare. Considerăm că categoriile tind să aibă performanțe mai bune pentru blogurile noastre. Dacă doriți să folosiți etichetele ca sursă principală de arhivare, atunci no-index categoriile și arhivele bazate pe dată. Dacă sunteți singurul autor pe site, atunci puteți la fel de bine să no-index arhivele autorului, deoarece și acestea vor genera conținut duplicat. Nu voi mai dezbate teorii SEO în acest articol, deoarece acesta este un tutorial de design, nu de SEO.

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