以编程方式设置WooCommerce SKU

时间:2018-05-21 作者:SAHM

我正在使用一个插件,可以将产品导入WooCommerce。在此过程中未填写SKU字段。我找不到在导入项目后以编程方式设置SKU的方法。我已经尝试了很多东西,我确信下面的代码可以工作。如果有人知道我的错在哪里,我需要一些帮助。

add_action(\'updated_post_meta\', \'my_updated_post_meta\', 10, 4);
add_action(\'added_post_meta\', \'my_updated_post_meta\', 10, 4);
function my_updated_post_meta($meta_id, $post_id, $meta_key, $meta_value) {
    if ($meta_key == \'_mySku\') {
        if (get_post_type($post_id) == \'product\') {
            update_post_meta($post_id,\'_sku\',$meta_value);
        }
    }
}

1 个回复
SO网友:Sohan Zaman

您应该使用save_post 钩请尝试以下代码:

function wpse_304031_save_post( $post_id, $post ) {

    // return if autosave
    if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE ) {
        return;
    }

    $your_sku = \'Custom SKU for \' . $post->post_title;

    if( $post->post_type == \'product\' ) {
        if( empty( get_post_meta( $post_id, \'_sku\', true ) ) ) {
            update_post_meta( $post_id, \'_sku\', $your_sku );
        }
    }

}

add_action( \'save_post\', \'wpse_304031_save_post\' );
在这里,我使用产品的标题来构建sku。你可以用你想要的任何东西。

结束

相关推荐