Php 使用AJAX、WoodCommerce和Wordpress更改产品价格
我正在使用一个定制产品,客户可以在其中键入将添加到购物车的定制文本。 根据文本的大小,将设置不同的价格,逻辑完成,我可以在product对象中看到新的价格 似乎我可以用新的价格更改产品对象,但当我执行$woommerce->setup\u product\u data($product\u id)时,我从admin-ajax.php返回状态500 我发现了几个主题,但在我的案例中没有一个是有效的。 我无法用新的价格更新购物车 这是我在functions.php中的ajax函数:Php 使用AJAX、WoodCommerce和Wordpress更改产品价格,php,ajax,wordpress,woocommerce,Php,Ajax,Wordpress,Woocommerce,我正在使用一个定制产品,客户可以在其中键入将添加到购物车的定制文本。 根据文本的大小,将设置不同的价格,逻辑完成,我可以在product对象中看到新的价格 似乎我可以用新的价格更改产品对象,但当我执行$woommerce->setup\u product\u data($product\u id)时,我从admin-ajax.php返回状态500 我发现了几个主题,但在我的案例中没有一个是有效的。 我无法用新的价格更新购物车 这是我在functions.php中的ajax函数: // Adjus
// 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');
您试图调用的函数不存在。这就是您需要的功能
$product = wc_setup_product_data( $product_id );
不知道你在哪里提出这些功能。我也找不到这个函数
$woocommerce->clear_product_transients( $product_id );
你是如何解决这个问题的?我也不能用
set\u price
更新价格。