Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak wyświetlić ograniczoną liczbę tagów po postach w motywie WordPress

Niedawno zapytano nas, jak wyświetlić ograniczoną liczbę tagów po każdym wpisie w motywie WordPress. Zazwyczaj używa się funkcji the_tags(), aby wyświetlić link do tagów, do których należy wpis. Jednak ta funkcja nie posiada parametru ograniczającego liczbę wyświetlanych tagów. Więc jeśli Twój wpis ma 12 tagów, a Twój motyw ma miejsce tylko na 5, może to nie wyglądać dobrze w projekcie. Wielu ludzi po prostu ogranicza użycie tagów lub w ogóle nie umieszcza ich w szablonach. Ale w tym artykule pokażemy Ci, jak możesz ograniczyć liczbę tagów po wpisach w swoim motywie WordPress, nie ograniczając liczby tagów, które dodajesz do każdego wpisu.

Edycja: Wygląda na to, że po napisaniu tego artykułu, najwspanialszy Otto (@otto42) odpowiedział na moim koncie Google+, aby dać mi znać, że istnieje prostszy sposób na osiągnięcie tego celu.

Najpierw musisz otworzyć plik functions.php swojego motywu i dodać tę funkcję:

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

Możesz zmienić liczbę 5 na maksymalną liczbę, którą chcesz.

Następnie otwórz swój plik loop.php, single.php, index.php lub gdziekolwiek chcesz dodać te tagi wpisów (musi być w pętli wpisu), a następnie wklej poniższy kod:

<?php the_tags() ?>

To jest zdecydowanie prostsze niż to, co wymyśliłem, a co zostawię w tym poście dla tych, którzy są zainteresowani.

Stara skomplikowana metoda

Wszystko, co musisz zrobić, to wkleić poniższy kod w pliku motywu (w pętli postów):

<?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
	}
}
?>

Powyższy kod wyświetli 6 tagów w motywie. Jeśli chcesz wyświetlić mniej lub więcej tagów, po prostu dostosuj linię $count > 5 do pożądanej liczby. Pamiętaj, że mimo iż liczba zliczeń mówi „większe niż 5”, widzimy 6 tagów. Dzieje się tak, ponieważ zliczanie zaczyna się od 0. Więc jeśli chcesz wyświetlić tylko 4 tagi, liczba ta musiałaby wynosić 3.

Jeśli chcesz zmienić separator, musisz zmienić linię 9. Obecny kod będzie rozdzielać przecinkami. Możesz również dostosować stylizację, dodając divy, elementy listy lub cokolwiek innego, co lubisz.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz w niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

