Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

🔍 Jak znaleźć i zamienić tekst w WordPress na całej stronie

🔍 Jak znaleźć i zamienić tekst w WordPress na całej stronie

Pisze Pan/Pani post w WordPress już od pół godziny, palce latają, myśli płyną. Wysyła Pan/Pani do publikacji i… zauważa, że nazwę wtyczki wpisał/a Pan/Pani z błędem. Nie w jednym miejscu. W całym tekście. A potem przypomina Pan/Pani sobie: pisał/a Pan/Pani tę nazwę w ten sposób przez ostatnie pół roku w setkach innych artykułów.

Otwierać każdy post ręcznie i wyszukiwać literówki? Załóżmy, że jest ich pięć. A jeśli pięćset?

WordPress od razu po instalacji nie oferuje przycisku „znajdź i zamień" ani w edytorze, ani w całej bazie danych. Ale da się to rozwiązać darmowymi wtyczkami i jednym fragmentem kodu. Bez phpMyAdmin, bez bezpośrednich zapytań SQL, bez ryzyka uszkodzenia strony niewłaściwym poleceniem.

💡 Szybki przegląd:

  • Proszę wbudować wyszukiwanie i zamianę bezpośrednio w edytorze, wtyczka Advanced Editor Tools dodaje przycisk Find and Replace do edytora wizualnego w 2 minuty
  • Proszę zastąpić tekst w całej bazie danych, Better Search Replace wyszukuje i zmienia ciągi znaków we wszystkich tabelach z podglądem i obsługą danych zserializowanych
  • Proszę skonfigurować reguły automatycznej zamiany, Real-Time Find and Replace podmienia tekst „w locie" podczas wyświetlania strony, nie ruszając bazy danych
  • Proszę dodać autolinkowanie słów kluczowych, funkcja PHP w functions.php automatycznie opakowuje wskazane słowa w linki we wszystkich postach jednocześnie

Na wideo: wizualna demonstracja wyszukiwania i zamiany w treści WordPress:

Wyszukiwanie i zamiana tekstu w edytorze WordPress

W klasycznym edytorze WordPress nie ma przycisku „Znajdź i zamień", w przeciwieństwie do Google Docs, Worda i prawie każdego procesora tekstu. W edytorze blokowym Gutenberg również go nie ma. Ale można go dodać.

Odpowiada za to wtyczka Advanced Editor Tools (wcześniej nazywała się TinyMCE Advanced). Rozszerza ona pasek narzędzi edytora wizualnego, a jednym z dostępnych przycisków jest właśnie Find and Replace.

Przycisk wyszukiwania i zamiany w edytorze wizualnym WordPress

Instalacja jest standardowa: „Wtyczki" → „Dodaj nową" → wyszukiwanie „Advanced Editor Tools" → „Zainstaluj" → „Aktywuj". Po aktywacji:

  • Proszę przejść do Ustawienia → Advanced Editor Tools
  • Proszę znaleźć wśród nieużywanych przycisków Find and Replace
  • Proszę przeciągnąć go na pasek edytora
  • Proszę zapisać zmiany

Gotowe. Teraz podczas edycji dowolnego postu w edytorze wizualnym u góry pojawi się przycisk wyszukiwania i zamiany. Wprowadza Pan/Pani szukany tekst, wprowadza zamiennik, wtyczka podświetla dopasowania, można zamienić pojedynczo lub wszystkie naraz.

Minus: działa tylko w obrębie jednego postu. Jeśli trzeba przejrzeć setkę artykułów, potrzebne jest poważniejsze narzędzie.

Wyszukiwanie i zamiana w całej bazie danych, Better Search Replace

Gdy błąd jest rozsiany po dziesiątkach lub setkach wpisów, ręczna poprawka każdego postu zamienia się w pracę na tydzień. Na taki przypadek jest Better Search Replace, darmowa wtyczka od WP Engine, która wyszukuje i zamienia tekst bezpośrednio w bazie danych WordPress.

Interfejs wyszukiwania i zamiany Better Search Replace w WordPress

