Add custom fields to WooComerce product setting pages in the shipping tab

孤者浪人 提交于 2019-11-30 16:44:55

This is possible and you will get this (here I have set to custom text fields):

Here is the code:

// Add custom fields to product shipping tab
add_action( 'woocommerce_product_options_shipping', 'add_custom_shipping_option_to_products');
function add_custom_shipping_option_to_products(){
    global $post, $product;


    echo '</div><div class="options_group">'; // New option group

    woocommerce_wp_text_input( array(
        'id'          => '_custom_text_field1',
        'label'       => __( 'My Text Field one', 'woocommerce' ),
        'placeholder' => 'something',
        'desc_tip'    => 'true',
        'description' => __( 'Enter the custom value here.', 'woocommerce' ),
        'value'       => get_post_meta( $post->ID, '_custom_meta_field1', true ),
    ) );

    woocommerce_wp_text_input( array(
        'id'          => '_custom_text_field2',
        'label'       => __( 'My Text Field two', 'woocommerce' ),
        'placeholder' => 'something',
        'desc_tip'    => 'true',
        'description' => __( 'Enter the custom value here.', 'woocommerce' ),
        'value'       => get_post_meta( $post->ID, '_custom_meta_field2', true ),
    ) );
}

// Save the custom fields values as meta data
add_action( 'woocommerce_process_product_meta', 'save_custom_shipping_option_to_products' );
function save_custom_shipping_option_to_products( $post_id ){

    $custom_text_field1 = $_POST['_custom_text_field1'];
    if( isset( $custom_text_field1 ) )
        update_post_meta( $post_id, '_custom_meta_field1', esc_attr( $custom_text_field1 ) );

    $custom_text_field2 = $_POST['_custom_text_field2'];
    if( isset( $custom_text_field2 ) )
        update_post_meta( $post_id, '_custom_meta_field2', esc_attr( $custom_text_field2 ) );
}

Code goes in function.php file of your active child theme (or theme) or also in any plugin file.

This code is tested on WooCommerce 3+ and works

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!