在发布产品之前在 Woocommerce 中强制使用 SKU

Make SKU mandatory in Woocommerce before publishing a product

我想知道在发布新产品之前是否有任何方法可以使 SKU 字段成为必填项。否则,如果没有SKU,只能将产品保存为草稿。

也许您可以简单地使用这个非常简单的代码片段在尝试保存产品时当 SKU 字段为空时显示错误消息(也适用于产品和变体).

如果发布了空 SKU 的产品,它将被保存为“草稿”。

代码:

add_action('woocommerce_admin_process_product_object', 'mandatory_product_sku');
add_action('woocommerce_admin_process_variation_object', 'mandatory_product_sku');
function mandatory_product_sku( $product ) {
    if( ! $product->get_sku( 'edit' ) ) {
        $message = __( 'Caution! The SKU field is required.', 'woocommerce' );
        
        if( $product->get_status('edit') === 'publish' ) {
            $product->set_status('draft');
            $message .= ' ' . __('Product has been saved as "DRAFT".', 'woocommerce' );
        }
        WC_Admin_Meta_Boxes::add_error( $message );
    }
}

代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。