• Tác giả:
  • 17:14:27 29/10/2024
  • 0 Bình luận

Khi quản lý cửa hàng WooCommerce, có thể bạn sẽ cần thêm các trường tùy chỉnh vào quá trình xuất dữ liệu sản phẩm, để thu thập và phân tích dữ liệu chi tiết hơn. Bài viết này sẽ hướng dẫn cách thêm các trường tùy chỉnh vào file CSV export của WooCommerce, cùng các ví dụ cụ thể để bạn có thể áp dụng ngay cho website của mình.

Tại sao cần thêm trường tùy chỉnh vào file export của WooCommerce?

Mặc định, WooCommerce chỉ cung cấp các trường thông tin cơ bản của sản phẩm khi export dữ liệu, chẳng hạn như tên sản phẩm, SKU, giá, số lượng hàng tồn, và mô tả. Tuy nhiên, bạn có thể cần thêm các trường dữ liệu tùy chỉnh như mã sản phẩm riêng, dữ liệu meta, hoặc URL ảnh thumbnail để phù hợp với nhu cầu quản lý và marketing.

Hướng dẫn thêm trường tùy chỉnh vào file export WooCommerce

Bước 1: Thêm cột tùy chỉnh vào file export

Để thêm cột vào file CSV export của WooCommerce, bạn sẽ sử dụng các filter để tùy chỉnh danh sách cột xuất ra. Dưới đây là cách thêm một cột có tên là “Custom Column” để chứa dữ liệu tùy chỉnh cho mỗi sản phẩm.

php
Sao chép
/**
 * Thêm cột tùy chỉnh vào WooCommerce export
 *
 * @param array $columns - Các cột xuất hiện trong export
 * @return array $columns - Cột đã được bổ sung
 */
function add_export_column( $columns ) {
    // column slug => column name
    $columns['custom_column'] = 'Custom Column'; 
    return $columns;
}
add_filter( 'woocommerce_product_export_column_names', 'add_export_column' );
add_filter( 'woocommerce_product_export_product_default_columns', 'add_export_column' );

Bước 2: Cung cấp dữ liệu cho cột tùy chỉnh

Sau khi tạo cột, bạn cần cung cấp dữ liệu mà cột sẽ hiển thị. Dưới đây là ví dụ để thêm dữ liệu từ meta field custom_column vào cột “Custom Column” khi export.

php
Sao chép
/**
 * Cung cấp dữ liệu cho cột tùy chỉnh trong export
 *
 * @param mixed $value - Giá trị hiện tại (nếu có)
 * @param WC_Product $product - Đối tượng sản phẩm
 * @return mixed $value - Giá trị để xuất ra file CSV
 */
function add_export_data( $value, $product ) {
    $value = $product->get_meta( 'custom_column', true, 'edit' ); // Lấy giá trị từ custom meta field
    return $value;
}
add_filter( 'woocommerce_product_export_product_column_custom_column', 'add_export_data', 10, 2 );

Bước 3: Kiểm tra và export

Khi đã thêm các đoạn mã trên vào file functions.php của theme (hoặc file plugin tùy chỉnh), bạn có thể vào WooCommerce > Products và chọn export. Khi export, file CSV sẽ có cột “Custom Column” với dữ liệu từ meta field tương ứng.

Ví dụ: Thêm URL ảnh thumbnail vào file export

Bạn cũng có thể thêm cột chứa URL của ảnh thumbnail sản phẩm. Đây là ví dụ cách tạo thêm cột “Thumbnail Image” và lấy URL ảnh thumbnail của từng sản phẩm vào đó.

php
Sao chép
// Thêm cột URL ảnh thumbnail vào WooCommerce export
function add_thumbnail_export_column($columns) {
    $columns['thumbnail_image'] = 'Thumbnail Image'; // Tên cột tùy chỉnh
    return $columns;
}
add_filter('woocommerce_product_export_column_names', 'add_thumbnail_export_column');
add_filter('woocommerce_product_export_product_default_columns', 'add_thumbnail_export_column');

// Lấy URL của ảnh thumbnail
function add_thumbnail_export_data($value, $product) {
    $thumbnail_id = $product->get_image_id(); // Lấy ID của ảnh thumbnail
    if ($thumbnail_id) {
        $thumbnail_url = wp_get_attachment_url($thumbnail_id); // Lấy URL ảnh
        return $thumbnail_url;
    }
    return ''; // Trả về rỗng nếu không có ảnh
}
add_filter('woocommerce_product_export_product_column_thumbnail_image', 'add_thumbnail_export_data', 10, 2);

Với đoạn mã này, file CSV xuất ra sẽ có thêm cột “Thumbnail Image” chứa URL của ảnh thumbnail sản phẩm.

Ví dụ: Thêm trường tùy chỉnh “Biên lợi nhuận”

Giả sử bạn có một trường tùy chỉnh “Biên lợi nhuận” (_custom_field_text) trong sản phẩm, bạn cũng có thể thêm trường này vào file export với các bước tương tự.

  1. Thêm cột “Biên lợi nhuận”:
    php
    Sao chép
    function add_profit_margin_column($columns) {
        $columns['profit_margin'] = 'Profit Margin';
        return $columns;
    }
    add_filter('woocommerce_product_export_column_names', 'add_profit_margin_column');
    add_filter('woocommerce_product_export_product_default_columns', 'add_profit_margin_column');
    

     

  2. Lấy giá trị Biên lợi nhuận:
    php
    Sao chép
    function add_profit_margin_data($value, $product) {
        $value = $product->get_meta('_custom_field_text', true);
        return $value;
    }
    add_filter('woocommerce_product_export_product_column_profit_margin', 'add_profit_margin_data', 10, 2);
    

Sau khi thêm mã này vào, cột “Profit Margin” sẽ chứa giá trị từ trường tùy chỉnh “Biên lợi nhuận” cho từng sản phẩm.

Kết luận

Bài viết đã hướng dẫn cách thêm các trường tùy chỉnh vào file export của WooCommerce, cùng với các ví dụ để bạn có thể dễ dàng áp dụng. Thực hiện theo các bước trên sẽ giúp bạn tạo ra các bản export dữ liệu sản phẩm chi tiết và linh hoạt hơn, đáp ứng nhu cầu quản lý và marketing hiệu quả hơn cho cửa hàng WooCommerce của bạn.

Hy vọng bài viết này giúp ích cho bạn trong việc quản lý dữ liệu sản phẩm. Chúc bạn thành công!

Nguồn tham khảo:

https://github.com/woocommerce/woocommerce/wiki/Product-CSV-Importer-&-Exporter#adding-custom-export-columns-developers