问题描述
在发布新产品之前,我想知道是否有任何方法可以将 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 文件中。经测试有效。