php – 将自定义字段添加到运输选项卡中的WooComerce产品设置页面

是否可以在后端的WooCommerce产品页面中添加一些额外的字段,因为我需要添加12个自定义字段.

我试图找到一些相关的钩子没有成功.我发现的唯一方法是属性,但它不是一个方便的解决方案……

如何在运送选项卡中将自定义字段添加到WooComerce产品设置页面?

谢谢.

解决方法:

这是可能的,你会得到这个(这里我已设置为自定义文本字段):

php  – 将自定义字段添加到运输选项卡中的WooComerce产品设置页面

这是代码:

// 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 ) );
}

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

此代码在WooCommerce 3上进行测试并正常运行

上一篇:php – 为本地提取Woocommerce订单的特定电子邮件通知添加自定义文本


下一篇:php – 从Woocommerce 3.4中的结帐字段中删除“(可选)”文本