【问题标题】:Woocommerce checkout AJAX PHPWoocommerce 结帐 AJAX PHP
【发布时间】:2015-09-09 08:38:49
【问题描述】:

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

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

我在 $.post 的 php 中尝试了以下操作

global $woocommerce;
$woocommerce->session->set('_delivery_loading', $temp);

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

$.post 的目标 PHP(来自 AJAX)如何知道 woocommerce?

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

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

这是我 checkout.php 中的 jQuery

<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();                
     });

});

【问题讨论】:

  • 请添加更多代码,尤其是 javascript 部分。没有更多代码,这个问题太难理解了。
  • 我的结帐页面中有一个 AJAX 函数,然后调用 mytest.php。 mytest.php 需要设置一个 function.php 可以检索的会话变量。 mytest.php 中需要什么才能调用 $woocommerce->session->set 方法
  • 不知道这是否是原因,但$woocommerce 已被WC() 弃用。
  • 并发布您的整个 PHP 回调函数。
  • PHP回调函数贴出

标签: php ajax woocommerce


【解决方案1】:

所以我找到了答案。

原来你的 PHP 回调必须包含

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

在顶部以便调用 WC 函数。

【讨论】:

    猜你喜欢
    • 2017-04-15
    • 2016-10-17
    • 1970-01-01
    • 2015-01-17
    • 2016-01-10
    • 2015-11-03
    • 1970-01-01
    • 2016-11-23
    • 2021-09-24
    相关资源
    最近更新 更多