Opis
Clouddy renderuje wizualną chmurę tagów (post_tag lub dowolna inna taksonomia) z dynamicznym rozmiarem i płynnym przejściem kolorów zależnym od popularności tagu. Konfiguracja jest globalna; chmurę osadzisz blokiem, widgetem lub shortcode’em.
Rozmiar i kolor liczone są w PHP jedynie jako znormalizowana waga; właściwy rozmiar czcionki i kolor powstają w CSS (custom properties + calc() + color-mix()), więc wszystko nadpiszesz zwykłym CSS — bez !important.
Funkcje:
- Tryby doboru: najpopularniejsze, najrzadsze, losowe oraz hybrydowy (część popularnych + część rzadkich).
- Kolejności wyświetlania niezależne od doboru: wg liczby, alfabetycznie, losowo oraz kolejności „soczewkowe” (najdłuższe / najpopularniejsze / najrzadsze w środku).
- Czarna lista wykluczeń, konfigurowalna taksonomia, regulowany zakres rozmiaru i kolory.
- Cache po stronie serwera (Transients) z unieważnianiem przy zmianach treści i tagów.
- Czysty, łatwy do nadpisania HTML; dostępny kontener nawigacyjny z aria-label.
Zrzuty ekranu




Instalacja
- Wgraj folder
clouddydo/wp-content/plugins/albo zainstaluj wtyczkę przez ekran „Wtyczki” w WordPressie. - Aktywuj wtyczkę przez ekran „Wtyczki” w WordPressie.
- Wejdź w Ustawienia Clouddy, aby skonfigurować chmurę (konfiguracja jest globalna).
- Umieść chmurę za pomocą shortcode’a
[clouddy], bloku Clouddy lub widgetu. - Aby dostosować pojedynczą chmurę, przekaż atrybuty do shortcode’a (np.
[clouddy mode="hybrid" number="40"]) — pełna lista atrybutów w FAQ.
Najczęściej zadawane pytania
-
Jak zmienić rozmiary tagów?
-
W Ustawienia Clouddy ustaw minimalny i maksymalny rozmiar tekstu oraz jednostkę (rem/em/px). Rozmiar każdego tagu jest interpolowany między tymi wartościami na podstawie popularności tagu.
-
Jak ostylować chmurę tagów? (klasy i zmienne CSS)
-
Znaczniki to czysty HTML o niskiej specyficzności — stylujesz go zwykłym CSS w motywie, page builderze (np. Bricks) albo w Wygląd Dostosuj Dodatkowy CSS.
!importantnie jest potrzebny.Generowany HTML:
<nav class="clouddy" style="--clouddy-min:0.8rem; --clouddy-max:2rem; --clouddy-color-a:#888888; --clouddy-color-b:#222222"> <a class="clouddy-tag" href="..." style="--clouddy-weight:0.73"> name <span class="clouddy-count">(24)</span> </a> ... </nav>Punkty zaczepienia CSS:
.clouddy— kontener (<nav>, flex). Przechowuje zmienne--clouddy-min,--clouddy-max,--clouddy-color-a,--clouddy-color-b..clouddy-tag— pojedynczy tag (<a>). Przechowuje--clouddy-weight(0–1 na tag — nie nadpisuj)..clouddy-count— liczba wpisów (<span>, pokazywana tylko gdy włączone „Pokaż liczbę wpisów”).
Rozmiar i kolor liczone są ze zmiennych na kontenerze. Aby zmienić skalę lub kolory, zachowując efekt zależny od popularności, nadpisuj te zmienne — nie
font-size/colorna tagu.Zakres rozmiaru (zachowuje skalowanie wg popularności):
.clouddy { --clouddy-min: 1rem; /* rarest tag */ --clouddy-max: 3rem; /* most popular tag */ }Nie ustawiaj
font-sizena.clouddy-tag— to wyłącza skalowanie. Używaj--clouddy-min/--clouddy-max.Kolory (płynny
color-mix(in oklch …)liczony jest między dwoma krańcami — podajesz tylko skrajne):.clouddy { --clouddy-color-a: #94a3b8; /* rarest */ --clouddy-color-b: #0ea5e9; /* most popular */ }Układ i odstępy:
.clouddy { gap: 0.5rem 1rem; justify-content: center; }Tagi w stylu „pigułek” (nie rusza skalowania rozmiaru):
.clouddy-tag { padding: 0.2em 0.6em; border-radius: 999px; background: #f1f5f9; }Jeden jednolity kolor zamiast gradientu:
.clouddy-tag { color: #333; }Powiększenie na hover, silniejsze dla rzadszych (mniejszych) tagów, z użyciem
--clouddy-weight:.clouddy-tag { transition: transform .25s ease; } .clouddy-tag:hover { transform: scale(calc(1.06 + (1 - var(--clouddy-weight, 0.5)) * 0.18)); }Tutaj
1.06to powiększenie, które dostaje każdy tag, a0.18to dodatek doliczany najrzadszym; obie wartości możesz dowolnie dostroić. -
Czy mogę całkowicie zastąpić domyślny arkusz stylów?
-
Tak. Domyślny arkusz stylów (uchwyt
clouddy) ładuje się na froncie i w podglądzie bloku w edytorze (hookenqueue_block_assets). Aby stylować od zera bez niego, wyrejestruj go na tym samym hooku (Code Snippets lub functions.php motywu):add_action( 'enqueue_block_assets', function () { wp_dequeue_style( 'clouddy' ); }, 20 );Zmienne
--clouddy-weightpozostają w HTML, więc możesz zbudować własny wzórcalc()/color-mix()albo zignorować skalowanie. -
Jak osadzić chmurę tagów?
-
Trzy sposoby, wszystkie renderują tę samą chmurę z ustawień globalnych (Ustawienia Clouddy):
- Blok — dodaj blok „Clouddy — chmura tagów” w edytorze bloków.
- Shortcode —
[clouddy](przyjmuje atrybuty, patrz niżej). - Widget — klasyczny widget „Clouddy — chmura tagów” (motywy z obszarami widgetów).
-
Jakie atrybuty shortcode są obsługiwane?
-
Każdy atrybut jest opcjonalny i nadpisuje ustawienie globalne dla tej jednej chmury, np.
[clouddy mode="hybrid" number="40" order="name_asc"]:mode— które tagi uwzględnić:popular,rare,random,hybrid. Domyślniepopular.number— łączna liczba tagów (liczba całkowita, min. 1). Domyślnie30.order— kolejność wyświetlania:count_desc,count_asc,name_asc,name_desc,random,length_center,count_center,rare_center. Domyślniecount_desc. Warianty*_centerumieszczają najwyżej sklasyfikowane tagi pośrodku (efekt soczewki).rare_count— tylko tryb hybrydowy: ile z całości stanowią najrzadsze (liczba całkowita, ograniczona donumber). Domyślnie5.taxonomy— taksonomia źródłowa. Domyślniepost_tag.exclude— identyfikatory tagów do pominięcia, oddzielone przecinkami, np.exclude="12,34".min_size/max_size— najmniejszy / największy rozmiar tekstu (liczby). Domyślnie0.8/2.0.unit— jednostka rozmiaru:rem,em,px,pt. Domyślnierem.color_a/color_b— kolory hex najrzadszych / najpopularniejszych tagów. Domyślnie#888888/#222222.show_count— dopisuje liczbę wpisów przy każdym tagu (true/false). Domyślniefalse.aria_label— etykieta dostępności kontenera chmury. DomyślnieTag cloud.ttl_minutes— czas życia cache w minutach. Domyślnie720(12 h).
-
Czym jest czas życia cache (TTL) i co robi?
-
Clouddy cache’uje zbiór tagów, o które odpytuje (przez Transients API WordPressa), żeby baza nie była odpytywana przy każdym ładowaniu strony. Czas życia cache (
ttl_minutes) to czas, przez jaki ten zbiór jest przechowywany, zanim zostanie odbudowany z bazy — domyślnie 720 minut (12 godzin). To tylko zabezpieczenie: cache odświeża się też automatycznie przy każdej zmianie treści (zapis lub usunięcie wpisu, dodanie, edycja lub usunięcie tagów). Rzadko trzeba to zmieniać; obniż tę wartość tylko jeśli chcesz węższą górną granicę tego, jak nieaktualna może być chmura. -
Kolejność „losowa” nie zmienia się przy każdym odświeżeniu strony. Dlaczego?
-
Kolejność jest wyliczana w PHP podczas renderowania strony — Clouddy nie używa JavaScriptu. Jeśli korzystasz z wtyczki cache’ującej całe strony lub z CDN (np. LiteSpeed Cache, WP Super Cache, W3 Total Cache albo cache hostingu/CDN), wygenerowany HTML — wraz z tym jednym losowym układem — jest zapisywany i serwowany odwiedzającym, więc kolejność zmienia się dopiero przy regeneracji cache strony. To normalne dla każdej losowej treści renderowanej po stronie serwera. Aby tasować przy każdym wejściu mimo cache, potrzebny byłby JavaScript po stronie klienta, którego Clouddy świadomie unika. Albo wyłącz tę stronę z cache całostronicowego, albo zaakceptuj, że kolejność odświeża się razem z cache.
Recenzje
Wtyczka nie ma jeszcze żadnej recenzji.
Kontrybutorzy i deweloperzy
„Clouddy” jest oprogramowaniem open source. Poniższe osoby miały wkład w rozwój wtyczki.
ZaangażowaniWtyczka „Clouddy” została przetłumaczona na 3 języki. Podziękuj tłumaczom za ich wkład.
Przetłumacz wtyczkę “Clouddy” na swój język.
Interesuje cię rozwój wtyczki?
Przeglądaj kod, sprawdź repozytorium SVN lub czytaj dziennik rozwoju przez RSS.
Rejestr zmian
0.5.6
- Strona ustawień pokazuje teraz na górze wersję wtyczki i datę wydania.
- Strona ustawień pokazuje teraz, ile tagów istnieje łącznie i ile jest nieużywanych (bez wpisów), wraz z rozwijaną listą nieużywanych tagów, obok pola „Łączna liczba tagów w chmurze”.
0.5.5
- Na stronie ustawień dodano link „Wesprzyj rozwój” (z ikoną serca).
- Usunięto dołączone tłumaczenia na język polski, niemiecki i hiszpański — są one teraz dostarczane automatycznie za pośrednictwem serwisu WordPress.org. Tłumaczenie na język francuski pozostaje w pakiecie.
0.5.4
- Poprawka: podgląd bloku w edytorze jest teraz poprawnie ostylowany (tagi mają odstępy i rozmiary) — arkusz stylów ładuje się także w edytorze, nie tylko na froncie.
0.5.3
- Obniżono minimalne wymagania do WordPress 6.3 i PHP 8.0.
- Porządki w dokumentacji, readme i metadanych w ramach przygotowania do katalogu wtyczek WordPress.org.
0.5.2
- Poprawka trybu hybrydowego: gdy udział rzadkich wynosi 0 (lub równa się łącznej liczbie tagów), chmura respektuje teraz limit zamiast pobierać wszystkie tagi.
0.5.1
- Pola minimalnego i maksymalnego rozmiaru tekstu przyjmują teraz dwa miejsca po przecinku (krok 0.01).
0.5.0
- Wielojęzyczność: bazowym językiem interfejsu jest teraz angielski, z dołączonymi tłumaczeniami polskim (pl_PL), francuskim (fr_FR), niemieckim (de_DE) i hiszpańskim (es_ES). Dodano nagłówek Domain Path.
0.4.0
- Trzy nowe kolejności „soczewkowe”: „Najdłuższe w środku” (wg długości nazwy), „Najpopularniejsze w środku” i „Najrzadsze w środku” (wg liczby wpisów) — wybrany ranking pośrodku, reszta ku obu końcom.
- Panel: opcja kolejności „Losowo” przeniesiona na koniec listy.
0.3.0
- Panel ustawień: czytelniejsze nazwy pól i podpowiedź przy każdej opcji.
- Źródło tagów (taksonomia) jako lista rozwijana zarejestrowanych taksonomii — bez wpisywania nazwy z pamięci.
- Czarna lista wykluczeń jako wyszukiwarka tagów po nazwie z chipami — bez ręcznych identyfikatorów.
- Czas życia cache podawany w minutach; ustawienie realnie wpływa na TTL cache.
0.2.0
- Rozdzielenie doboru tagów i kolejności wyświetlania na dwa niezależne ustawienia (nowe pole „Kolejność”: wg liczby, alfabetycznie, losowo).
0.1.0
- Szkielet wtyczki: bootstrap, autoload, hooki cyklu życia.
