Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在发布产品之前,在Woocommerce中强制使用SKU_Php_Wordpress_Woocommerce_Product_Sku - Fatal编程技术网

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

Php 在发布产品之前,在Woocommerce中强制使用SKU,php,wordpress,woocommerce,product,sku,Php,Wordpress,Woocommerce,Product,Sku,在发布新产品之前,我想知道是否有任何方法使SKU字段成为必需字段。否则,如果没有SKU,则只能将产品保存为草稿。在尝试保存产品时,如果SKU字段为空,则可以使用此非常简单的代码片段显示错误消息(也适用于产品和变体) 如果发布了SKU为空的产品,则该产品将另存为“草稿” 守则: add_action('woocommerce_admin_process_product_object', 'mandatory_product_sku'); add_action('woocommerce_admin_

在发布新产品之前,我想知道是否有任何方法使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文件。已测试并正常工作。

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