it-swarm.com.de

Wie verwende ich get_option () ohne Filter?

Ich benutze das neueste WordPress 3.3.1 und das neueste qTranslate 2.5.27. Ich habe ein AJAX Skript erstellt, das einen Wert und eine Nachricht in der aktuellen Sprache zurückgibt.

Hier bekomme ich mein erstes Problem, ich löse es, indem ich AJAX lang von qtrans_getLanguage() sende und Nachrichten mit qtrans_use($lang, '<!--:pl-->PL message<!--:--><!--:de-->DE message<!--:-->'); verwende

Ich habe eine wp_option in DB: 'example' = '<!--:pl-->polish text<!--:--><!--:de-->deutschland text<!--:-->' und wenn ich get_option('example') benutze, bekomme ich immer Polish text.

Ich habe versucht, setlocale in PHP zu verwenden, aber ohne positives Ergebnis.

get_option() funktioniert in jeder PHP-WordPress-Datei oder -Vorlage korrekt, aber nicht in meinem AJAX ...

BEARBEITEN: In Vorlage:

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

In sendmail.php:

'destination_email' is set to '<!--:pl-->[email protected]<!--:--><!--:de-->[email protected]<!--:-->'

$mail = _e(get_option('destination_email'));

Immer polnische E-Mails bekommen ... sogar

'setlocale(LC_ALL, 'de_DE')'

Jetzt verwende ich Hardcode-E-Mail

$mail = qtrans_use($lang, '<!--:pl-->[email protected]<!--:--><!--:de-->[email protected]<!--:-->');

...

2
Mateusz

Ich vermute, dass Sie Sprach-Tags um 'polnischen Textdeutschland-Text', d. H. <!--:pl-->polish text<!--:--><!--:de-->deutschland text<!--:-->, verwenden, diese aber ignoriert wurden, als Sie Ihre Antwort gepostet haben.

Ich bin mir ziemlich sicher, dass Sie dazu die WordPress-Funktionen __() (die die Übersetzung zur Verwendung in PHP-Code zurückgibt) und _e() (Echo direkt auf dem Bildschirm) verwenden müssen. Wenn Sie sich das qTranslate-Supportforum ansehen FAQ # 14 , verwendet er das Beispiel:

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

In Ihrem Fall denke ich, dass Sie verwenden möchten:

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

Dies setzt voraus, dass Sie es in Ihrem Plugin verwenden. Wenn Sie es in einer Seitenvorlage verwenden, würden Sie Folgendes verwenden:

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