переключить нижний колонтитул на многоязычном сайте - PullRequest
1 голос
/ 18 апреля 2020

У меня есть многоязычный сайт, и я использовал WPML для этой цели. Как я могу использовать два разных колонтитула при смене языка? Нижние колонтитулы не имеют виджетов и представляют собой отдельные страницы.

1 Ответ

2 голосов
/ 18 апреля 2020

В WPML есть своя собственная языковая переменная кода, ICL_LANGUAGE_CODE ... так что вам нужно проверить эту переменную для языка, который вы ищете / хотите работать.

WordPress позволяет вам чтобы иметь несколько нижних колонтитулов, вы можете начать с дублирования файла темы footer.php и добавления чего-либо к имени, например footer-english.php, а затем внести необходимые изменения в этот файл.

Затем вы запускаете условную проверку языковой переменной WPML и, если она соответствует (==) языковому коду, вы получаете нижний колонтитул, который вы хотите использовать get_footer();.

if( ICL_LANGUAGE_CODE == 'en' ):
    get_footer( 'english' ); //will get file footer-english.php
elseif( ICL_LANGUAGE_CODE == 'fr' ):
    get_footer( 'french' );  //will get file footer-french.php
endif;

Другой путь к go достижению аналогичного результата - взять один файл footer.php и использовать переменную ICL_LANGUAGE_CODE и условные if проверки и просто вывести различное содержимое в файл на основе язык. Я бы порекомендовал этот подход только в том случае, если у вас есть заранее установленное количество языков и вы знаете, что не будете добавлять другие в будущем. Вы можете сделать что-то вроде этого:

if( ICL_LANGUAGE_CODE=='en' ):
    echo '<div class"site-info">English Site Name</div>';
elseif( ICL_LANGUAGE_CODE=='fr' ):
    echo '<div class"site-info">Nom de site francais</div>';
endif;

Я не думаю, что это будет так же эффективно, как однократный запуск условной проверки и загрузка соответствующего файла нижнего колонтитула. php, но всегда приятно есть варианты.

...