以下是我正在努力做的:
在WordPress中,我通过wp_localize_script()将一个变量从php传递到外部javascript文件,这部分似乎可以工作,但我想在jQuery函数中使用变量值作为键控参数。
使用alert,正确的值似乎被传递给javascript,但我不知道如何在函数的参数中引用它们。(特别是WideSliderParams.slideshow和speed。)
这里是JavaScript:
alert (WideSliderParams.slideshow); // alerts false
alert (WideSliderParams.animationSpeed); // alerts 5
var speed = 1000 * WideSliderParams.animationSpeed;
alert( speed); //alerts 5000
jQuery('#featured-wide').flexslider({
animation:'slide',
controlNav:false,
animationLoop:true,
slideshow:WideSliderParams.slideshow,
useCSS:false,
smoothHeight:true,
animationSpeed:speed,
sync: "#featured-wide-thumbnav",
manualControls: '.wide-custom-controls li a',
controlsContainer: '.wide-slider',
before: function(slider) {
Etc.
如果重要的话,这是functions.php的文章:
function wpbpp_wide_slider() {
wp_enqueue_script( 'flex-script-main', get_stylesheet_directory_uri().'/js/flex-script-main.js', array( 'jquery' ), '1.0' );
$wpbpp_options = get_option ('wpbpp_settings') ;
$ss = $wpbpp_options['slideshow'];
$as = $wpbpp_options['animationSpeed'];
$wpbpp_slider_options = array (
'slideshow' => $ss,
'animationSpeed' => $as
);
wp_localize_script('flex-script-main', 'WideSliderParams', $wpbpp_slider_options );
}
add_action('wp_enqueue_scripts', 'wpbpp_wide_slider');
好的,经过更多的测试,我确实认为这是一个类型问题。
我从html/php表单传递给js的值是一个字符串“true”或“false”,两者都被读取为布尔值true。
现在我将它们转换为布尔值,该函数似乎可以工作。谢谢大家。