首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当选择的产品变体有库存时,WooCommerce输出文本

当选择的产品变体有库存时,WooCommerce输出文本
EN

Stack Overflow用户
提问于 2017-08-03 21:13:17
回答 1查看 1.7K关注 0票数 1

如果产品变体的variation.php库存数量大于零,我一直在思考如何通过模板添加特定的文本。

文本是“通常在2-3个工作日内的船舶”。

我们接受退货,所以如果股票是零,它就不能显示文本。

当在functions.php文件中使用函数选择每个变体时,我能够显示文本:

代码语言:javascript
复制
add_filter( 'woocommerce_available_variation','load_variation_settings_fields' );
function load_variation_settings_fields( $variations ) {

    $variations['text_field'] = 'Usually ships within 2-3 business days'; 

    return $variations;
}

并将此代码添加到variation.php模板文件中:

代码语言:javascript
复制
<div class="woocommerce-variation-custom-text-field">
{{{ data.variation.text_field }}}
</div>

我在获取所选变体的库存数量方面有困难,如果它大于零,则显示文本编辑--“通常在2-3个工作日内发货”编辑。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-06 05:01:56

您的自定义函数有3个参数,由钩子启用:

  • 变量数据数组:$variation_data (返回)
  • The WC_Product_Variable object$product
  • The WC_Product_Variation object$variation

因此,您可以使用第三个参数来获得当前变化的数量:

代码语言:javascript
复制
add_filter( 'woocommerce_available_variation', 'load_variation_settings_fields', 10, 3 );
function load_variation_settings_fields( $variation_data, $product, $variation ) {

    // Display shipping delay text when stock quantity exist
    if( $variation->get_stock_quantity() > 0 )
        $variation_data['text_field'] = __('Usually ships within 2-3 business days'); 
    else $variation_data['text_field'] = __(''); // You can add a text if needed

    return $variation_data;
}

代码在您的活动子主题(或主题)的function.php文件中,或者在任何插件文件中。

此代码在WooCommerce版本3+中进行测试并工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45494599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档