Ich verwende wp_localize_script, um einige Werte aus meinen Designoptionen an eine Javascript-Datei zu übergeben. Zuerst habe ich die Werte aus meinen Themenoptionen erhalten:
$options = get_option('theme');
$flex_auto = $options["slide-auto"];
$flex_animation = $options["slide-animation"];
$flex_direction = $options["slide-direction"];
Dann habe ich wp_localize_script
verwendet, um mein Array von Werten zu erstellen.
wp_enqueue_script('flexslider');
wp_localize_script('flexslider', 'flex_vars', array(
'flex_auto' => $flex_auto,
'flex_animation' => $flex_animation,
'flex_direction' => $flex_direction
)
);
In meiner Javascript-Datei habe ich folgendes gemacht:
var $anim = flex_vars.flex_animation;
var $auto = flex_vars.flex_auto;
var $dire = flex_vars.flex_direction;
jQuery('.flexslider').flexslider({
animation: $anim,
slideshow: $auto,
controlNav: 'thumbnails',
directionNav: $dire,
slideshowSpeed: 7000,
animationSpeed: 1000,
touch: true,
});
Zu meinen Themenoptionen gehören einige Werte, die mit Kontrollkästchen erstellt wurden, die mit 0/1-Booleschen Werten funktionieren, während das von mir verwendete jQuery-Plugin mit true/false funktioniert. Ich habe versucht, den Booleschen Wert als Zeichenfolge zu speichern, indem ich ein Dropdown-Menü mit zwei Optionen verwendet habe, entweder true oder false, aber das scheint nicht zu funktionieren. Wie kann ich die Booleschen Werte aus den Theme-Optionen an die Javascript-Datei übergeben? Anregungen und Hinweise sehr willkommen :)
Versuche dies:
$options = get_option( 'theme' );
wp_localize_script( 'flexslider', 'flex_vars', array (
'flex_auto' => ($options['slide-auto']) ? 'true' : 'false',
'flex_animation' => $options['slide-animation'],
'flex_direction' => $options['slide-direction']
) );
Angenommen, slide-auto
ist die Option, die Sie zu einem Booleschen Wert gemacht haben.
Dieses Skript ist nicht getestet, ich habe es hier direkt eingegeben.