Tự động thêm SKU vào đường dẫn của sản phẩm trong WordPress - WordPress Developer

Một số trường hợp đặc biệt khách hàng muốn thêm sku vào đường dẫn của sản phẩm một cách tự động. Vậy code sau sẽ giúp bạn làm việc này. Bạn chỉ cần copy code dưới đây vào wp-content/themes/{your-theme}/functions.php là xong.

/*
 * Automatically add sku to product permalink
 * Tự động thêm sku vào đường dẫn của sản phẩm
 * Author: LayoutUp.com
 * */
function modify_post_name_on_update($post_id, $post_object) {
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return $post_id;
    }
    $post_type = $post_object->post_type;
    if ($post_type !== 'product') {
        return $post_id;
    }
    $post_name = $post_object->post_name;
    //code dưới đây mặc định lấy _sku để làm suffix
    //bạn có thể thay bằng metabox khác hoặc giá trị mong muốn khác nhé
    $sku = sanitize_title(get_post_meta($post_id, '_sku', true));
    if ($sku && strpos($post_name, $sku) === false) {
        $new_post_name = wp_unique_post_slug($post_name . '-' . $sku, $post_id, $post_object->post_status, $post_type, $post_object->post_parent);
        remove_action('save_post', 'modify_post_name_on_update');
        wp_update_post(array(
            'ID'        => $post_id,
            'post_name' => $new_post_name,
        ));
    }
}
add_action('save_post', 'modify_post_name_on_update', 99, 2);

Chúc các bạn thành công!