19 CommentsLeave a Reply

  1. Szanowny Panie,

    Panie, chcę losowo wyświetlać tagi w widżecie, jak mogę to zrobić? Czy może pan podać kod, który mogę dodać do mojego pliku function.php, aby wyświetlał losowe tagi z limitem liczby tagów.

    Dzięki

  2. Ten fragment kodu działa świetnie.

    Ale potrzebuję jednej modyfikacji: chcę wyświetlać tylko pierwsze trzy tagi, które wprowadzam dla każdego wpisu na blogu. Teraz wyświetla trzy tagi, co jest dobrym krokiem.

    Jednakże, konkretnie potrzebuję pierwszych trzech w kolejności, którą określę. Wynika to z przeznaczenia mojej strony internetowej i sposobu prezentacji danych badawczych. Na przykład:

    Jennifer Weaver, Sprawa nr 4455883, Nowy Meksyk

    Tak wprowadzam tagi: Nazwa, numer sprawy, lokalizacja — a potem mam dodatkowe tagi. Ale chcę, aby tylko pierwsze trzy wyświetlały się w metadanych wpisu.

    Czy masz jakieś sugestie, jak to zrobić? Udostępniony przez Ciebie kod wybiera dowolną kolejność. Jeśli moje tagi zostaną wprowadzone w ten sposób — jeden, dwa, trzy, cztery, pięć — wybierze własną aranżację, na przykład:

    pięć, cztery, jeden

    Dziękuję za wszelką pomoc, jaką możesz zaoferować w tej sprawie!!

  3. Cześć.
    Ten post był bardzo pomocny.
    Ale zamierzam utworzyć pojedynczą stronę, taką jak strona kontaktowa, która będzie zawierać opisy jednego z moich produktów.
    Jak mogę dodać moje ulubione tagi dotyczące tych opisów na mojej stronie?
    Innymi słowy, jak mogę dodać moje ulubione tagi na pojedynczej stronie?
    Dziękuję bardzo.

  4. Jak pokazywać losowe tagi?
    przykład: w moim poście na blogu mam 20 tagów,
    i chcę pokazać tag numer 1, tag numer 6, tag numer 5,
    a inny post ma 20 innych tagów,
    i chcę pokazać tagi numer 7, 17, 3.
    ITD

  5. Witaj!

    Jak mogę to zrobić „ogranicz użycie tagów”. Chcę tylko 3 tagi na post/produkt. A jeśli wybiorę 4, liczba zostanie wymazana.

    Dziękuję!

  6. Cześć, jak mogę dodać instrukcję if do tej funkcji?

    Chcę wyświetlić 5 tagów na mojej głównej stronie Bloga (strona statyczna o id=99),
    a następnie wyświetlić wszystkie tagi na stronie pojedynczego wpisu
    Czy jest możliwe połączenie tej funkcji, aby działała z kategoriami wpisów?
    Tak jak powyżej, chcę 5 kategorii i 5 tagów na stronie głównej, a pełną listę na stronie pojedynczego wpisu…
    Przepraszam za mój angielski ;/

    • W tym celu będziesz musiał edytować plik szablonu swojego motywu lub motywu potomnego. Dla tagów możesz spróbować tego kodu:

      <?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. Świetne informacje. Trafiłem na tę stronę przez wyszukiwarkę Google, szukając odpowiedzi na inny problem. Potrzebuję, aby strony tagów wyświetlały nazwy tagów jako nagłówek dla ich poszczególnych stron tagów. Czy istnieje jakiś motyw, który to robi? Obecnie używam motywu Divi i ta funkcja nie jest dostępna.

  8. Tylko do Twojej wiadomości… kiedy wkleiłem te 4 linie do mojego pliku funkcji… cała moja strona stała się pusta. Prawie dostałem ataku paniki. Moja firma hostingowa była w stanie przywrócić ją do działania.

  9. A co z duplikowaniem treści (po aktualizacji Panda) przy użyciu tagów, ponieważ ten sam artykuł będzie na stronach wpisów i tagów.

    Czytałem również na forum WP o negatywnym wpływie nadmiernego używania tagów (więcej niż 10 tagów) dla każdego wpisu.

    • @ata Ludzie nie powinni używać Tagów do SEO. Tagi są wbudowane w WordPress, aby poprawić użyteczność Twojej witryny. Możesz mieć 500 tagów dla jednego posta, jeśli chcesz. Kluczowe jest to, aby śledzić, noindexować strony tagów. W ten sposób wyszukiwarki odwiedzają te strony i podążają za wszystkimi linkami, ale nie indeksują tych stron. To rozwiąże problem SEO. Jest zbyt wielu samozwańczych ekspertów SEO, którzy nie wiedzą, co robią. Umieszczanie ogólnych stwierdzeń, takich jak te, które wymieniłeś powyżej, jest całkowicie błędne, o ile postępujesz zgodnie z naszymi wskazówkami.

      • W rzeczywistości tagi zwiększają ruch na niektórych stronach. Dowody można znaleźć w Google. Szczególnie długie frazy kluczowe powiązane z postem.

        Nie jestem pewien, jak wyszukiwarka może znaleźć linki do Twoich tagów, jeśli są ustawione jako „noindex”. Może adres URL posta, ale nie linki do tagów, ponieważ to nie ma sensu.

        „Ogólne stwierdzenie” wcale nie było stwierdzeniem. Jeśli przeczytałeś mój komentarz, jest to bardziej zapytanie/pytanie, więc nie ma potrzeby mnie atakować.

        • @ata Przede wszystkim pozwól mi być jasnym. Nie gryzę cię w głowę. Frustracja była skierowana w stronę tych ekspertów, którzy wygłaszają ogólne twierdzenia. WordPress pozwala na wiele sposobów indeksowania. Większość ludzi używa kategorii jako podstawowej metody archiwizacji. Aby zapobiec powielaniu treści, możesz używać tylko JEDNEJ podstawowej metody archiwizacji, która jest indeksowalna. Wszystkie metody drugorzędne muszą być oznaczone jako no-index, aby zapobiec powielaniu treści.

          Używamy kategorii jako naszej głównej metody archiwizacji. Jeśli chcesz, możesz używać tagów jako podstawowego źródła archiwizacji. Uważamy, że kategorie lepiej sprawdzają się w przypadku naszych blogów. Jeśli chcesz używać tagów jako podstawowego źródła archiwizacji, zrezygnuj z indeksowania kategorii i archiwów opartych na datach. Jeśli jesteś jedynym autorem na stronie, możesz również zrezygnować z indeksowania archiwów autorów, ponieważ spowoduje to duplikowanie treści. Nie będę dalej dyskutować o teoriach SEO w tym artykule, ponieważ jest to samouczek dotyczący projektowania, a nie SEO.

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.