Polylang – Přepínání jazykové mutace v šabloně
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.
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:
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.