我需要更改代码以不在我的所有 WooCommerce 产品上显示文本区域,但只有 2 个,这是在我的 WordPress 子主题functions.php文件下。我已将 $product_id 更改为$product_id = 2130(my specific product id),不确定是否应该更改所有$product_id或$_POST此代码仅显示在 2 个产品上它适用于使用名称个性化的特定产品。我曾尝试将代码 $product_id 更改为许多其他扩展名,但无济于事。我不确定我是否应该用什么代码替换所有的 $product_id,或者它应该在$_POST并替换所有代码。add_action( 'woocommerce_before_add_to_cart_button', 'custom_product_add_on', 9 ); function custom_product_add_on() { $value = isset( $_POST['_custom_text_add_on'] ) ? sanitize_text_field( $_POST['_custom_text_add_on'] ) : ''; echo '<div> <label>Custom Text Add-On <abbr class="required" title="required">*</abbr></label> <p> <input name="_custom_text_add_on" value="' . $value . '"> </p> </div>';}add_filter( 'woocommerce_add_to_cart_validation', 'custom_product_add_on_validation', 10, 3 );function custom_product_add_on_validation( $passed, $product_id, $qty ){ if( isset( $_POST['_custom_text_add_on'] ) && sanitize_text_field( $_POST['_custom_text_add_on'] ) == '' ) { wc_add_notice( 'Custom Text Add-On is a required field', 'error' ); $passed = false; } return $passed;}add_filter( 'woocommerce_add_cart_item_data', 'custom_product_add_on_cart_item_data', 10, 2 );function custom_product_add_on_cart_item_data( $cart_item, $product_id ){ if( isset( $_POST['_custom_text_add_on'] ) ) { $cart_item['custom_text_add_on'] = sanitize_text_field( $_POST['_custom_text_add_on'] ); } return $cart_item;}add_filter( 'woocommerce_get_item_data', 'custom_product_add_on_display_cart', 10, 2 );function custom_product_add_on_display_cart( $_data, $cart_item ) { if ( isset( $cart_item['custom_text_add_on'] ) ){ $data[] = array( 'name' => 'Custom Text Add-On', 'value' => sanitize_text_field( $cart_item['custom_text_add_on'] ) ); } return $data;}
1 回答
- 1 回答
- 0 关注
- 177 浏览
添加回答
举报
0/150
提交
取消