Liên hệ

[WP] Code thêm attribute cho product

Attribute Product là một tính năng quan trọng trong Woocommerce, hỗ trợ cho các cửa hàng trực tuyến hiển thị các sản phẩm của mình một cách rõ ràng và chi tiết hơn. Với tính năng này, bạn có thể thêm các thuộc tính cho sản phẩm của mình, chẳng hạn như màu sắc, kích thước và giá. Điều này giúp khách hàng dễ dàng tìm kiếm và lựa chọn sản phẩm mà họ muốn mua.

Để bắt đầu sử dụng tính năng Attribute Product trong Woocommerce, đầu tiên bạn cần phải tạo các thuộc tính cho sản phẩm của mình. Bạn có thể làm điều này bằng cách vào trang Products của Woocommerce sau đó click vào Attributes và thêm các thuộc tính mới.

Một khi bạn đã tạo các thuộc tính, bạn có thể gán chúng cho các sản phẩm của mình bằng cách vào trang Edit Product. Tại đây, bạn có thể thấy danh sách các thuộc tính bạn đã tạo và gán chúng cho sản phẩm tương ứng.

Với tính năng Attribute Product của Woocommerce, bạn cũng có thể quản lý các biến thể sản phẩm. Biến thể sản phẩm là các phiên bản khác nhau của cùng một sản phẩm, với các thuộc tính khác nhau, chẳng hạn như kích thước hoặc màu sắc. Việc quản lý các biến thể sản phẩm giúp bạn hiển thị thông tin chi tiết về sản phẩm của mình và tăng khả năng bán hàng.

Tóm lại, tính năng Attribute Product là một phần quan trọng trong Woocommerce, giúp bạn tăng khả năng tìm kiếm sản phẩm và cung cấp cho khách hàng thông tin chi tiết về sản phẩm của bạn. Nếu bạn đang sử dụng Woocommerce cho cửa hàng trực tuyến của mình, hãy sử dụng tính năng này để cải thiện trải nghiệm mua sắm của khách hàng và tăng doanh số bán hàng của bạn.


Bạn có thêm trực tiếp chúng trong phần chỉnh sửa sản phẩm, vậy khi chúng ta cần clone hay crawl bằng code thì sao?

 1. Code mặc định

global $wpdb;

$product_id = 422;

// Lấy các thuộc tính hiện có của sản phẩm
$existing_attributes = get_post_meta( $product_id, '_product_attributes', true );

// Thêm thuộc tính mới vào danh sách thuộc tính của sản phẩm
$new_attributes = array(
    'loai' => array(
        'name' => 'Loại',
        'value' => 'Red|blue',
        'position' => 0,
        'is_visible' => 1,
        'is_variation' => 0,
        'is_taxonomy' => 0
    ),
    'cao' => array(
        'name' => 'Cao',
        'value' => '150m',
        'position' => 0,
        'is_visible' => 1,
        'is_variation' => 0,
        'is_taxonomy' => 0
    )
);
if ( ! empty( $existing_attributes ) ) {
    $new_attributes = array_merge( $existing_attributes, $new_attributes );
}

// Cập nhật thông tin thuộc tính vào bảng wp_postmeta
update_post_meta( $product_id, '_product_attributes', $new_attributes );

 

 

2. Code theo dạng dữ liệu có sẵn

function set_attribute($post_id ,$data) {
    global $wpdb;
    // Lấy các thuộc tính hiện có của sản phẩm
    $existing_attributes = get_post_meta( $post_id, '_product_attributes', true );
    $new_attributes = array();
    foreach ($data['attributes'] as $attribute) {
      $element = array(
          'name' => $attribute['attributeName'],
          'value' => $attribute['attributeValue'],
          'position' => 0,
          'is_visible' => 1,
          'is_variation' => 0,
          'is_taxonomy' => 0
      );
      $new_attributes[create_slug($attribute['attributeName'])] = $element;
    }

    if ( ! empty( $existing_attributes ) ) {
        $new_attributes = array_merge( $existing_attributes, $new_attributes );
    }

    // Cập nhật thông tin thuộc tính vào bảng wp_postmeta
    update_post_meta( $post_id, '_product_attributes', $new_attributes );
}

3. Hàm tạo slug

if (!function_exists('create_slug')) {
    function create_slug($string)
    {
        $search = array(
            '#(à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ)#',
            '#(è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ)#',
            '#(ì|í|ị|ỉ|ĩ)#',
            '#(ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ)#',
            '#(ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ)#',
            '#(ỳ|ý|ỵ|ỷ|ỹ)#',
            '#(đ)#',
            '#(À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ)#',
            '#(È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ)#',
            '#(Ì|Í|Ị|Ỉ|Ĩ)#',
            '#(Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ)#',
            '#(Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ)#',
            '#(Ỳ|Ý|Ỵ|Ỷ|Ỹ)#',
            '#(Đ)#',
            "/[^a-zA-Z0-9\-\_]/",
        );
        $replace = array(
            'a',
            'e',
            'i',
            'o',
            'u',
            'y',
            'd',
            'A',
            'E',
            'I',
            'O',
            'U',
            'Y',
            'D',
            '-',
        );
        $string = preg_replace($search, $replace, $string);
        $string = preg_replace('/(-)+/', '-', $string);
        $string = strtolower($string);
        return $string;
    }
}

 

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


Disclaimer: Bài viết của chỉ nhằm mục đích cung cấp thông tin, kiến thức và bài viết này.

Follow us:
  • Facebook:
  • Website:
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Bài viết được đọc nhiều