Đừng quên nhấn Thích và Đăng ký thành viên để ủng hộ Uploader bạn nhé!Họ đã thiệt sự vất vả vì người dùng ~.~

LongDoTe

🖥️
Thành viên BQT
Mê Phim
1,334
77
48
Để tìm hiểu sâu về WooCommerce, bạn cần nắm rõ các thành phần và cấu trúc file mà nó tạo ra. WooCommerce không chỉ là một plugin; nó là một framework hoàn chỉnh, tạo ra các loại dữ liệu mới (CPT) và dựa vào các tệp mẫu (template files) để hiển thị giao diện người dùng.
Dưới đây là tổng quan chi tiết về các thành phần dữ liệu và cấu trúc tệp của WooCommerce:

1. Thành phần Dữ liệu (Database/CPT)

WooCommerce sử dụng Custom Post Types (CPT) và Custom Taxonomies để tổ chức dữ liệu thương mại điện tử:

A. Custom Post Types (Loại Bài đăng Tùy chỉnh)

CPT SlugTên hiển thịMục đích
productSản phẩmLưu trữ tất cả thông tin chi tiết về sản phẩm (Tên, Mô tả, Giá, Ảnh, Thuộc tính).
shop_orderĐơn hàngLưu trữ dữ liệu về các giao dịch đã hoàn tất (Thông tin khách hàng, Tình trạng đơn hàng, Chi tiết sản phẩm, Tổng giá trị).
shop_couponMã giảm giáLưu trữ thông tin về các mã giảm giá và quy tắc áp dụng (Số tiền giảm, Ngày hết hạn, Sản phẩm áp dụng).
shop_webhookWebhookĐược sử dụng cho các tích hợp tự động với các dịch vụ bên ngoài.

B. Custom Taxonomies (Phân loại Tùy chỉnh)

Taxonomy SlugTên hiển thịVai trò tương đương
product_catDanh mục sản phẩmDùng để phân loại sản phẩm theo nhóm lớn (ví dụ: Áo sơ mi, Điện thoại).
product_tagThẻ sản phẩmDùng để gắn thẻ mô tả chi tiết sản phẩm (ví dụ: Cotton, Bản giới hạn).
product_shipping_classLớp vận chuyểnDùng để gán các quy tắc phí vận chuyển khác nhau cho các nhóm sản phẩm khác nhau.

C. Post Meta (Custom Fields)

Dữ liệu của các CPT trên (như giá, tồn kho, thuộc tính, tình trạng đơn hàng) được lưu trữ dưới dạng Post Meta (Custom Fields) trong bảng wp_postmeta.
  • Ví dụ về Meta Key quan trọng:
    • _price (Giá bán).
    • _stock (Số lượng tồn kho).
    • _sku (Mã SKU).

2. Cấu trúc Thư mục và Tệp Mẫu (Template Files)

WooCommerce là một plugin, vì vậy các tệp cốt lõi của nó nằm trong thư mục: wp-content/plugins/woocommerce/.

A. Các Thư mục Plugin Cốt lõi quan trọng

Thư mụcChức năng
assets/Chứa các tệp CSS, JavaScript và hình ảnh được sử dụng để định kiểu giao diện.
includes/Chứa các tệp cốt lõi PHP, định nghĩa các lớp (classes), hàm, và xử lý logic nghiệp vụ.
i18n/Chứa các tệp dịch thuật.
templates/CHỦ CHỐT! Chứa tất cả các tệp mẫu HTML/PHP (frontend) để hiển thị sản phẩm, giỏ hàng, thanh toán, v.v.

B. Tệp Template Chủ chốt trong thư mục templates/

Đây là các tệp mà bạn sẽ cần can thiệp nếu muốn tùy chỉnh giao diện người dùng (frontend) của cửa hàng:
Tệp MẫuMô tả
archive-product.phpTệp mẫu cho trang Cửa hàng (Shop Page), hiển thị danh sách tất cả sản phẩm.
single-product.phpTệp mẫu cho trang Chi tiết Sản phẩm cá nhân.
content-single-product.phpĐịnh nghĩa bố cục chính của trang chi tiết sản phẩm.
cart/cart.phpHiển thị nội dung trang Giỏ hàng.
checkout/form-checkout.phpHiển thị biểu mẫu trên trang Thanh toán.
myaccount/my-account.phpHiển thị trang Tài khoản của tôi.
loop/price.phpTệp hiển thị giá sản phẩm.

C. Cách tùy chỉnh Tệp Template (Theme Overrides)

Quy tắc VÀNG: Không bao giờ chỉnh sửa trực tiếp các tệp trong thư mục wp-content/plugins/woocommerce/templates/. Nếu bạn làm vậy, các thay đổi sẽ bị mất khi WooCommerce cập nhật.
Cách Tùy chỉnh Đúng:
  1. Tạo một thư mục mới có tên là woocommerce bên trong thư mục Theme/Child Theme đang hoạt động của bạn.
  2. Sao chép tệp template bạn muốn chỉnh sửa (ví dụ: templates/single-product.php) và dán vào thư mục mới tạo (your-theme/woocommerce/single-product.php).
  3. Chỉnh sửa tệp trong thư mục Theme của bạn. WooCommerce sẽ tự động ưu tiên tệp trong thư mục Theme thay vì tệp gốc trong Plugin.

3. Các Lớp (Classes) và Hàm PHP Cơ bản

Nếu bạn phát triển plugin hoặc muốn tương tác sâu hơn với WooCommerce, bạn sẽ làm việc với các lớp (class) và hàm:
  • WC_Product: Lớp cơ bản để thao tác với dữ liệu sản phẩm.
  • WC_Customer: Lớp quản lý dữ liệu của khách hàng.
  • WC_Order: Lớp xử lý dữ liệu đơn hàng.
  • Hàm cơ bản: wc_get_product(), WC()->cart, is_woocommerce() (kiểm tra xem bạn có đang ở trang WooCommerce không).
Việc hiểu các thành phần này sẽ giúp bạn dễ dàng gỡ lỗi, tùy chỉnh nâng cao, và sử dụng các Hooks (Actions và Filters) mà WooCommerce cung cấp.
 
......BQT luôn trân trọng các bạn viết bài - Uploader........
Forum luôn vui vẻ - đón chào các bạn! Khuyến khích trao đổi và tương tác - tạo sân chơi bổ ích!
Back
Top