WPプラグイン開発は初めてです。私は、翻訳のためにテキストが__()関数の中に含まれるというテーマを持っています。
__('This is text to be translated');
__()関数から値を取得し、自分で定義した関数を実行するプラグインを作成したいと思います。 __()内のテキストに次のものが含まれているとします。
__("This is JavaScript alert <script>alert('Hello');</script>");
私は私のプラグインがブラウザでそれを印刷する前に健全性チェックをすることを望みます。
function my_sanitizer($text) {
$text = trim(strip_tags($text)); // The $text is value from __() of above
return $text;
}
サニタイズされたテキストはブラウザに表示されます。
どのように私はこれに近づいているのでしょうか、どんなヒント、アイデア、解決策も評価されるでしょう。
国際化機能(__()、_e()など)によって翻訳されたテキストに適用される gettext
フィルタフックを見てください。例えば:
add_filter( 'gettext', 'my_sanitizer', 20, 3 );
/**
* my_sanitizer
* @param string $translated_text the translation
* @param string $text the origial text from __()
* @param string $domain text domain
* @return string
*/
function my_sanitizer( $translated_text, $text, $domain ) {
$translated_text = trim(strip_tags($translated_text));
return $translated_text;
}