Я создал функцию AJAX, которая запускается при событии щелчка на внешнем интерфейсе.Внутри этой функции я хочу иметь возможность генерировать электронную таблицу XLS, но я не могу сделать это внутри функции.Я считаю, что это связано со мной, объявляя операторы использования вне функции, может быть, функция не может получить доступ к классам?Я попытался объявить их внутри функции, и я получил эту ошибку;
syntax error, unexpected 'use'
У кого-нибудь есть решение для этого?Вот мой код:
add_action('wp_ajax_nopriv_campaign', 'email_campaign');
add_action('wp_ajax_campaign', 'email_campaign');
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
function email_campaign(){
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');
die();
}
вот как я вызываю свою функцию;
$('#campaign_form').submit(function(e){
e.preventDefault();
$.ajax({
url: ajax_url,
type: 'post',
dataType: 'json',
data: {
action: 'campaign'
},
error : function(response){
console.log(response);
},
success : function(response){
console.log(response);
}
});
});