📅  最后修改于: 2023-12-03 15:35:45.070000             🧑  作者: Mango
WP_Scripts::localize 是 WordPress 中的一种脚本本地化方法,用于将PHP变量传递到JavaScript中以便进行翻译。当使用WordPress Theme中的JavaScript的时候,WP_Scripts::localize 可以将绑定翻译函数进行传递,并可使用 JavaScript的.i18n对象进行翻译。
添加 JavaScript 的翻译函数,例如:
$(document).ready(function() {
var dictionary = {
'hello': '你好'
};
if( typeof wp !== 'undefined' && typeof wp.i18n !== 'undefined' ) {
wp.i18n.setLocaleData( dictionary, 'my-theme' );
}
});
在 WordPress Theme 中,翻译函数通常会在functions.php中添加,例如:
function my_theme_scripts() {
wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/my-theme-script.js', array( 'jquery', 'wp-i18n' ), '1.0.0', true );
wp_set_script_translations( 'my-theme-script', 'my-theme' );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );
在这个例子中,post-list-script.js被添加进了 Theme 中,并且需要将它用 wp_set_script_translations 函数本地化至 my-theme。
然后我们需要在JavaScript中使用WP_Scripts::localize来调用用户数据,例如:
wp.i18n._x( 'hello', 'my-theme', 'js' );
注意,'hello'是你在 dictionary 数组中设置的。
WP_Scripts::localize 是一个很强大的功能,可以在 WordPress Theme 开发中更好地用于前端本地化。但是,正确地调用这个方法是至关重要的。使用上述步骤将让你避免很多的错误。