Woocommerce关于产品变化的附加信息

时间:2017-12-06 10:21:09

标签: php wordpress woocommerce product custom-fields

我有一个使用Woocommcerce构建的Wordpress网站。我想为用户添加一些额外的字段,以便能够个性化他们的产品(一些文本输入为他们写他们想要的任何东西)。我认为这需要使用自定义属性来完成,但我不确定。

我试过这个添加额外的属性类型:

add_filter("product_attributes_type_selector" , function( $array ){
    $array["textfield"] = __( 'Textfield', 'woocommerce' );
    return $array ;
});

我不知道从哪里开始,或者这是正确的做法。

重要提示:我不想使用任何插件,所以请不要推荐任何插件

1 个答案:

答案 0 :(得分:1)

使用附加在 woocommerce_before_add_to_cart_button 操作挂钩中的自定义函数来执行此操作,这将在数量字段之前添加自定义输入文本字段,并仅在变量产品上添加到购物车按钮:

// Adding a custom input text field before quantities field and add to cart button on variable products only
add_action( 'woocommerce_before_add_to_cart_button', 'custom_product_fields' , 10, 0 );
function custom_product_fields() {
    global $product;

    if( ! $product->is_type( 'variable' ) ) return; // Only for variable products

    echo '<div class="product-custom-fields">
        <label class="my-custom-field1" for="custom_textfield1">'.__( 'Label text: ', 'woocommerce' ).'<br>
            <input type="text" name="custom_textfield1" class="input-text" placeholder="'.__( 'Enter a text', 'woocommerce' ).'" value="">
        </label>
    </div>
    <br clear="all">';
}

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

经过测试和工作......所以你会得到类似的东西:

enter image description here

如果您想在添加到购物车按钮下显示此自定义字段,您将使用 woocommerce_after_add_to_cart_button 操作挂钩,

  

但是,添加到购物车时,您应该在购物车对象中保存此自定义字段,并在购物车和结帐页面中显示