#php #wordpress #plugins #wordpress-theming #wordpress-rest-api
Вопрос:
У меня есть сайт wordpress, который использует плагин WP travel. На странице оформления заказа единственным способом оплаты является Paypal, но вместо этого я хочу использовать полосу. Когда я нажимаю на кнопку формы, я отправляю запрос axios на functions.php где я пытаюсь выполнить wptravel_book_now()
(что касается подтверждения бронирования/регистрации),однако я столкнулся с большим количеством ошибок. первый из них заключается в том, что ABSPATH is undefined
я попытался жестко закодировать путь к wptravel_book_now()
функции, но, похоже, у меня нет доступа к функциям wordpress, потому что я получаю ошибки типа add_action
не определено, wp_verify_nonce
не определено.
checkout.php:
const paymentFct=(e)=> {
e.preventDefault();
const formData= new FormData();
//Loop over the form inputs and append values to formData;
Array.from( e.target).forEach(element => {
formData.append(element.name,element.value);
});
formData.append('axios_request',true);
axios({
method: 'post',
url: 'http://localhost/myAdventure_wp/wp-content/themes/valley-child/functions.php',
data: formData,
headers: {'Content-Type': 'multipart/form-data' }
})
.then(function (response) {
console.log(response);
})
.catch(function (response) {
console.log(response);
});
}
// Event listener on form submit.
document.getElementById('wp-travel-booking').addEventListener('submit',function(e){paymentFct(e)});
functions.php:
if(isset($_POST['axios_request'])){
//include_once ABSPATH.'wp-content/plugins/wp-travel/inc/class-wp-travel-email.php';
$_POST['wp_travel_book_now']=true;
include_once 'C:xampphtdocsmyAdventure_wpwp-contentpluginswp-travelincbooking-functions.php';
wptravel_book_now();
}else{
//filters and actions that goes here
}
Я также попытался создать новый php-файл (в той же папке checkout.php) для получения запроса axios, но у него также не было доступа к функциям wordpress. Как мне настроить свою тему /плагины WordPress ? есть ли файл, в который я должен добавить пользовательский код, имеющий доступ к функциям wordpress ?