У меня есть шаблон WordPress, который работает с блоками. Вы отображаете страницу в блоке, а затем добавляете этот блок в свой дом. Тем не менее, один блок не имеет опцию отображения, поэтому я сделал следующее.
Я открыл файл PHP из этого конкретного блока и добавил код для вызова страницы с идентификатором.
<?php
$my_id = 1575;
$post_id_1575 = get_post($my_id);
$content = $post_id_1575->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
?>
На странице есть ID=1575
, Однако когда я использую WPML для дублирования страницы и создания ее на другом языке, она создает новую страницу с новым идентификатором. Есть ли способ проверить выбранный язык в PHP, а затем вызвать другой идентификатор страницы?
Например:
<?php
if (language == "en") {
$my_id = 1575;
} else {
$my_id = 1580;
}
$post_id_1575 = get_post($my_id);
$content = $post_id_1575->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
?>
Чтобы получить текущий выбранный язык в WPML, используйте следующий код:
global $sitepress;
$language = $sitepress->get_current_language();
Это вернет двухбуквенный код языка, например, «fr» для французского или «it» для итальянского.
Тем не менее, я думаю, что вы пытаетесь найти ссылку на конкретный пост на другом языке. Если вам просто нужно сделать это на индивидуальной основе, Барри Коой написал функцию чтобы сделать это.
Если вы хотите предоставить пользователям возможность переключать язык, на котором они просматривают сообщение, вы должны использовать переключатель языка WPML или создание собственного переключателя языка WPML.
Других решений пока нет …