Неустранимая ошибка: Непринятая ошибка: вызов неопределенной функции get_option ()

Я хочу решить эту проблему, поскольку я отправляю запрос ajax с страницы плагина в другой файл verifyapi.php, но он дает мне ошибку, как показано ниже.

Fatal error: Uncaught Error: Call to undefined function get_option() in verifyapi.php 

Но при добавлении строки ниже

 require_once('../../../../../wp-config.php'); 

поверх testapi.php он работает нормально, но я не хочу, чтобы WordPress не позволял вам добавлять в вашу функцию файл ядра WordPress, поэтому есть ли другой способ сделать это.

Вот код js на странице admin-ui.php, который отправляет данные на verifyapi.php, а затем получает ответ от него.

 function savedata() { var keyflag=document.getElementById("key_box_flag").value; if(keyflag=1) { var key=document.getElementById("key_box").value; jQuery.ajax({ url:"<?php echo plugins_url( '/', __FILE__ ); ?>verifyapi.php", type:"POST", async:true, data:{"key":key, "save":1 }, success: function(data) { location.reload(); } }); } else { } } 

Вместо этого просто напишите свою собственную функцию внутри verifyapi.php а затем verifyapi.php ее в основной файл вашего плагина, используя следующее:

 require_once('verifyapi.php'); 

Таким образом, у вас есть доступ к функции WordPress внутри файла verifyapi.php .

Теперь, внутри файла verifyapi.php , создайте обработчик Ajax (однако я бы рекомендовал использовать конечную точку REST):

 add_action('wp_ajax_your_', 'handler_function'); add_action('wp_ajax_nopriv_your_handler_name', 'handler_function'); function photogram_ajax_handler() { // Your verification here } 

Все идет нормально. Последний шаг – изменить URL-адрес admin-ajax.php . Для этого используйте следующее:

  ... url:"<?php echo site_url('/wp-admin/admin-ajax.php'); ?>", ... 

Все готово.