Trong quản lý WooCommerce, mã SKU (Stock Keeping Unit) là một phần quan trọng giúp quản lý hàng hóa hiệu quả. Đặc biệt, việc cập nhật SKU tự động theo cấu trúc cụ thể sẽ giúp đồng bộ và tối ưu hóa việc quản lý sản phẩm. Bài viết này sẽ hướng dẫn bạn cách tự động cập nhật SKU cho tất cả sản phẩm trong WooCommerce theo cấu trúc muathemewpgiare + ID sản phẩm
bằng cách sử dụng mã PHP tùy chỉnh trong functions.php
.
1. Giới thiệu về SKU trong WooCommerce
SKU là một mã duy nhất dùng để nhận diện các sản phẩm trong kho hàng. Điều này đặc biệt hữu ích khi cửa hàng của bạn có nhiều sản phẩm khác nhau và cần cách để dễ dàng tìm kiếm, theo dõi tình trạng hàng tồn kho, hoặc xử lý đơn hàng.
Tuy nhiên, việc nhập SKU cho từng sản phẩm một cách thủ công có thể tốn rất nhiều thời gian. Giải pháp là tự động cập nhật SKU cho tất cả các sản phẩm thông qua đoạn mã đơn giản dưới đây. Mã này sẽ tạo SKU theo định dạng muathemewpgiare
kết hợp với ID của sản phẩm, giúp bạn dễ dàng quản lý hơn.

2. Cách hoạt động của đoạn mã cập nhật SKU tự động
Đoạn mã dưới đây sẽ giúp bạn tự động cập nhật SKU cho toàn bộ sản phẩm của mình một cách nhanh chóng và hiệu quả. Chúng ta sẽ lần lượt giải thích từng phần để bạn hiểu cách hoạt động của nó.
3. Mã tự động cập nhật SKU cho sản phẩm WooCommerce
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | // Function để tự động cập nhật SKU theo cấu trúc muathemewpgiare + product ID function update_sku_for_all_products() { // Lấy tất cả sản phẩm $args = array( 'post_type' => 'product', 'posts_per_page' => -1, // Lấy tất cả sản phẩm 'post_status' => 'publish' // Chỉ lấy các sản phẩm đã xuất bản ); $products = new WP_Query($args); if ($products->have_posts()) { while ($products->have_posts()) { $products->the_post(); // Lấy ID sản phẩm $product_id = get_the_ID(); // Tạo SKU mới với cấu trúc muathemewpgiare + ID sản phẩm $new_sku = 'muathemewpgiare' . $product_id; // Lấy object sản phẩm từ WooCommerce $product = wc_get_product($product_id); // Kiểm tra nếu sản phẩm chưa có SKU hoặc SKU khác cấu trúc yêu cầu if ($product && $product->get_sku() !== $new_sku) { // Cập nhật SKU mới $product->set_sku($new_sku); $product->save(); } } wp_reset_postdata(); } } |
Giải thích chi tiết từng phần:
- Lấy tất cả sản phẩm: Đoạn mã sử dụng
WP_Query
để lấy tất cả sản phẩm từ cơ sở dữ liệu. Các sản phẩm được lọc với điều kiệnpost_status
là “publish” (chỉ các sản phẩm đã được xuất bản). - Tạo SKU mới: Sau khi lấy được ID của sản phẩm bằng
get_the_ID()
, đoạn mã tạo SKU mới theo cấu trúcmuathemewpgiare + product ID
. Điều này đảm bảo mỗi sản phẩm có một SKU duy nhất và dễ quản lý. - Kiểm tra và cập nhật SKU: Nếu sản phẩm chưa có SKU hoặc SKU hiện tại không đúng cấu trúc yêu cầu, đoạn mã sẽ cập nhật SKU mới cho sản phẩm và lưu lại thay đổi bằng
save()
.
4. Thêm nút cập nhật SKU trong bảng điều khiển admin
Để quản trị viên có thể dễ dàng kích hoạt chức năng này, chúng ta cần thêm một nút trong bảng điều khiển admin của WordPress. Đây là đoạn mã để tạo nút “Cập nhật SKU” trong menu quản trị:
1 2 3 4 5 6 7 8 9 10 11 12 | // Kích hoạt function khi quản trị viên nhấn nút 'Cập nhật SKU' function custom_admin_menu() { add_menu_page( 'Cập nhật SKU', // Tiêu đề của trang 'Cập nhật SKU', // Tên hiển thị trong menu 'manage_options', // Quyền yêu cầu 'update-sku-products', // Slug của trang 'trigger_sku_update' // Function để hiển thị trang ); } add_action('admin_menu', 'custom_admin_menu'); |
5. Hiển thị giao diện cập nhật SKU
Khi người quản trị nhấn vào nút “Cập nhật SKU”, một trang mới sẽ xuất hiện, cho phép họ thực hiện việc cập nhật SKU cho toàn bộ sản phẩm chỉ với một cú nhấp chuột. Dưới đây là mã để tạo giao diện đó:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // Hiển thị nút để cập nhật SKU trên admin menu function trigger_sku_update() { echo '<div class="wrap">'; echo '<h1>Cập nhật SKU cho tất cả sản phẩm</h1>'; echo '<p>Nhấn vào nút dưới đây để cập nhật mã SKU theo định dạng <code>muathemewpgiare + ID sản phẩm</code>.</p>'; echo '<form method="post">'; echo '<input type="submit" name="update_sku" class="button button-primary" value="Cập nhật SKU" />'; echo '</form>'; echo '</div>'; if (isset($_POST['update_sku'])) { update_sku_for_all_products(); echo '<div class="notice notice-success"><p>Đã cập nhật SKU thành công!</p></div>'; } } |
Giải thích:
- Khi truy cập vào trang “Cập nhật SKU”, đoạn mã sẽ hiển thị một nút “Cập nhật SKU”. Sau khi nhấn vào nút này, toàn bộ SKU của các sản phẩm sẽ được cập nhật theo định dạng đã quy định.
- Lưu ý: Chức năng này chỉ nên thực hiện khi chắc chắn về cấu trúc SKU của mình, vì nó sẽ thay đổi toàn bộ SKU của tất cả sản phẩm trong cửa hàng WooCommerce.
6. Lợi ích của việc tự động cập nhật SKU
- Tiết kiệm thời gian: Thay vì cập nhật SKU thủ công cho từng sản phẩm, bạn có thể tự động hóa quy trình này, đặc biệt hữu ích khi cửa hàng có hàng trăm hoặc hàng ngàn sản phẩm.
- Quản lý hiệu quả: SKU được cập nhật theo một cấu trúc thống nhất, giúp việc quản lý sản phẩm trở nên dễ dàng và chính xác hơn.
- Tính linh hoạt: Bạn có thể tùy chỉnh định dạng SKU theo nhu cầu riêng của cửa hàng mình mà không gặp nhiều khó khăn.
7. Kết luận
Việc cập nhật SKU tự động cho sản phẩm WooCommerce không chỉ giúp tối ưu hóa quy trình quản lý hàng hóa mà còn mang lại sự linh hoạt và đồng bộ cho cửa hàng của bạn. Đoạn mã trên là một công cụ hữu ích để đảm bảo các SKU được cập nhật một cách chính xác và hiệu quả, tiết kiệm thời gian và công sức cho các quản trị viên. Hãy áp dụng ngay để nâng cao hiệu suất quản lý cửa hàng WooCommerce của bạn. Cuối cùng, chúng tôi chúc các bạn thành công.