Switch footer for different languages on Wordpress website using Polylang plugin

Dayley picture Dayley · Dec 5, 2017 · Viewed 9.8k times · Source

Wordpress Polylang plugin doesn't seem to translate my footer widgets. So I was thinking about creating separate footers for the different languages and calling the correct footer via a function in my child themes functions.php that checks the page language like so:

function switch_footer_language() {
    if(pll_current_language=='th') {
        get_footer('footer_th.php');

    } elseif(pll_current_language=='en') {
        get_footer('footer_en.php');
    }
}

Would this work? Would this be an appropriate way to do this? Is there a better way? And if so how?

Many Thanks.

Answer

Dayley picture Dayley · Dec 18, 2018

Worked this out myself. Simply add multiple widgets in the footer area but only have them display if the page language is EN, TH, US etc.

In the Wordpress Dashboard I went to Appearance > Widgets and created two widgets in each footer section instead of one Widget. You can then select a language at the bottom of the widget you wish the widget to display for if Polylang is enabled. For example: Write English text in one widget and and set the language to English, create another widget with Thai text (or whatever language) and set the language at the bottom to Thai. Its that simple! Of course you do have to create the languages in Polylang first.

and as @eyal_katz mentioned, if you need to add language-specific in the rest of the footer, use the PolyLang commands in the footer.php or equivalent.