Tagi w WordPress
21 lutego 2008
Nie od zawsze w popularnym systemie blogowym WordPress był wbudowany mechanizm tagów. Przyznam, że bardzo mnie to zdziwiło gdy po raz pierwszy zainstalowałem to oprogramowanie. Ludzie radzili sobie poprzez użycie pluginów. Chyba najpopularniejszy to Ultimate Tag Warrior.
Jakiś czas temu autorzy WordPress dodali wreszcie tagi do blogów. Wpisuje się je w pole tuż pod postem. Jednak znaczna większość szablonów ich nie obsługuje. Dlatego przedstawiam krótką instrukcję jak wyświetlać tagi na swoim blogu.
Najpierw pojedynczy wpis. Wystarczy w pliku PHP (przeważnie index.php i/lub single.php) dodać taki krótki kod:
-
<?php the_tags(); ?>
Oczywiście wybór miejsca wstawienia zależy już tylko od Was. Powyższy kod da taki efekt: Tags: tag1, tag2. Chyba nie muszę wspominać, że w miejsce tag1, tag2 pojawią się Wasze tagi
Jednak zapewne większość z czytających ten wpis chciałaby aby wszystko wyświetlało się w naszym ojczystym języku dlatego pokazuję rozbudowaną metodę:
-
<?php the_tags('przed', 'separator', 'po'); ?>
Opis wartości przekazywanych do funkcji:
przed - tekst, który pojawi się przed tagami np. Moje tagi
separator - znak/tekst, który będzie oddzielał poszczególne tagi
po - tekst, który pojawi się na końcu listy tagów
A teraz przykład:
-
<?php the_tags('Moje tagi: ', ', ', '.'); ?>
Wyświetli nam się coś takiego: Moje tagi: tag1, tag2. Dla tego wpisu będzie to wyglądało tak:
Moje tagi: plugin, tagi, WordPress.
Ale czym byłyby tagi bez tzw. chmury tagów?
Służy do tego poniższa funkcja:
-
<?php wp_tag_cloud(); ?>
Jednak warto skorzystać z paru parametrów, które można do niej przekazać. Oto ich lista:
- smallest - rozmiar czcionki najmniej popularnych tagów
- largest - rozmiar czcionki najbardziej popularnych tagów
- unit - jednostka miary czcionki użytej do wyświetlenia tagów (mogą to być np. px, pt, em)
- number - liczba tagów, które zostaną wyświetlone (wstaw 0 aby wyświetlić wszystkie)
- format - sposób wyświetlania chmurki:
- flat - tagi oddzielone spacją (wartość domyślna)
- list - tagi jako lista, jej wygląd możesz zmieniać poprzez kod CSS dla klasy wp-tag-cloud
- array - tagi zostaną zwrócone jako tablica
- orderby - sortowanie tagów:
- name - według nazwy (sortowanie po alfabecie - wartość domyślna)
- count - według popularności czyli częstotliwości użycia
- order - kolejność wyświetlania (koniecznie DUŻYMI literami):
- ASC - rosnąca czyli od A do Z lub od najmniej popularnych tagów do najbardziej popularnych (wartość domyślna)
- DESC - malejąca, odwrotnie do ASC
- exclude - lista numerów term_id, oddzielane przecinkami. Dla przykładu jeżeli podamy tu wartość '5,27' to tagi o numerach 5 i 27 NIE będą wyświetlane w chmurze tagów, bez względu na ich popularność. Domyślnie ten parametr jest pusty.
- include - lista numerów term_id, oddzielane przecinkami. Dla przykładu jeżeli podamy tu wartość '5,27' to zostaną wyświetlone TYLKO tagi o numerach term_id 5 i 27. Domyślnie wyświetlane są wszystkie tagi a więc tak jakby w tym parametrze zostały wpisane term_id wszystkich tagów.
Na koniec przykład wprost z tego blogu (kod wstawiony w sidebar.php):
-
<div style="text-align: justify; line-height: 1.2; letter-spacing: 0.5pt; word-spacing: 2pt;">
-
<?php wp_tag_cloud('smallest=8&largest=22'); ?>
-
</div>
Jak widać dodałem jeszcze trochę kodu CSS dla poprawy wyglądu chmurki. Od Was już zależy, które jeszcze parametry podacie spośród wymienionych powyżej. Z prawej strony na tej stronie możecie zobaczyć efekt działania.
Blog przede wszystkim o Internecie i mojej pasji jaką jest tworzenie stron www. Ale nie ograniczam się do jednej tematyki, piszę o wszystkim o czym mam ochotę :-)
OQL napisał: 02.05.08 o godzinie 13:00
mnie wkurza że nie mogę w panelu administracyjnym wybierać tagów z listy – tylko ręcznie wklepywać – jest jakaś możliwość żegy tego nie robić?
MariuszT napisał: 02.05.08 o godzinie 19:43
Niestety nie znam rozwiązania. Miałem kiedyś plugin Ultimate Tag Warrior kiedy tagi nie były jeszcze wbudowane w wordpressa. Z tego co kojarzę to tam była lista tagów i wystarczyło kliknąć na wybrany aby dodał się do artykułu. Tyle, że to jest osobny system tagów a nie rozszerzenie funkcjonalności wordpressa. Chociaż może teraz coś się zmieniło… No nie wiem, musisz poszukać pluginów, pewnie jest jakieś rozwiązanie.
OQL napisał: 02.05.08 o godzinie 21:55
w Ultimate Tag Warrior własnie tak było jak mówisz – można było z listingu wybierać – teraz za cholery nie potrafię sobie poradzić
OQL napisał: 02.05.08 o godzinie 22:08
generalnie to mnie zmusiłeś do poszukiwań – no i znalazłem Simple Tags http://wordpress.org/extend/plugins/simple-tags/
MariuszT napisał: 02.05.08 o godzinie 22:32
Hmmm to może i ja się zainteresuje
Zaraz popatrzę, dzięki za link.
OQL napisał: 04.05.08 o godzinie 22:06
coś się pokiepściło – każdy mój tag i w chmurze i pod wpisem linkuje do wszystkich tagów naraz – nie umiem tego naprawić niestety
MariuszT napisał: 04.05.08 o godzinie 23:04
No właśnie widzę na Twoim blogu. Kiepska sprawa :/ Dziwne, bardzo dziwne… Ale nie wiem co robiłeś więc nic Ci nie doradzę :/ Przypomnij sobie jakie zmiany wprowadzałeś i zacznij je wycofywać aż się naprawi.
wojtek napisał: 03.06.08 o godzinie 15:11
Witam
A jak wyświetlić churę tagow tak zeby zmienic wartosc title dla kazdego tagu ?
MariuszT napisał: 03.06.08 o godzinie 15:25
Hmmm …. Wydaje mi się, że jedyny sposób to ustawić „format” jako „array” i samemu w PHP zrobić cały wygląd.
wojtek napisał: 04.06.08 o godzinie 9:01
No tak, ale to dziala dopiero chybw w wersji 2.5, a ja uzywam 2.3.
$tab = wp_tag_cloud(‘format=array’);
var_dump($tab);
nic mi nie zwraca
ale dzieki !!
MariuszT napisał: 04.06.08 o godzinie 10:30
Faktycznie format=array zostało dodane dopiero w 2.5. Radzę więc zaktualizować WP
Pobieżnie przeglądałem inne dostępne funkcje ale wszystkie dotyczą obsługi tagów dołączonych do konkretnego wpisu natomiast za chmurę tagów odpowiedzialna jest tylko funkcja wp_tag_cloud. Jest jeszcze wp_generate_tag_cloud ale nie jest udokumentowana więc sam musisz sprawdzić w źródle jak działa i co robi.
g napisał: 09.09.08 o godzinie 15:41
dzięki, pomocne
Fotograf napisał: 30.10.09 o godzinie 1:05
Dzięki za ten post – szukałem takiego rozwiazania chyba z 5 godzin – aż natknąłem się na Twój blog!
.
Dzięki Twojej instrukcji zrobiłem tagi w kilka minut i cieszę się nową niezwykle skuteczną opcją
Jeszcze raz dzięki, pozdrawiam
artie napisał: 05.01.10 o godzinie 13:34
dobrze trafiłem, z tym że inaczej to wykorzystałem …
stworzyłem tampletke i zrobiłem Tagi na stronie
dzięki za tipsa
Anonim napisał: 06.03.10 o godzinie 23:35
To jest moje ulubione miejsce
. Zawsze wracam po to wp_tag_cloud(); gdy zapomne. Jest jeszcze inne takie miejsce w które wracam po kilka takich kodów jak zapomne. Zawsze wyskakuje na 1. Prawie zapomniałem już po co tu przyszedłem więc ide. Dzięki za kody.
Piotrek napisał: 15.12.10 o godzinie 11:49
to ja mam banalne pytanie: gdzie mam konkretnie wkleić na przykład
żeby tagi zawsze i automatycznie wyświetlały się pod postem?
MariuszT napisał: 15.12.10 o godzinie 11:56
Najczęściej odpowiedniego miejsca trzeba szukać w pliku single.php. To on odpowiada za pojedynczy post. Różne skórki do wordpressa są różnie zbudowane, zawsze trzeba trochę poszperać
Criss napisał: 10.04.11 o godzinie 17:30
Jest znany jakiś sposób na zdefiniowanie odmiennego dla każdej ze stron tagów tytułu lub opisu?
Staram się nadać unikalności każdej ze stron taga, myślę że powyższe byłoby najłatwiejsze.
MariuszT napisał: 10.04.11 o godzinie 20:25
Nic mi nie przychodzi do głowy. Nie znam żadnego sposobu/pluginu którym mógłbyś sobie poradzić z tym problemem.
Criss napisał: 10.04.11 o godzinie 21:17
Ogólnie mówiąc w bieżącej wersji WP na stronie edycji strony kategorii czy tagów jest pole umożliwiające zdefiniowanie jej opisu. Z tego co się zorientowałem niewiele themów tę funkcję obsługuje, niestety mój świeżo zakupiony templat na themeforest także.
Criss napisał: 11.04.11 o godzinie 10:36
Dobra, żeby zadziałało w plik szablonu należy w stosownym dla siebie miejscu wkleić: $tag = $wp_query->get_queried_object();
echo $tag->description;