help with wp_localize_script

时间:2015-11-29 作者:Jamie

我对这个函数有点困惑。

我让它为一个javascript变量工作。我试着让它为另外两个工作,结果发现它将头中的代码重复了3次。我尝试使用数组作为句柄,但这破坏了代码

 <?php wp_localize_script( $handle, $name, $data ); ?> 




 function localize_my_script() {
$image_url = get_template_directory_uri() . \'/images/supersized/\';
$src = get_template_directory_uri() . \'/images/preload.gif\';
$swfLocation = get_template_directory_uri() . \'/js/audiojs.swf\';

$localizations = array( \'image_path\' => $image_url, \'src\' => $src, \'swfLocation\' => $swfLocation );

wp_localize_script( \'shutter\', \'scriptvars\', $localizations );
//wp_localize_script( \'preloader\', \'script\', $localizations );
//wp_localize_script( \'audio\', \'scriptv\', $localizations );
 }
 add_action( \'wp_enqueue_scripts\', \'localize_my_script\' );
上面注释掉了两行,脚本只在头中为所有三个变量打印一行代码。但如果我取消注释2,它会打印三次。它在这一行代码中包含所有三个变量。那么,如何在那里获得句柄,这样就不会再生成两行代码?

1 个回复
SO网友:Mateusz Hajdziony

这就是wp_localize_script 功能正常。它会在包含脚本之前打印所有变量,以确保脚本可以使用这些变量。如果只想打印一次本地化变量,但要确保所有三个脚本都可以访问这些变量,可以在排队/注册脚本时设置依赖项。因此,请注册\'audio\'\'preloader\' 依赖项设置为的脚本\'shutter\' (WordPress将确保\'shutter\' 之前包含\'preloader\'\'audio\'), 然后仅本地化\'shutter\' 剧本

相关推荐