Вызов определенной страницы в WordPress из PHP с WPML

У меня есть шаблон 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;
?>

0

Решение

Чтобы получить текущий выбранный язык в WPML, используйте следующий код:

global $sitepress;
$language = $sitepress->get_current_language();

Это вернет двухбуквенный код языка, например, «fr» для французского или «it» для итальянского.

Тем не менее, я думаю, что вы пытаетесь найти ссылку на конкретный пост на другом языке. Если вам просто нужно сделать это на индивидуальной основе, Барри Коой написал функцию чтобы сделать это.

Если вы хотите предоставить пользователям возможность переключать язык, на котором они просматривают сообщение, вы должны использовать переключатель языка WPML или создание собственного переключателя языка WPML.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]