在我看来,您可以最小化代码混合,存储get_theme_option("bg_slideshow")
转换为JS变量,尽管它不能从整体上解决问题:
var themeOptBgSlideshow = <?php echo get_theme_option("bg_slideshow"); ?>;
if(themeOptBgSlideshow == 1){
/* Background Images */
var bg_slideshow = jQuery(".bg_slideshow").attr("data-active");
if(bg_slideshow == 1) {
jQuery.vegas(\'slideshow\', {
delay: 8000,
backgrounds:[
<?php echo get_bg_images_url(); ?>
]
})(\'overlay\');
}
}
但如前所述,这种变通方法只会最大限度地减少代码混合。如果您真的想分离代码(这一直是一个很好的实践),我认为唯一的选择是进行AJAX调用。这样,JS可以请求一个PHP页面/函数,该页面/函数只返回
get_theme_option("bg_slideshow")
. 按照上述示例中的建议,将返回值分配给任何变量,就可以开始了。
嗯,我认为AJAX对此的调用是一个有点极端的解决方案。但无论如何,这取决于你决定哪个解决方案最适合你。