Как сделать переключатель языков в коде, на Polylang?

Чтобы создать переключатель языков в PHP с использованием Polylang, вам потребуется несколько шагов.

1. Установите и настройте Polylang на своем сайте. Polylang - это плагин для WordPress, который позволяет создавать и управлять многоязычными сайтами. После установки плагина необходимо добавить необходимые языки и настроить переводы для страниц и записей.

2. Создайте функцию для вывода переключателя языков. Вам понадобится определить, какие языки у вас доступны и создать список ссылок для переключения языка. Вот пример кода:

function create_language_switcher() {
    $languages = pll_languages_list(); // получаем список языков Polylang
    foreach ($languages as $lang) {
        $slug = pll_the_language_slug(['slug' => $lang]); // получаем URL-фрагмент языка
        $name = pll_the_language_name(['slug' => $lang]); // получаем название языка
        $url = pll_home_url(['slug' => $slug]); // создаем ссылку на выбранный язык
        echo '<a href="' . esc_url($url) . '">' . esc_html($name) . '</a>';
    }
}

3. Разместите функцию, где нужно вывести переключатель языков, например, в шапке сайта или подвале. Для этого вызовите функцию create_language_switcher() в нужном месте вашего шаблона:

<?php create_language_switcher(); ?>

4. Обратите внимание, что переключатель языков будет работать только на страницах, для которых были созданы переводы. Если настройка поддержки многоязычности в Polylang выполнена правильно, вам будет предложено перевести каждую новую страницу, которую вы создаете.

Вот некоторые примеры производительного кода для JavaScript, который можно дополнительно использовать вместе с PHP для обеспечения плавной работы переключателя языков.

// Переход на выбранный язык при выборе опции переключателя языков
document.addEventListener('DOMContentLoaded', function() {
    var languageSwitcher = document.getElementById('language-switcher');
    if (languageSwitcher !== null) {
        languageSwitcher.addEventListener('change', function() {
            window.location.href = this.value;
        });
    }
});
<!-- Список выбора языка -->
<select id="language-switcher">
    <?php foreach ($languages as $lang) { ?>
        <option value="<?php echo esc_url(pll_home_url(['slug' => pll_the_language_slug(['slug' => $lang])])); ?>"><?php echo esc_html(pll_the_language_name(['slug' => $lang])); ?></option>
    <?php } ?>
</select>

Это основные шаги для создания переключателя языков на Polylang с использованием PHP. Учтите, что вы можете настроить внешний вид переключателя языков, добавив стилизацию CSS по своему усмотрению.