WPML: получение заголовка страницы на другом языке

22 мар. 2011 г., 15:08:28
Просмотры: 14.7K
Голосов: 5

У меня сайт на английском и немецком с использованием плагина WPML. Вопрос: когда сайт в английском режиме - можно ли получить page_title(), но на немецком?

Спасибо

2
Комментарии

Поскольку это премиум-плагин, вряд ли вы получите здесь хороший ответ. Вы можете поискать документацию WPML здесь http://wpml.org/documentation/ или купить лицензию на поддержку за $30 здесь: http://wpml.org/purchase/ У них действительно довольно разумная система, и они смогут дать вам гораздо лучшие ответы гораздо быстрее. Также: бесплатные обновления!

John P Bloch John P Bloch
22 мар. 2011 г. 15:20:22

Я бы рекомендовал размещать вопросы и ответы здесь, это независимое сообщество, и вам не нужно платить, чтобы получить доступ к форуму. Да, я платный клиент WPML, но мне не нравится их реализация форума и политика доступа.

sorin sorin
22 мая 2011 г. 00:32:13
Все ответы на вопрос 2
0

Предположим, исходный язык вашего сайта — английский, тогда при посещении записи на немецком языке вы можете получить заголовок соответствующей записи на английском следующим образом:

// Получаем ID оригинальной записи
$original_ID = icl_object_id( $post->ID, 'post', false, 'en' );

// Получаем заголовок оригинальной записи
$original_title = get_the_title( $original_ID );

Надеюсь, это поможет. В любом случае ознакомьтесь с документацией функции icl_object_id();

20 июн. 2011 г. 19:57:21
0

Спасибо, mike23, твой код сегодня меня буквально спас. Однако в точности он у меня не сработал, мне пришлось внести некоторые изменения, чтобы он заработал в моей ситуации — возможно, из-за более новой версии плагина WPML.

Мне пришлось заменить:

$original_ID = icl_object_id( $post->ID, 'post', false, 'en' );

на:

$original_ID = icl_object_id( $post->ID, 'any', false, 'en' );

Обратите внимание, что единственное изменение — это замена 'post' на 'any'. Небольшая правка, но она решила проблему, так как другие варианты у меня не работали. Надеюсь, это поможет тем, кто столкнётся с такой же проблемой.

P.S.: Я обнаружил, что можно использовать тип 'any', заглянув в файл, где определена эта функция: /wp-content/plugins/sitepress-multilingual-cms/inc/template-functions.php. В этом файле найдите функцию icl_object_id().

29 нояб. 2012 г. 18:10:42