Polylang – Přepínání jazykové mutace v šabloně

  • 04.09.2020

Pokud používáte pro jazykové mutace ve WordPress plugin Polylang a potřebujete v rámci šablony na míru napasovat jejich přepínání, může se hodit následující řešení.

Výchozí funkce Polylangu

Polylang nabízí funkci pll_the_languages(), pomocí které lze přepínání jazykové mutace. Bohužel není moc možností, jak ovlivnit výsledné HTML a pokud potřebujete přepínání jazykových mutací napasovat přímo do Vaší, již hotové šablony, je to problém a je potřeba sáhnout po vlastním řešení.

Získání aktuálního jazyka v Polylang

Pro získání aktivní jazykové mutace slouží v Polylangu funkce pll_current_language(). Ta nám však vrací pouze kód jazyka, např. cs pro češtinu. Někdy se může hodit zobrazit např. celý název, v určitých případech můžeme potřebovat i URL mutace.

V následujícím snippetu využijeme funkci pll_the_languages(), o které už byla řeč, její výstup si však „zpracujeme“ po svém.

PHP

Díky těmto 3 řádkům kódu získáme v proměnné $languages pole s potřebnými daty pro všechny jazykové mutace a do $current uložíme data pro aktuální mutaci.

Pro každou mutaci máme tak získána data, která lze libovolně využít:

PHP

Bootstrap dropdown – výběr jazyka

V ukázce kódu níže je to celé zasazeno do HTML struktury Bootstrap dropdownu, pokud tedy Vaše šablona běží na Bootstrapu, měla by se Vám zobrazit rozbalovací nabídka pro přepnutí jazykové mutace.

PHP