Ostatnio zapytano nas, jak wyświetlić ograniczoną liczbę tagów po każdym wpisie w twoim motywie WordPress. Zwykle używasz funkcji the_tags(), aby wyświetlić odnośnik do tagów, do których należy wpis. Jednak funkcja ta nie ma parametru ograniczającego liczbę wyświetlanych tagów. Jeśli więc twój wpis ma 12 tagów, a twój motyw ma miejsce tylko na 5, może to nie wyglądać zbyt dobrze w projekcie. Wiele osób po prostu ogranicza użycie tagów lub nawet nie uwzględnia ich w szablonach. Ale w tym artykule pokażemy ci, jak możesz ograniczyć liczbę tagów po wpisach w twoim motywie WordPress bez ograniczania liczby tagów dodawanych do każdego wpisu.
Edycja: Najwyraźniej po napisaniu tego artykułu, najbardziej niesamowity Otto (@otto42) odpowiedział na moim koncie Google+, aby poinformować mnie, że istnieje prostszy sposób na osiągnięcie tego celu.
Najpierw musisz otworzyć plik functions. php twojego 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 twój loop.php, single.php, index.php, lub gdziekolwiek chcesz dodać te tagi postów (musi być wewnątrz pętli wpisów), a następnie wklej następujący kod:
<?php the_tags() ?>
.
Jest to zdecydowanie o wiele prostsze niż to, co wymyśliłem, co zostawię w tym wpisie dla tych, którzy są zainteresowani.
Stara skomplikowana metoda
Wszystko, co musisz zrobić, to wkleić następujący kod do pliku twojego motywu (wewnątrz pętli wpisó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 tagów lub więcej, po prostu dostosuj linię $count > 5 z żądaną liczbą. Pamiętaj, że nawet jeśli liczba jest większa niż 5, widzimy 6 tagów. Dzieje się tak, ponieważ liczba zaczyna się od 0. Jeśli więc chcesz wyświetlać tylko 4 tagi, liczba ta powinna wynosić 3.
Jeśli chcesz zmienić separator, musisz zmienić linię 9. Obecny, aktualny kod oddziela przecinkami. Możesz również dostosować konfigurator, dodając elementy div, elementy listy lub cokolwiek innego, co ci się podoba.
Jilaan
Hi Dear Sir,
sir i want to show randomly tags in widget how can i do that can you give a code which i can added on my function.php file so its showing randomly tags with limit of tags number.
Thanks
WPBeginner Support
For what it sounds like you are wanting, you would want to take a look at our article here: https://www.wpbeginner.com/plugins/how-to-display-most-popular-tags-in-wordpress/
Administrator
C. Dee
This code snippet works great.
But I need one modification: I need to only show the first three tags that I enter for each blog post. It’s now showing three tags, which is a good step.
However, I specifically need the first three in the order I specify. This is because of the purpose my website serves and how research data is presented. For example:
Jennifer Weaver, Case #4455883, New Mexico
That’s how I’m entering tags: Name, case number, location — and then I have some additional tags. But I only want the first three to display in the entry meta.
Any suggestions how to do this? The code you shared chooses any order it wants. If my tags are entered like this — one, two, three, four, five — it chooses its own arrangement, such as:
five, four, one
Thanks for any help you can offer with this!!
mahmood dabestani
Hi.
this post was very useful.
But I’m going to create a single page like contact page that it has descriptions about one of my products.
how can I add my favorite tags about that descriptions in my page?
in other word how can I add my favorite tags in a single page?
thank you so much.
joni
How for showing random tags?
example: in my posting blog have 20 tags,
And i want showing tags number 1, tag number 6, tag number 5,
and another post have 20 some tags,
and i want showing tags number 7, 17, 3.
ETC
Hector P
Hello!
How can I do this „limit the usage of tags”. I want only 3 tags per post/product. And if I select a 4, the number is erased.
Thank you!
WPBeginner Support
@Hector Thanks for the suggestion. We have published a new article on how to set maximum tags for WordPress posts. Please take a look, let us know if it helps.
Administrator
Gabrielle
Hi, how can i add if is statement to this function?
I want to show 5 tags on my main Blog Page(Static page with id=99),
and then show all tags in single-post page
Is it possible to combine this function, to work with post category?
Like Above, i want 5 categories and 5 tags on main page, and full list on single-post…
Sorry for my English ;/
WPBeginner Support
For that you will have to edit your theme or child theme’s template file. For tags you can try this code:
1-click Use in WordPress
Administrator
Andrew
Great info. I came to this site though google search looking for an answer to another problem I need the tag pages to display their tag names as a heading for their individual tag pages. Is there any theme that does this? I am currently using the Divi theme and that feature is not available.
Mehmet Çağatay
How to print the labels at random?
For example, 5 out of 10 have a label that is shown on a random
Jill
Just FYI…when I pasted those 4 lines in my functions file…my entire site went blank. I about had a panic attack. My hosting company was able to get me back up.
Editorial Staff
You probably didn’t paste it in the right syntax.
https://www.wpbeginner.com/beginners-guide/beginners-guide-to-pasting-snippets-from-the-web-into-wordpress/
Administrator
ata
What about duplicate content (after Panda update) using tags as same article will be on the post and tag pages.
Also, i read on wp forum regarding the negative impact of using excessive tags (more than 10 tags) for each post.
wpbeginner
@ata People should not use Tags for SEO. Tags are built-in to WordPress to improve the usability of your site. You can have 500 tags for one post for all that matters. What is crucial is that you follow, noindex the tags pages. So search engines go to those pages and follow all the links, but don’t index those pages. That will solve the SEO problem. There are too many self-proclaimed SEO experts who don’t know what the heck they are doing. Putting generic statements like the ones you mentioned above are totally wrong as long as you follow what we are saying.
ata
Actually tags does increase traffic for some sites. You can find proof on Google. Especially long tail keywords attached to a post.
Not sure how the search engine can find your tag links if it is set as 'noindex’. Maybe the post url but not the tag links as it doesn’t make sense.
The 'generic statement’ was not a statement.at all. If you read my comment, it is more of a query/question so there is no need to bite my head off.
wpbeginner
@ata First of all let me be clear. I am not biting your head off. The frustration was expressed toward those experts that go along making generic claims like that. WordPress allows for many ways of indexation. Most folks use category as their primary method of archives. In order to prevent duplicate content, you can only use ONE primary method of archive that is indexable. All secondary methods need to be no-index in order to prevent duplicate content.
We use Categories as our main method of archiving. If you want you can use tags as a primary source of archiving. We find that categories tend to perform better for our blogs. If you want to use tags as a primary source of archiving, then no-index categories, and date based archives. If you are the only author on the site, then you might as well no-index author archives because that will just produce duplicate content as well.Will not argue SEO theories any further in this article because this is a tutorial for design not SEO.
astronyu
I was looking for this. Thanks for sharing. I agree with @mrahmadawais the first method works just fine and it is simple too.
Livefyre
the first method is just great