Я работаю над плагином Wordpress. Мне нужно передать директории плагинов (которые могут меняться в зависимости от установки человека) с помощью функции jquery.Как передать несколько переменных PHP функции jQuery?
Каков наилучший способ сделать это? Версия плагина, над которым я могу работать, включала весь javascript в PHP-файл, поэтому функции анализировались вместе с остальной частью содержимого, прежде чем отображаться в браузере.
Я смотрю на 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);
Content URL и URL Плагины различаются только/плагинов/так, если бы я был в затруднении, я только действительно нужно будет сделать один запрос на PHP, а затем принести это в JS.
Вы можете быть заинтересованы в JQuery в ' Функция serializeArray() 'для передачи переменных как одного массива взад и вперед. –