仅在 WooCommerce 中的自定义类型的管理产品上添加字段

Add a field only on admin products from a custom type in WooCommerce

我在产品后端创建了自定义字段,我只想针对产品类型 pw-gift-card:

function creating_final_sku_field(){
    global $product;
        
    if ($product->is_type('pw-gift-card')) {    
        $args = array(
            'label' => __( 'Final SKU', 'woocommerce' ),
            'placeholder' => __( 'Enter final SKU here', 'woocommerce' ),
            'id' => 'final_sku',
            'desc_tip' => true,
            'description' => __( 'This SKU is for final use only.', 'woocommerce' ),
        );
        woocommerce_wp_text_input( $args );
    }
}
add_action( 'woocommerce_product_options_sku', 'creating_final_sku_field' );

这是代码引发的严重错误。
感谢任何帮助。

主要错误来自未定义的$product变量。请尝试以下操作:

add_action( 'woocommerce_product_options_sku', 'add_product_final_sku_custom_field' );
function add_product_final_sku_custom_field(){
    global $post, $product_object;

    if ( ! is_a( $product_object, 'WC_Product' ) ) {
        $product_object = wc_get_product( $post->ID );
    }
        
    if ( $product_object->is_type('pw-gift-card') ) {    
        woocommerce_wp_text_input( array(
            'label' => __( 'Final SKU', 'woocommerce' ),
            'placeholder' => __( 'Enter final SKU here', 'woocommerce' ),
            'id' => 'final_sku',
            'desc_tip' => true,
            'description' => __( 'This SKU is for final use only.', 'woocommerce' ),
        ) );
    }
}

代码进入活动子主题(或活动主题)的 functions.php 文件。

重要说明:将产品类型指定为条件在添加新产品时将不起作用,因为产品类型尚未保存。这需要做一些 CSS...