Możliwości:

  • Wyszukiwanie w całej bazie lub w wybranych tabelach (wp_posts, wp_postmeta itp.)
  • Obsługa danych zserializowanych, wtyczka poprawnie przetwarza tablice i obiekty, nie uszkadzając ich
  • Tryb Dry Run, próbny przebieg bez wprowadzania zmian; widzi Pan/Pani, ile komórek zostanie objętych operacją, i dopiero wtedy decyduje, czy zastosować zamianę
  • Obsługa multisite

Działa to tak: „Narzędzia" → „Better Search Replace" → wprowadza Pan/Pani szukany ciąg i ciąg zamiany → wybiera tabele → uruchamia Dry Run → sprawdza wynik → jeśli wszystko się zgadza, odznacza Pan/Pani Dry Run i uruchamia właściwą zamianę.

Przed jakimikolwiek operacjami na bazie danych proszę zrobić kopię zapasową. Better Search Replace nie cofa zmian, jeśli pomyli się Pan/Pani ciąg zamiany, dane można przywrócić tylko z backupu.

Wtyczka jest regularnie aktualizowana: wersja 1.4.10 ukazała się w styczniu 2025, autor, zespół WP Engine, 543 opinie na WordPress.org ze średnią oceną powyżej 4 gwiazdek. Aktywnych instalacji ponad milion.

Automatyczna zamiana tekstu „w locie", Real-Time Find and Replace

Bywa, że nie trzeba jednorazowo poprawić literówki, lecz skonfigurować stałą regułę: na przykład zastępować wulgaryzmy w komentarzach, podmieniać placeholder reklamowy na kod JavaScript lub automatycznie poprawiać nazwę serwisu po rebrandingu we wszystkich istniejących i przyszłych publikacjach.

Wcześniej używano do tego Word Replacer, ale wtyczka jest zamknięta i nie była aktualizowana od 12 lat. Aktualnym zamiennikiem jest Real-Time Find and Replace.

Interfejs reguł zamiany Real-Time Find and Replace w WordPress

Zasada działania: wtyczka podmienia tekst w momencie generowania strony, zanim trafi ona do przeglądarki użytkownika. Baza danych przy tym nie jest zmieniana, wszystkie reguły istnieją w ustawieniach wtyczki i w każdej chwili może Pan/Pani wyłączyć lub zmienić regułę bez konsekwencji.

Co potrafi wersja darmowa:

  • Zamiana tekstu i kodu HTML na podstawie dokładnego dopasowania
  • Obsługa wyrażeń regularnych (regex) dla złożonych wzorców
  • Zamiana w motywach i innych wtyczkach bez modyfikowania ich plików
  • Działa z treścią AJAX i treścią ładowaną przez jQuery
  • 70 000+ aktywnych instalacji, przetestowana aż do WordPress 7.0

Wersja Pro (licencja dożywotnia poniżej 15 USD) dodaje filtry według typu wpisu, URL i referera, import/eksport reguł oraz możliwość zamiany na stronach administracyjnych.

Typowy scenariusz: chce Pan/Pani, aby słowo „komputer" zawsze stawało się linkiem do Pana/Pani sklepu partnerskiego. Tworzy Pan/Pani regułę: Find = компьютер, Replace = <a href="https://shop.example.com">компьютер</a>. Wtyczka stosuje ją do wszystkich postów, stron i komentarzy w locie.

Automatyczne linki według słów kluczowych przez PHP

Jeśli nie chce Pan/Pani instalować osobnej wtyczki dla kilkunastu linków, zadanie rozwiązuje fragment kodu w functions.php motywu. Przechodzi on przez treść każdego wpisu, znajduje wskazane słowa i opakowuje je w linki.

Pracuje Pan/Pani z functions.php motywu, proszę użyć motywu potomnego, aby poprawki nie zniknęły podczas aktualizacji. I proszę zrobić backup pliku przed edycją.

Kod PHP do automatycznego wstawiania linków w WordPress

Proszę dodać w functions.php taki kod:

1function techblog_auto_link_words( $text ) {
2 $replace = array(
3 'wordpress' => '<a href="https://wordpress.org">WordPress</a>',
4 'php' => '<a href="https://www.php.net">PHP</a>',
5 );
6 $text = str_replace( array_keys( $replace ), $replace, $text );
7 return $text;
8}
9add_filter( 'the_content', 'techblog_auto_link_words' );
10add_filter( 'the_excerpt', 'techblog_auto_link_words' );

