Tip & Tricks

Automatyczny znak wodny na zdjęciach w WordPressie

Opublikowano: 05.08.2026 6 min czytania

Znak wodny pomaga oznaczyć zdjęcia publikowane w sklepie internetowym, portfolio lub na blogu. Może zawierać logo, nazwę marki albo inny element identyfikujący właściciela materiału.

Poniższy kod tworzy w WordPressie kompletny system znaku wodnego. Pozwala wybrać własny obraz, ustawić jego pozycję, przezroczystość i wielkość, a następnie automatycznie nakłada go na nowe zdjęcia.

Rozwiązanie może być używane również w WooCommerce. Zdjęcia produktów przesyłane do biblioteki mediów są przetwarzane razem z pozostałymi obrazami obsługiwanymi przez kod.

Ważne ograniczenie

Kod nie ogranicza działania wyłącznie do produktów WooCommerce. Automatycznie przetwarza wszystkie nowe, obsługiwane obrazy dodawane do biblioteki mediów, z wyjątkiem pliku używanego jako źródło znaku wodnego.

Jeśli znak ma trafiać wyłącznie na zdjęcia produktów, kod wymaga dodatkowego warunku sprawdzającego powiązanie obrazu z produktem.

Co robi przygotowany kod?

Po aktywowaniu fragmentu w panelu WordPressa pojawia się nowa strona: Ustawienia → Znak wodny.

Z tego miejsca administrator może:

  • wybrać obraz znaku wodnego z biblioteki mediów,
  • przesłać nowy plik logo,
  • ustawić pozycję znaku na zdjęciu,
  • określić jego przezroczystość,
  • wybrać wielkość znaku,
  • zobaczyć podgląd ustawień na żywo,
  • automatycznie oznaczać nowe zdjęcia,
  • ręcznie zsynchronizować znak na istniejącym obrazie.
Proste wyjaśnienie

Wybierasz logo, określasz jego wielkość i miejsce, a WordPress nakłada je na nowe zdjęcia oraz ich wygenerowane rozmiary.

Automatyczne znakowanie nowych zdjęć

Kod uruchamia się podczas generowania metadanych i rozmiarów nowego obrazu. WordPress tworzy wtedy między innymi miniaturę, rozmiar średni, duży oraz dodatkowe warianty zarejestrowane przez motyw i wtyczki.

Znak wodny jest nakładany na:

  • plik w pełnym rozmiarze,
  • miniatury WordPressa,
  • rozmiary używane w archiwum produktów,
  • dodatkowe rozmiary obrazów utworzone przez motyw lub wtyczki.

Dzięki temu znak nie znajduje się wyłącznie na dużym zdjęciu produktu. Może być widoczny również na kafelkach sklepu, listach produktów i innych miejscach korzystających z mniejszych wersji obrazu.

Dlaczego zdjęcie w archiwum produktu może pojawić się z opóźnieniem?

Przetwarzanie może potrwać

Po przesłaniu dużego zdjęcia WordPress musi wygenerować wszystkie wymagane rozmiary, utworzyć kopie czystych plików i nałożyć znak na każdy wariant. Na wolniejszym hostingu albo przy dużej liczbie rozmiarów może to potrwać od kilkunastu sekund do nawet kilku minut.

Z tego powodu w archiwum produktów przez pewien czas może być widoczna starsza wersja zdjęcia, obraz bez znaku albo chwilowo puste miejsce. Nie zawsze oznacza to błąd kodu. Czasami należy poczekać kilka minut, aż wszystkie pliki zostaną przetworzone i wyświetlone.

Czas pracy zależy między innymi od:

  • wymiarów i wagi oryginalnego zdjęcia,
  • liczby rozmiarów generowanych przez WordPress,
  • wydajności serwera,
  • użycia Imagick albo GD,
  • wielkości pliku znaku wodnego.

Szczególnie silnik GD może potrzebować więcej czasu, ponieważ zmiana przezroczystości znaku jest wykonywana na poziomie pojedynczych pikseli.

Pamięć podręczna może blokować odświeżenie zdjęcia

Nawet po poprawnym zapisaniu nowego pliku przeglądarka, wtyczka cache, serwer lub sieć CDN mogą nadal pokazywać wcześniejszą wersję obrazu.

Jeśli znak wodny nie pojawia się w archiwum produktu, wykonaj kolejno:

Poczekaj na przetworzenie

Przy dużych zdjęciach odczekaj kilka minut.

Odśwież stronę bez cache

Użyj twardego odświeżenia przeglądarki albo sprawdź stronę w trybie prywatnym.

Wyczyść cache WordPressa

Usuń pamięć podręczną wtyczki optymalizacyjnej i cache serwera.

Wyczyść CDN

Jeśli korzystasz z Cloudflare albo innej sieci CDN, usuń również jej cache obrazów.

Dobra praktyka

Nie synchronizuj tego samego obrazu wielokrotnie tylko dlatego, że zmiana nie jest od razu widoczna. Najpierw odczekaj, wyczyść cache i sprawdź bezpośredni adres pliku.

Pozycja, wielkość i przezroczystość

Kod udostępnia dziewięć pozycji znaku:

  • środek,
  • cztery narożniki,
  • środek górnej i dolnej krawędzi,
  • środek lewej i prawej krawędzi.

Wielkość można ustawić na 25, 50, 75 lub 100 procent wymiarów zdjęcia. Wartość 0 procent pozostawia obraz bez widocznego znaku.

