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

Posted

技术标签:

【中文标题】在发布产品之前,在 Woocommerce 中强制 SKU【英文标题】:Make SKU mandatory in Woocommerce before publishing a product 【发布时间】:2021-06-02 09:54:01 【问题描述】:

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

【问题讨论】:

【参考方案1】:

也许您可以简单地使用这个非常简单的代码 sn-p 在尝试保存产品时在 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 文件中。经过测试并且可以工作。

【讨论】:

感谢代码,但我在两个不同的网站上进行了测试,有两个不同的主题,它没有显示任何错误消息。新产品可以像往常一样发布。 “代码进入活动子主题(或活动主题)的functions.php文件中。” - 正如你所说。 @a_informatriks 抱歉,我已经更新了我的代码……现在它可以工作,并在尝试使用空 sku 发布产品时将产品保存为“草稿”……如果此答案回答了您的问题,您可以请accept答案,谢谢。 非常感谢,一切正常。

以上是关于在发布产品之前,在 Woocommerce 中强制 SKU的主要内容,如果未能解决你的问题,请参考以下文章

强制以单独的顺序销售特定的 WooCommerce 产品

在 WooCommerce 产品标题之前显示自定义分类

在WooCommerce产品选项编辑页面中,在SKU之前显示自定义字段

在 WooCommerce 中的相关产品上显示同一类别之前的交叉销售

在 Woocommerce 订单和电子邮件通知中显示产品品牌和名称

Woocommerce - 试图在管理员中获得可变产品数量总和