Как использовать get_option () без фильтра?

Я использую новейший WordPress 3.3.1 и новейший qTranslate 2.5.27. Я создал сценарий AJAX, который возвращает значение и сообщение на текущем языке.

Здесь я получаю свою первую проблему, я qtrans_getLanguage() ее, отправив AJAX lang из qtrans_getLanguage() и используя сообщения с qtrans_use($lang, '<!--:pl-->PL message<!--:--><!--:de-->DE message<!--:-->');

У меня есть wp_option в БД: 'example' = '<!--:pl-->polish text<!--:--><!--:de-->deutschland text<!--:-->' и при использовании get_option('example') я всегда получаю Polish text .

Я старался setlocale в PHP, но без какого-либо положительного результата.

get_option() работает правильно в любом файле или шаблоне php WordPress, но не в моем AJAX …

EDIT: В шаблоне:

 $.post('<?php echo get_bloginfo( 'template_url' ); ?>/sendmail.php', { message: input_message, lang: input_lang } 

В sendmail.php:

 'destination_email' is set to '<!--:pl-->x@x.pl<!--:--><!--:de-->x@x.de<!--:-->' $mail = _e(get_option('destination_email')); 

Всегда получать польский адрес электронной почты … даже

 'setlocale(LC_ALL, 'de_DE')' 

Теперь я использую адрес электронной почты с жестким кодом

 $mail = qtrans_use($lang, '<!--:pl-->x@x.pl<!--:--><!--:de-->x@x.de<!--:-->'); 

Я предполагаю, что вы используете языковые метки вокруг «polish textdeutschland text», т. Е. <!--:pl-->polish text<!--:--><!--:de-->deutschland text<!--:--> но они проигнорированы, когда вы отправили свой ответ.

Я уверен, что вам нужно использовать __() (который возвращает перевод для использования в php-коде) и _e() (echo's direct to screen) функции wordpress. Если вы посмотрите на форум поддержки qTranslate # 14 , он использует пример:

 <?php _e("<!--:en-->english text<!--:--><!--:de-->german text<!--:-->"); ?> 

В вашем случае, я думаю, вы хотите использовать:

 <?php __(get_option('example')); ?> 

Предполагается, что вы используете его в своем плагине. Если вы используете его в шаблоне страницы, вы должны использовать:

 <?php _e(get_option('example')); ?>