WPML: получение переменных с другой страницы с учетом мультиязычности
Пример случая, когда это может понадобиться: На странице контактов адрес заведения выведен через произвольные поля, и его нужно дублировать на всех страницах сайта в футере. Целесообразно сделать так, чтобы при изменении на странице контактов адрес автоматически подправился на всех страницах, причем учитывало текущий язык страницы.
Есть 2 простых варианта реализации этой задачи.
1. Если такое поле у нас одно: Просто узнаем текущий язык и меняем обращение к странице.
<?php global $sitepress; $current_lang = $sitepress->get_current_language(); if ( $current_lang == 'uk' ) { the_field('fieldname', 1); } else if ( $current_lang == 'en' ) { the_field('fieldname', 2); } ?>
Где fieldname — название поля, а 1, 2 — номер публикации, с которой берем поле в соответствии с языком.
2. Если таких полей у нас много, то прописывать для каждого поля условие не уместно, потому в переменной будем хранить id публикации, к которой будем обращаться.
<?php global $sitepress; $current_lang = $sitepress->get_current_language(); switch ($current_lang) { case 'uk': $contact_page_id = 1; break; case 'en': $contact_page_id = 2; break; } // и в месте запроса содержимого поля соответственно получим the_field('fieldname', $contact_page_id); ?>