Как я могу отправить данные из формы API (с помощью Javascript) в файл function.php в WooCommercePhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу отправить данные из формы API (с помощью Javascript) в файл function.php в WooCommerce

Сообщение Anonymous »

Я использую виджет поиска благотворительной организации Pledge API, который отображается на странице продукта, чтобы пользователь мог выбрать благотворительную организацию, которая затем отправляется в файл function.php. На данный момент я просто хочу, чтобы файл function.php отображал благотворительность.
Мой код выглядит следующим образом:

Код: Выделить всё

function add_charity_hidden_field() {
echo '';
}
add_action('woocommerce_after_order_notes', 'add_charity_hidden_field');
add_action('woocommerce_before_add_to_cart_button', 'my_custom_checkout_field');

function my_custom_checkout_field() {
echo 'Charity';
echo  '

document.addEventListener("DOMContentLoaded", function () {
// Create a hidden input to store charity data
const charityInput = document.createElement("input");
charityInput.type = "hidden";
charityInput.name = "charity_data";  // The name will be used to reference in PHP
charityInput.id = "charity_data";    // Optional: Assign an ID to the input

// Append the hidden input to the WooCommerce checkout form
const checkoutForm = document.querySelector("form.checkout");
if (checkoutForm) {
checkoutForm.appendChild(charityInput);
}

// Function to handle charity data updates
const updateEvent = data => {
// Convert the charity data to a string and set it as the value of the hidden input
charityInput.value = JSON.stringify(data);
console.log("Charity data updated:", data);  // Debugging: Log the data for confirmation
}

// Function to handle the removal of charity data (if applicable)
const removeEvent = () => {
charityInput.value = "";  // Clear the hidden input if the event is removed
console.log("Charity data removed");  // Debugging: Log the removal
}

// Function to handle the incoming message from the widget
const handleMessage = e => {
// Ensure the message is coming from the correct origin
if (e.origin !== "https://www.pledge.to") return;

// Parse the incoming message
const message = JSON.parse(e.data);

// Handle the actions based on the message type
switch (message.action) {
case "updateEvent":
return updateEvent(message.data);
case "removeEvent":
return removeEvent();
}
}

// Add the message event listener to listen for the charity widgets data
addEventListener("message", handleMessage);
});

';
echo '';
}

// Store custom field
function save_my_custom_checkout_field( $cart_item_data, $product_id ) {

if (isset($_POST['charity_data']) && !empty($_POST['charity_data'])) {
// Sanitize the charity data
$cart_item_data = sanitize_text_field($_POST['charity_data']);
echo $cart_item_data;
} else {
echo "No charity";
}
return $cart_item_data;
}
add_action( 'woocommerce_add_cart_item_data', 'save_my_custom_checkout_field', 10, 2 );

Он постоянно отображает «Нет благотворительности», даже после того, как я выбираю благотворительную организацию. Я знаю, что выбор благотворительной организации сработал, поскольку благотворительная организация отображается в консоли.

Подробнее здесь: https://stackoverflow.com/questions/791 ... s-php-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я могу отправить данные из формы API (с помощью Javascript) в файл function.php на веб-сайте электронной коммерции W
    Anonymous » » в форуме Php
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Основы функции - Function Function Function, пройдя в INTS больше 99
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Основы функции - Function Function Function, выходящая из INT, более 99 [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • C# Async Function Function Function
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Ошибка анализа: синтаксическая ошибка, неожиданный конец файла в C:\xampp5.6\htdocs\hoavieng\includes\function\Function.
    Anonymous » » в форуме Php
    0 Ответы
    74 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»