我正在开发一个Wordpress插件。我需要将插件目录(可以根据个人的安装情况进行更改)传递给jquery函数。如何将多个PHP变量传递给jQuery函数?
这样做的最好方法是什么?我可以使用的插件版本包含了PHP文件中的所有JavaScript,因此在浏览器中呈现之前,函数与其余内容一起被解析。
我在看AJAX,但我认为它可能比我需要更复杂。在这种情况下,我只能使用两个变量(目录,没有用户设置)。
正如我已阅读其良好的做法,我试图保持js和php分开。当插件初始化时,它调用的js文件:
//Wordpress calls the .js when the plugin loads
wp_enqueue_script('wp-backitup-funtions', plugin_dir_url(__FILE__) . 'js/wp-backitup.js', array('jquery'));
然后我在.js文件,并需要弄清楚如何生成以下变量:
dir = '<?php echo content_url() ."/plugins"; ?>';
dir = '<?php echo content_url() ."/themes"; ?>';
dir = '<?php echo content_url() ."/uploads"; ?>';
并运行解析以下请求:
xmlhttp.open("POST","<?php echo plugins_url() .'/wp-backitup/includes/wp-backitup-restore.php'); ?>",true);
xmlhttp.open("POST","<?php echo plugins_url() .'/wp-backitup/includes/wp-backitup-start.php'); ?>",true);
xmlhttp.open("POST","<?php echo plugins_url() .'/wp-backitup/wp-backitup-directory.php'); ?>",true);
xmlhttp.open("POST","<?php echo plugins_url() .'/wp-backitup/wp-backitup-db.php'); ?>",true);
window.location = "<?php echo plugins_url() .'/wp-backitup/backitup-project.zip'); ?>";
xmlhttp.open("POST","<?php echo plugins_url() .'/wp-backitup/wp-backitup-delete.php'); ?>",true);
内容URL和插件URL只/插件不同,/所以,如果我是很难,我只真正需要做一个PHP请求,然后把这个到JS。
您可能会感兴趣的JQuery的' serializeArray()'函数将变量作为单个数组来回传递。 –