我正在使用一个插件,可以将产品导入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);
}
}
}
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。你可以用你想要的任何东西。