WPML i CPT – czyli tłumaczenia custom post types w wordpress
Aby WPML „ogarniał” Custom Post Types (CPT) i dodawał im tłumaczenia w językach jakich jest strona, musisz je najpierw zarejestrować w WPML.
Tłumaczenie postów CPT
1. konfiguracja CPT
Zacznij od sprawdzenia czy CPT ma poprawną konfigurację, podaną podczas rejestracji CPT w functions.php:
'public' => true, 'show_in_rest' => true
2. ustawienie tłumaczenia CPT w WPML
Wejdź w: WPML > Settings (Ustawienia) > Post Types Translation
Znajdź swój Custom Post Type na liście (np. portfolio, projekty, itp.).
Ustaw jedną z opcji:
- Translatable (tłumaczalne) – jeśli chcesz mieć osobne wersje językowe wpisów – o tą opcję nam chodzi,
- Translatable – use translation if available or fallback to default language – jeśli chcesz fallback,
- Not translatable – użyj tego jeśli nie chcesz mieć wersji językowych.
Następnie kliknij Save, by zapisać ustawienia.
3. dodanie tłumaczeń
Po ustawieniu powyższego, wejdź w swój CPT (np. „Projekty”)
Przy wpisie zobaczysz kolumnę języków WPML:
- 🇵🇱 PL
- 🇬🇧 EN
- 🇩🇪 DE (lub inny język, w który jest zdefiniowany)
Klikasz ikonę „+” przy języku → tworzysz tłumaczenie. Dzięki temu każdy wpis tego CPT może mieć wersję w każdym ze zdefiniowanych języków strony.
Tłumaczenie slug CPT
1. konfiguracja CPT
Zacznij od sprawdzenia czy CPT ma poprawną konfigurację, podaną podczas rejestracji CPT w functions.php:
'rewrite' => [ 'slug' => 'projekty', 'with_front' => false ],
Pamiętaj by slug był podany w języku, który jest ustawiony w WPML jako główny.
2. ustawienie tłumaczenia CPT w WPML
Wejdź w: WPML > Settings (Ustawienia) > Slug translations
I tam włącz: Translate custom post and taxonomy base slugs (via WPML String Translation).
3. dodanie tłumaczeń
Po ustawieniu powyższego, wejdź w WPML > Settings (Ustawienia) > Post Types Translation
Znajdź swój Custom Post Type na liście (np. portfolio, projekty, itp.) i jeśli wszystko zostało dobrze skonfigurowane powinien być link „Set different slugs in different languages for Portfolio.” z nazwą Twojego CPT.
Po kliknięciu go rozwinie się lista języków i slagów do wpisania. Po ich wprowadzeniu kliknij Save, by zapisać ustawienia.
👉 WAŻNE – Po zmianie slugów, idź do:
Ustawienia > Permalinks > Zapisz (bez zmian, to flush rewrite rules)
Tłumaczenie slug kategorii (taxonomy)
1. konfiguracja taxonomy
Zacznij od sprawdzenia czy taxonomy ma poprawną konfigurację, podaną podczas rejestracji CPT w functions.php:
'rewrite' => [ 'slug' => 'kategoria-projekty', 'with_front' => false ],
Pamiętaj by slug był podany w języku, który jest ustawiony w WPML jako główny.
Hope this helps and happy coding :)
Zobacz jeszcze
NVM - Node Version Manager
NVM - narzędzie działające w wierszu poleceń (skrypt powłoki), które umożliwia instalację i zarządzanie wieloma różnymi wersjami środowiska Node.js na jednym komputerze. Główne...