Woocommerce 结帐 AJAX PHP

Woocommerce checkout AJAX PHP

在我的 woocommerce 结帐页面中为 AJAX 函数创建 PHP 时,我使用 $.post。为了调用 $woocommerce->session->set

,PHP(通过 $.post)中需要的所有内容

我在 $.post

的 php 中尝试了以下内容
global $woocommerce;
$woocommerce->session->set('_delivery_loading', $temp);

但是 PHP 报告它不知道 $woocommerce->session->set 是什么。

作为 $.post(来自 AJAX)的目标的 PHP 是如何了解 woocommerce 的?

这是我的回调 php (test.php):

<?php
global $woocommerce;
$temp = $_GET["pass_var"];
$woocommerce->session->set('_delivery_loading', $temp);
?>

这是我的 jQuery 在我的 checkout.php

<script>
jQuery(document).ready(function($){

    $("#myradiobutton").change(function(){            

         var padded_variable = "0";

        $.get('test.php',{pass_var:passed_variable}, function(data) {
                console.log(data);
            });

     location.reload();                
     });

});

所以我找到了答案。

原来你的 PHP 回调必须包括

include($_SERVER["DOCUMENT_ROOT"] . "/wp-blog-header.php");

在顶部,以便调用 WC 函数。