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 函数。
在我的 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 函数。