如何在WooCommerce产品中添加(第二个)自定义sku字段? [英] How to add a (second) custom sku field to WooCommerce products?

查看:372
本文介绍了如何在WooCommerce产品中添加(第二个)自定义sku字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们需要在产品中提供产品编号/猫编号的另一个字段,我发现代码在下面,效果很好.

We needed another field in our products for Prod ref/Cat numbers and I found the bit of code below which works perfectly.

我现在需要为会计软件使用的名义代码添加第二个字段.

I now need to add a second field for Nominal Codes used by the accountants software.

我尝试再次使用下面的代码,并针对新字段进行了调整,但这没有用.

I tried using the below code again, adjusted for the new field, but it didn't work.

function jk_add_custom_sku() {
  $args = array(
    'label' => __( 'Custom SKU', 'woocommerce' ),
    'placeholder' => __( 'Enter custom SKU here', 'woocommerce' ),
    'id' => 'jk_sku',
    'desc_tip' => true,
    'description' => __( 'This SKU is for internal use only.', 'woocommerce' ),
  );
  woocommerce_wp_text_input( $args );
}
add_action( 'woocommerce_product_options_sku', 'jk_add_custom_sku' );

function jk_save_custom_meta( $post_id ) {
  // grab the SKU value
  $sku = isset( $_POST[ 'jk_sku' ] ) ? sanitize_text_field( $_POST[ 'jk_sku' ] ) : '';
  
  // grab the product
  $product = wc_get_product( $post_id );
  
  // save the custom SKU meta field
  $product->update_meta_data( 'jk_sku', $sku );
  $product->save();
}

add_action( 'woocommerce_process_product_meta', 'jk_save_custom_meta' );


推荐答案

添加额外字段的方法非常简单:

Adding extra fields can be done in a very simple way:

function jk_add_custom_sku() {
    $args_1 = array(
        'label' => __( 'Custom SKU', 'woocommerce' ),
        'placeholder' => __( 'Enter custom SKU here', 'woocommerce' ),
        'id' => 'jk_sku',
        'desc_tip' => true,
        'description' => __( 'This SKU is for internal use only.', 'woocommerce' ),
    );
    woocommerce_wp_text_input( $args_1 );

    // Extra field
    $args_2 = array(
        'label' => __( 'Nominal codes', 'woocommerce' ),
        'placeholder' => __( 'Enter nominal codes here', 'woocommerce' ),
        'id' => '_nominal_codes',
        'desc_tip' => true,
        'description' => __( 'This is for nominal codes.', 'woocommerce' ),
    );
    woocommerce_wp_text_input( $args_2 );
}
add_action( 'woocommerce_product_options_sku', 'jk_add_custom_sku' );

// Save
function jk_save_custom_meta( $product ){
    if( isset($_POST['jk_sku']) ) {
        $product->update_meta_data( 'jk_sku', sanitize_text_field( $_POST['jk_sku'] ) );
    }

    // Extra field
    if( isset($_POST['_nominal_codes']) ) {
        $product->update_meta_data( '_nominal_codes', sanitize_text_field( $_POST['_nominal_codes'] ) );
    }
}
add_action( 'woocommerce_admin_process_product_object', 'jk_save_custom_meta', 10, 1 );

这篇关于如何在WooCommerce产品中添加(第二个)自定义sku字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