Przezroczystość jest regulowana w zakresie od 0 do 100 procent. Podgląd w panelu zmienia się na żywo, ale ustawienia są zapisywane dopiero po kliknięciu przycisku „Zapisz”.

Jaki plik wybrać jako znak wodny?

Najlepszy efekt daje logo zapisane jako PNG albo WebP z przezroczystym tłem.

Plik powinien:

  • mieć czytelny kształt,
  • zachowywać jakość po zmniejszeniu,
  • nie posiadać dużego pustego marginesu,
  • kontrastować z typowymi zdjęciami sklepu.

Wybrany plik zostaje oznaczony jako źródło znaku. Kod nie nakłada znaku wodnego na samo logo.

Synchronizacja istniejących zdjęć

Automatyczne znakowanie obejmuje nowe obrazy. Dla zdjęć znajdujących się już w bibliotece mediów kod dodaje przycisk: „Synchronizacja znaku wodnego”.

Po jego użyciu kod:

Przywraca czystą kopię

Jeżeli wcześniej utworzono backup, obraz nie jest znakowany kolejny raz na poprzednim znaku.

Pobiera aktualne ustawienia

Stosuje bieżącą pozycję, wielkość i przezroczystość.

Przetwarza wszystkie rozmiary

Aktualizuje pełny obraz oraz dostępne miniatury.

Brak synchronizacji zbiorczej

Kod nie zawiera przycisku masowego przetworzenia całej biblioteki. Istniejące zdjęcia synchronizuje się pojedynczo w szczegółach załącznika.

Kopie czystych plików

Przed pierwszym nałożeniem znaku kod tworzy kopię każdego przetwarzanego pliku. Dzięki temu późniejsza synchronizacja może najpierw przywrócić czysty obraz, a dopiero potem zastosować nowe ustawienia.

Kopie są zapisywane w katalogu:

Katalog backupów

wp-content/uploads/.sws-watermark-backups

Kod tworzy pliki ochronne dla serwerów Apache i IIS. Na serwerze Nginx warto dodatkowo sprawdzić, czy katalog kopii nie jest dostępny publicznie i w razie potrzeby zablokować go w konfiguracji serwera.

Obsługiwane formaty i wymagania serwera

Jako zdjęcia docelowe obsługiwane są:

  • JPEG,
  • PNG,
  • WebP,
  • AVIF, jeśli serwer potrafi ten format odczytać i zapisać.

SVG i GIF jako obrazy docelowe są pomijane. Kod wymaga przynajmniej jednego silnika przetwarzania:

  • Imagick,
  • GD.

Panel ustawień wyświetla informację o aktywnym silniku. Jeżeli serwer nie posiada Imagick ani GD, podgląd może działać, ale pliki nie zostaną zmodyfikowane.

Jak dodać kod przez Code Snippets?

Zainstaluj Code Snippets

W panelu WordPressa przejdź do sekcji wtyczek, zainstaluj Code Snippets i aktywuj ją.

Dodaj nowy fragment PHP

Utwórz nowy snippet i nadaj mu nazwę, na przykład „SWS znak wodny”.

Wklej cały kod

W Code Snippets nie dodawaj znacznika otwierającego <?php. Kod w poniższym boxie został już przygotowany bez tego znacznika.

Uruchom fragment wszędzie

Zapisz snippet i ustaw jego działanie w całej witrynie.

Skonfiguruj znak

Przejdź do Ustawienia → Znak wodny, wybierz plik, ustaw pozycję, wielkość i przezroczystość, a następnie zapisz zmiany.

Gotowy kod

Poniższy fragment jest przeznaczony do wtyczki Code Snippets. Przed aktywacją wykonaj kopię zapasową plików i bazy danych, a następnie przetestuj działanie na jednym obrazie.

Testuj przed wdrożeniem

Kod fizycznie modyfikuje pliki obrazów w katalogu uploads. Tworzy własne kopie czystych plików, ale pełna kopia bezpieczeństwa strony nadal jest konieczna.

PHP
Ładowanie kodu…

Jak przetestować działanie?

Wybierz znak

Użyj prostego pliku PNG z przezroczystym tłem.

Prześlij testowe zdjęcie

Nie zaczynaj od najważniejszego zdjęcia produktu.

Sprawdź różne rozmiary

Otwórz pełny obraz, miniaturę oraz kafelek produktu w archiwum.

Zmień ustawienia

Zmień pozycję albo wielkość i użyj synchronizacji na zdjęciu testowym.

Sprawdź cache

Zweryfikuj stronę w trybie prywatnym i po wyczyszczeniu pamięci podręcznej.

Podsumowanie

Kod tworzy rozbudowany system znaku wodnego bez instalowania osobnej wtyczki do obrazów. Udostępnia panel ustawień, podgląd na żywo, automatyczne znakowanie nowych plików, ręczną synchronizację i kopie czystych obrazów.

Najważniejszą rzeczą jest cierpliwość podczas przetwarzania. Duże zdjęcie i wiele rozmiarów mogą wymagać kilku minut. Jeżeli zmiana nie pojawia się od razu w archiwum produktów, trzeba sprawdzić cache przeglądarki, WordPressa, serwera i CDN.

Przed użyciem na działającym sklepie należy wykonać kopię zapasową i przeprowadzić test na jednym obrazie.

[custome_form]