Jak to działa: funkcja str_replace szuka kluczy tablicy $replace w tekście wpisu i podmienia je na wartości (linki). Filtry the_content i the_excerpt stosują zamianę odpowiednio do pełnej treści postu i do zajawki.

Tablicę $replace można rozszerzać: dodał/a Pan/Pani nową parę 'ключ' => '<a href="...">анкор</a>', reguła od razu zaczęła działać.

Ograniczenia: zamiana jest wrażliwa na wielkość liter, działa przy dokładnym dopasowaniu i nie potrafi wykluczać słów wewnątrz tagów lub atrybutów. Jeśli w tekście był już link z takim samym anchorem, powstanie link zagnieżdżony. Do złożonych scenariuszy lepiej użyć opisanego wyżej Real-Time Find and Replace.

⁉️🤔 Często zadawane pytania

Czy można znaleźć i zamienić tekst w WordPress bez wtyczek?

Tak, bezpośrednim zapytaniem SQL do bazy danych. Polecenie wygląda mniej więcej tak: UPDATE wp_posts SET post_content = REPLACE(post_content, 'старое', 'новое'). Ale ta metoda nie obsługuje danych zserializowanych, wymaga dostępu do phpMyAdmin lub WP-CLI i nie daje podglądu. Błąd w zapytaniu może uszkodzić bazę. Better Search Replace robi to samo, ale bezpieczniej.

Co zrobić, jeśli po zamianie strona się zepsuła?

Po pierwsze, nie panikować. Jeśli włączył/a Pan/Pani Dry Run przed zamianą, wie Pan/Pani, które dokładnie tabele zostały objęte. Jeśli nie, proszę przywrócić bazę z backupu (zrobił/a Pan/Pani backup przed operacją, prawda?). Better Search Replace nie tworzy własnych kopii zapasowych w wersji darmowej, dlatego backup jest krytyczny.

Czy Real-Time Find and Replace spowalnia stronę?

Przy rozsądnej liczbie reguł (do 50) nie. Wtyczka wykonuje zamianę przed wyświetleniem strony, po stronie serwera, bez dodatkowych zapytań do bazy. Jeśli używa Pan/Pani cache'owania, wpływ jest jeszcze mniejszy. Problemy mogą wystąpić tylko przy złożonych regułach regex z błędami składni.

Czym Real-Time Find and Replace różni się od Better Search Replace?

Better Search Replace zmienia dane w bazie, zmiany są trwałe. Real-Time Find and Replace podmienia tekst podczas wyświetlania, baza pozostaje nienaruszona. Pierwsze do jednorazowych poprawek (literówki, zmiana domeny). Drugie do stałych reguł (cenzura, wstawki reklamowe, autolinkowanie). To nie konkurenci, lecz narzędzia do różnych zadań.

Którą metodę wybrać do zamiany domeny podczas migracji strony?

Tylko Better Search Replace. Zamiana domeny to poprawka tysięcy URL-i w bazie danych (w treści, meta-polach, ustawieniach). Real-Time Find and Replace nie pasuje: nie zmienia danych fizycznie, a przy zmianie domeny potrzebny jest właśnie zapis w bazie. Dodatkowo Better Search Replace poprawnie obsługuje zserializowane tablice, gdzie długość ciągu jest zakodowana razem z wartością.

Co zastosować do Pana/Pani zadania

Zadanie determinuje narzędzie, uniwersalnego „znajdź i zamień" w WordPress nie ma, ale na każdy scenariusz jest gotowe rozwiązanie:

  • Trzeba poprawić kilka fraz w jednym szkicu, Advanced Editor Tools, przycisk Find and Replace w edytorze
  • Literówka rozjechała się po setce postów, Better Search Replace, jedno zapytanie do bazy z podglądem
  • Chce Pan/Pani, aby logo klienta automatycznie opakowywało się w link do strony klienta we wszystkich materiałach, Real-Time Find and Replace, reguła w locie
  • Trzeba rozmieścić linki do kilkunastu słów kluczowych bez instalowania wtyczek, snippet PHP w functions.php, 10 linii kodu

Przed każdą zamianą backup. Przed zamianą w bazie Dry Run. Te dwa nawyki oszczędzają dni odtwarzania danych.