У меня есть вызов Ajax, который запускает функцию, скажем, из file1.php и работает нормально.Но когда я вызываю другую функцию, скажем, из файла file2.php, она не запускается и возвращает ошибку.
моя упрощенная установка:
//functions.php
require('dir1/php1.php');
require('dir2/php2.php');
//php1.php
function func1(){
echo 'Hello world';
echo func2();
}
//php2.php
function func2(){
return 'Hello again';
}
Теперь func1 () ужезапустить на первой странице загрузки.Так что я знаю, что func1 () и func2 () работают нормально.Но похоже, что вызов Ajax забывает все require ().Потому что, когда я изменяю свой func1 () на это и добавляю требование, оно прекрасно работает:
//php1.php
function func1(){
require('dir2/php2.php');
echo 'Hello world';
echo func2();
}
Сначала я подумал: «Мех, если это работает, это работает для этого вызова.Но теперь я дошел до того, что хочу вызывать больше и разные функции из большего количества файлов.Должен ли я повторно требовать все эти файлы все время?Это похоже на неправильный подход.Кроме того, я также хочу вызывать функции из плагинов, путь которых я не знаю.(Я мог бы выяснить, но это не главное)
- EDIT - Я обнаружил, что при запуске вызова ajax не перезагружается ни один из необходимых файлов.Разве Ajax не запускает код заново, включая весь ваш код из theme -> functions.php?Это жизненно важный код для вызова.