我有一个使用Woocommcerce构建的Wordpress网站。我想为用户添加一些额外的字段,以便能够个性化他们的产品(一些文本输入为他们写他们想要的任何东西)。我认为这需要使用自定义属性来完成,但我不确定。
我试过这个添加额外的属性类型:
add_filter("product_attributes_type_selector" , function( $array ){
$array["textfield"] = __( 'Textfield', 'woocommerce' );
return $array ;
});
我不知道从哪里开始,或者这是正确的做法。
重要提示:我不想使用任何插件,所以请不要推荐任何插件
答案 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文件中,或者放在任何插件文件中。
经过测试和工作......所以你会得到类似的东西:
如果您想在添加到购物车按钮下显示此自定义字段,您将使用 woocommerce_after_add_to_cart_button
操作挂钩,
但是,添加到购物车时,您应该在购物车对象中保存此自定义字段,并在购物车和结帐页面中显示。