WooCommerce:为产品变体添加自定义字段

时间:2015-05-03 01:13:42

标签: php wordpress woocommerce

我需要帮助在“产品变体”和“简单产品”页面中添加自定义字段。我尝试使用RemiCorson的信息(http://www.remicorson.com/woocommerce-custom-fields-for-variations/),但我一直收到错误。我试图复制我在this user's posts for ISBN中看到的内容,但它对我不起作用。

以下代码的问题在于它不会显示在实际网站上。所有的帮助都非常感谢,我今天大部分时间都在努力弄清楚我做错了什么。

在Woocommerce的简单产品和可变产品页面中添加6个自定义文本字段和1个复选框。这些不是购物者提供(即填写)的字段,而是我希望在产品页面上显示的自定义信息(而不是在标签中)。

.box {
  margin: 15px;
  width: 80px;
  background-color: grey;
  display: inline-block;
  vertical-align: top;
}
  

1 个答案:

答案 0 :(得分:0)

我发现here中的以下代码可用于WooCommerce 4.8.0

/**
 * Create new fields for variations
 *
*/
function hrx_variation_settings_fields( $loop, $variation_data, $variation ) {

    // Text Field
    woocommerce_wp_text_input( 
        array( 
            'id'          => 'isbn_field[' . $variation->ID . ']', 
            'label'       => __( 'ISBN', 'texdomain' ), 
            'placeholder' => '',
            'desc_tip'    => 'true',
            'description' => __( 'ISBN', 'texdomain' ),
            'value'       => get_post_meta( $variation->ID, 'isbn_field', true )
        )
    );

}
add_action( 'woocommerce_product_after_variable_attributes', 'hrx_variation_settings_fields', 10, 3 );

/**
 * Save new fields for variations
 *
*/
function hrx_save_variation_settings_fields( $post_id ) {

    // Text Field
    $isbn_value = $_POST['isbn_field'][ $post_id ];
    if( ! empty( $isbn_value ) ) {
        update_post_meta( $post_id, 'isbn_field', esc_attr( $isbn_value ) );
    }
    

}
add_action( 'woocommerce_save_product_variation', 'hrx_save_variation_settings_fields', 10, 2 );

WooCommerce : add custom fields to product variations