我正在建立一个电子商务网站。我的产品有点问题。
“添加到购物车”按钮对简单的产品效果很好,但对可变的产品不起作用。它给出了一个"请选择产品选项..."
通知。
我到处找,在网上试了几条建议,但都不管用。所以我查看了WooCommerce源文件:class wc form handler.php
。
在函数中将\u添加到\u购物车\u处理程序\u变量中
:
function add_to_cart_handler_variable( $product_id ) {
$adding_to_cart = wc_get_product( $product_id );
$variation_id = empty( $_REQUEST['variation_id'] ) ? '' : absint( $_REQUEST['variation_id'] );
$quantity = empty( $_REQUEST['quantity'] ) ? 1 : wc_stock_amount( $_REQUEST['quantity'] );
$missing_attributes = array();
$variations = array();
$attributes = $adding_to_cart->get_attributes();
$variation = wc_get_product( $variation_id );
...
if ( $missing_attributes ) {
wc_add_notice( sprintf( _n( '%s is a required field', '%s are required fields', sizeof( $missing_attributes ), 'woocommerce' ), wc_format_list_of_items( $missing_attributes ) ), 'error' );
} elseif ( empty( $variation_id ) ) {
wc_add_notice( __( 'Please choose product options…', 'woocommerce' ), 'error' );
} else {
// Add to cart validation
$passed_validation = apply_filters( 'woocommerce_add_to_cart_validation', true, $product_id, $quantity, $variation_id, $variations );
if ( $passed_validation && WC()->cart->add_to_cart( $product_id, $quantity, $variation_id, $variations ) !== false ) {
wc_add_to_cart_message( $product_id );
return true;
}
}
return false;
}
所以我尝试回声$variation_id
,$变化
和$变化
。它们都没有任何内容,因为当我回声$variation_id
时:它不会输出任何内容。
有什么建议吗?
我也面临同样的问题…删除你的变体样本插件,问题就会解决
虽然我们都有共同的变化样本,但错误(听起来很奇怪)在于主题不兼容。要测试,只需切换到2020主题,订购即可。我会建议,然后使2020套件您的需求,并停止使用主题,开发人员采取天休假时,WooCommerce更新推出!禁用样本不会有帮助,因为代码已经存在。祝你好运。
在“商店”页面上,您不能对可变产品使用“添加到购物车”按钮,因为在将此可变产品添加到购物车之前,您需要首先在“单一产品”页面上选择此可变产品的选项。
在可变产品页面上,在使用“添加到购物车”按钮之前,通常您有一些显示的选项可供选择。如果你不这样做,你会得到错误消息...
所以在这一点上:
如果此问题与您的主题相关,请联系主题的作者并打开支持线程或票...
输出产品ID的产品变体:
要以编程方式获取可变产品ID的产品变化:
$product = wc_get_product( $product_id );
$product_variations = $product->get_available_variations();
echo var_dump($product_variations); // Displaying the array
然后获取第一个变体ID:
$product = wc_get_product( $product_id );
$product_variations = $product->get_available_variations();
$variation_product_id = $product_variations [0]['variation_id'];
echo $variation_product_id; // Displaying the variation ID
或获取此产品ID的所有变体ID的数组:
$product = wc_get_product( $product_id );
$product_variations = $product->get_available_variations();
$arr_variations_id = array();
foreach ($product_variations as $variation) {
$product_variation_id = $variation['variation_id'];
array_push( $arr_variations_id, $product_variation_id );
}
echo var_dump($arr_variations_id); // Displaying the array of variations ID
参考:在商店页面中将“添加到购物车”按钮更改为“转到产品”
我一直在为使用WooCommerce的客户开发一个电子商务商店,我遇到了一个非常奇怪的问题。我所有的产品都是可变产品,我对它们进行了如下设置:变量1-重量(0,0.5,1.0,1.5,2.0…5.0千克)变量2-单位(0,1,2,3,4,5…10)变量3-切割类型(研磨、切片、整体等)我设置变量的方式使客户必须选择变量1或变量2(重量或单位)和变体3。如果他们选择按重量(重量大于“0”)购买产品,
我试图以编程方式为一个可变产品添加两个产品变体。基于此回答线程,我使用以下缩短的函数: 我使用以下数据数组: 然后我运行以下函数: 其中,是我要对其进行更改的变量产品的id,是上面定义的数据数组。 我的问题是函数只插入foreach in函数中的最后一个数据。 i、 e.在商业中的产品变化有: 红色W1 红色W1 但我想: 蓝色W1 红色W1
我已经为Woocommerce开发了定制的单一产品模板,这些模板可以正常工作并符合预期。问题是,现在客户想要销售的产品有一些不同的变体,而我不知道如何添加此功能。 目前在产品页面上,我使用了the_post_thumbail()和get_post_meta()等函数来显示产品的各种信息,如价格和在产品帖子类型中输入的摘录。然后我使用do_action(woocommerce_simple_add_
我正在我的WooCommerce网店上为我的产品制作一个自定义附加组件。一切正常,但我只需要一件事。当客户选中产品页面上的复选框时,必须将$30添加到所选变体的原始价格中。 这部分:检查复选框是否被选中。 我的问题就在这里: 的值仅为0。 因此,我试图找出如何获得所选变体的价格。 我尝试了和,但没有任何运气... 更新我已经尝试从这个线程实现代码。有了这些代码,我可以得到所选变体的价格,但我不能再
WooCommerce产品页选项卡是指产品页面里显示产品信息、用户评论的选项卡部分,不明白我说的 哪里请看下图。 添加新的产品页选项卡 参数说明: title:选项卡的标题,在前台显示 priority:会影响选项卡排序,小的排前面 callback:输出选项卡内容的函数,把函数名字当作参数传进来 /** * Add a custom product data tab */ add_filte
我试图使用WC_产品类在WooCommerce中创建变量产品。我们成功创建了一个简单的产品,但无法创建具有以下代码的可变产品: 这段代码正在WooCommerce中创建简单的产品。我们需要创建一个具有选项和变化的可变产品。