当前位置: 首页 > 知识库问答 >
问题:

使用AJAX、Woocommerce和Wordpress更改产品价格

后星河
2023-03-14

我正在使用一个自定义产品,客户可以在其中键入他们的自定义文本,这些文本将添加到购物车中。根据文本的大小,将设置一个不同的价格,逻辑完成了,我可以在product对象中看到新的价格。

看起来我可以用新的价格更改product对象,但是当我执行$Woocommerce->setup_product_data($PRODUCT_ID)时,我从admin-ajax.php返回状态500。

我已经找到了几个主题,但似乎没有一个对我的情况有效。我不能用新价格更新推车。

下面是functions.php中的ajax函数:

// Adjust new price
function applyNewPrice() {
    global $woocommerce;

    // From JS
    $product_id = (int) $_POST['id']; 
    // From JS
    $price = (float) $_POST['price'];
    $product_data = get_post($product_id);
    // Code returning status 500 here...
    $product = $woocommerce->setup_product_data($product_data); 
    $product->set_price($price);

    update_post_meta($product_id,'_price',$price);
    update_post_meta($product_id,'_regular_price',$price);

    $woocommerce->clear_product_transients( $product_id );

}

add_action('wp_ajax_applyNewPrice', 'applyNewPrice');
add_action('wp_ajax_nopriv_applyNewPrice', 'applyNewPrice');

共有1个答案

龚志
2023-03-14

您试图调用的函数不存在。这就是你需要的功能。

$product = wc_setup_product_data( $product_id );

不确定这些函数是从哪里来的。我也找不到这个函数?

$woocommerce->clear_product_transients( $product_id );
 类似资料:
  • 我正在尝试做一个动态的产品画廊基于颜色在woocommerce产品页面。当我点击一种颜色,例如红色,我应该看到红色画廊的照片。为此,我用ajax创建的一个新的库块替换了所有的woocommerce库块(它们具有与旧库块相同的类)。 新照片的加载工作很好,我得到基于颜色的画廊照片。但是当ajax加载新的gallery时,滑块不起作用,我想因为创建滑块的woocommere js在页面加载时是只读的。

  • 在WooCommerce中,基于“WooCommerce获取变体产品价格”回答代码,我一直在使用以下内容显示我的变量产品下拉列表中每个变体旁边的价格: 它适用于所有产品,除了一个(我使用一个单独的插件作为礼品卡)。 是否可以排除一个特定的产品ID或一个产品类别,或仅适用于特定的产品类别?如果是,应向代码中添加哪些内容,以及在何处应用这些内容? 我还使用Woo折扣规则插件进行价格折扣,代码如下:

  • 基于"获取选定的变化价格在jQuery上WooCommerce可变产品"回答我最后一个问题的代码,此代码获取用户输入到产品选项,我试图使用这些值来计算显示给用户的价格,但我不能弄清楚。 除窗口警报消息上方的部分外,所有代码都有效。我也尝试在警告消息上方的php标记中添加一个过滤函数,但它显示了所有类型的错误。 是否可以使用javascript更改显示的价格? 这是我实际使用的代码: 任何帮助赞赏。

  • 我对每个包含不同价格的产品都有一些变化,我试图用jQuery获得产品的可变价格,我得到了,但是下面的代码只得到最小变化价格,我想得到当前变化的当前价格。然后,当我更改另一个选择值时,前端的变化会以正确的价格进行更改,但在控制台日志中,会反复显示最小价格,而不是相应变化的相应价格。 我试图研究和wp util。js文件来寻找一些方法,但我不能这样做。 有没有一种方法可以正确地检索当前变化价格与jQu

  • 我正在创建一个WooCommerce(5.6.0版)网站,用户可以在该网站上购买泡沫产品,并在存档页面上计算价格。基本上,用户输入维度,然后根据公式计算价格。我目前正在努力更新购物车中的价格,我以前没有在这一级别定制产品和价格的经验,因此任何帮助都将不胜感激。。到目前为止,我已经完成了以下步骤: 1.获取(通过Ajax)并在WC_会话中设置自定义产品价格 2.从WC_Session数据更改购物车项

  • 我试图在变体下拉列表中显示产品变体价格。我试图改变默认的行为,当你在下拉列表中选择一个变量时,价格显示在div中。 问题是我找不到那个部门的变动价格。我搜索了所有的javascript,但找不到它 如果我使用: 我只得到所有选项的最小变化价格。我想知道每种变体的价格。有线索吗?