Как настроить многоязычность сайта в Wordpress?
Здравствуйте! Я столкнулся с проблемой настройки многоязычности на своем сайте WordPress и нуждаюсь в помощи. Я хотел бы иметь возможность создавать контент на разных языках и предоставлять пользователям возможность выбрать нужный им язык.
У меня уже установлен плагин WPML (WordPress Multilingual Plugin) и я настроил основные параметры, но у меня возникли сложности с выводом контента на разных языках в шаблоне сайта.
Вот пример кода, где я столкнулся с проблемой:
<?php
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'orderby' => 'date',
'order' => 'DESC'
);
$query = new WP_Query($args);
if ($query->have_posts()) :
while ($query->have_posts()) : $query->the_post();
the_title();
the_content();
endwhile;
endif;
wp_reset_postdata();
?>
В моем случае, этот код выводит только контент на одном языке, я хотел бы знать как правильно адаптировать его для вывода контента на разных языках с помощью плагина WPML.
Буду благодарен за любую помощь!
Ответы:
Для вывода контента на разных языках с помощью плагина WPML, вам необходимо использовать функции и методы, предоставленные плагином. В вашем примере кода, вы можете добавить соответствующие функции для перевода контента. Вот как это можно сделать:
<?php
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'orderby' => 'date',
'order' => 'DESC'
);
$query = new WP_Query($args);
if ($query->have_posts()) :
while ($query->have_posts()) : $query->the_post();
// Получение переведенного заголовка
$translated_title = apply_filters( 'wpml_translate_single_string', get_the_title(), 'Post Title Translation', 'post_title-' . get_the_ID() );
// Получение переведенного контента
$translated_content = apply_filters( 'wpml_translate_single_string', get_the_content(), 'Post Content Translation', 'post_content-' . get_the_ID() );
// Вывод переведенного заголовка
echo '<h2>' . $translated_title . '</h2>';
// Вывод переведенного контента
echo '<p>' . $translated_content . '</p>';
endwhile;
endif;
wp_reset_postdata();
?>
В этом примере мы используем функцию apply_filters для получения переведенных значений заголовка и контента. В качестве параметров функции мы передаем оригинальное значение, ключ перевода, и идентификатор записи, чтобы WPML могла найти правильный перевод для данной записи.
Кроме того, убедитесь, что у вас установлен и активирован плагин WPML и все необходимые модули языков.
Надеюсь, это поможет вам решить проблему с выводом контента на разных языках с помощью плагина WPML. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать!