在 WooCommerce 系統(tǒng)中,商品的 SKU 是保存在postmeta數(shù)據(jù)表中的,字段名稱為 _sku,以這個(gè)信息為前提,實(shí)現(xiàn)自動(dòng)生成商品 SKU 的功能就簡單了。下面是具體的代碼
在下面的代碼中,我們把功能掛載到了 save_post 這個(gè) Hook 上,這個(gè) Hook 在保存文章后執(zhí)行。
首先我們判斷文章類型是否為「product」,如果是,我們是用 WordPress 內(nèi)置的 wp_generate_uuid4 函數(shù)生成一個(gè)隨機(jī)的代碼,并清理到其中的「-」字符,然后判斷商品是否已有 SKU,如果沒有,就添加生成的產(chǎn)品 SKU 到文章字段中,如果已有,就不再做處理了。
add_action('save_post', function ($post_id)
{
if (get_post_type($post_id) === 'product') {
$product_number = str_replace('-', '', wp_generate_uuid4());
$sku = get_post_meta($post_id, '_sku', true);
if (empty($sku)) {
update_post_meta($post_id, '_sku', $product_number);
}
}
});
在電商管理中,SKU 是用來判斷商品唯一性的參數(shù),商品的價(jià)格、屬性都是關(guān)聯(lián)到這個(gè)參數(shù)上面的,如無特殊需要,不建議這么輕率的處理 SKU,如果有 ERP 或庫存管理系統(tǒng),建議和這些系統(tǒng)結(jié)合起來進(jìn)行管理。


