Napisałem prosty wielojęzyczny system, w którym kliknięcie ikony flagi ustawia roczny plik cookie zawierający dwuliterowy kod języka (np. Nl, de itp.).
Wchodzę w wp
akcję, aby odczytać wartość pliku cookie, a następnie używam filtrów the_title
i, the_content
aby pokazać poprawny język (różne języki są wprowadzane za pomocą metaboksów na ekranie edycji strony / postu).
To wszystko działa świetnie, z wyjątkiem tego, że chciałbym również mieć bezpośrednie linki do każdej wersji językowej, w których dwuliterowy kod języka znajduje się między nazwą domeny a zwykłą strukturą bezpośredniego łącza. Korzystam ze %postname%
struktury permalink, więc wszystkie poniższe elementy byłyby poprawne:
http://example.com/nl/about-us
http://example.com/de
http://example.com/fr/2012/03
http://example.com/es/this-is-a-post-title
Jeśli bieżącym językiem jest angielski, nie należy używać dwuliterowego kodu (będzie to zwykły bezpośredni link).
Do tej pory użyłem query_vars
filtru, aby dodać kwerendę o nazwie var lang
, ale to daleko, mam, nie jestem pewien, jakie są kolejne kroki. Wszelkie porady bardzo mile widziane!
źródło
Odpowiedzi:
Twoje pytanie jest wystarczająco skomplikowane, aby odpowiedzieć sam, ale sugeruję zainstalowanie
qTranslate
wtyczki. Zgodnie z opisem wtyczki:Możesz więc spróbować sprawdzić kod wtyczki i zobaczyć, jak to robią, lub po prostu z niej skorzystać.
źródło
To jest filtr, którego używam:
źródło