Apa itu WooCommerce HPOS? Pemilik web e-commerce, pengembang website toko online, atau developer plugin toko online WooCommerce mungkin sedang penasaran terkait hal ini.
Ketika kamu menggunakan WooCommerce pada website toko online, plugin ini menyimpan informasi pemesanan (order) dalam sebuah database, semacam rak penyimpanan.
Rak penyimpanan lama memiliki sistem yang dinamakan legacy. Sistem database ini kemudian resmi diganti dengan High-Performance Order Storage (HPOS).
Apa itu High-Performance Order Storage (HPOS)? Artikel ini membahas secara lengkap seputar WooCommerce HPOS.
Apa itu WooCommerce HPOS?
High-Performance Order Storage (HPOS) adalah sistem database pada WooCommerce yang didesain khusus untuk kebutuhan e-commerce.
Proyek yang awalnya bernama Customer Order Tables ini mulai dikerjakan pada tanggal 17 Januari 2022, hingga akhirnya berhasil rilis pada Oktober 2023.
Sistem database baru ini dikembangkan untuk (1) meningkatkan performa website WooCommerce, dan (2) memudahkan pengelolaan informasi pesanan.
HPOS mulai efektif diterapkan pada WooCommerce versi 8.0. Namun pada versi ini masih ada opsi penggunaan legacy, yakni sistem database standar WordPress.
Meski website WooCommerce yang sudah ada masih bisa menggunakan jenis database lama, namun penggunaan HPOS sangat direkomendasikan, karena kedepannya akan diimplementasikan secara utuh.
Penjelasan perbedaan HPOS dengan legacy kami rangkum pada artikel WooCommerce HPOS vs Legacy: Transformasi Sistem Database.
Bagaimana WooCommerce HPOS Compatibility dengan Plugin Lain?
Beberapa plugin yang berinteraksi dengan WooCommerce mungkin belum kompatibel jika belum diperbarui. Untuk cek kompatibilitas plugin terhadap HPOS bisa dilakukan dengan langkah berikut ini:
- Buka WooCommerce di website WordPress > klik Settings.
- Buka tab Advanced > klik opsi Features > di bagian Order data storage, di sana terdapat informasi jika ada plugin yang tidak kompatibel.
Jika plugin tidak kompatibel, apa solusinya? Kamu dapat menghubungi developer terkait agar mereka melakukan penyesuaian pada plugin. Developer plugin sendiri pada umumnya akan melakukan proses update Query di dalam plugin mereka sehingga dapat membaca data storage HPOS, yang tadinya hanya membaca storage Legacy.
Bagaimana Struktur Tabel WooCommerce HPOS?
WooCommerce menggunakan desain manajemen database Create, Read, Update, dan Delete (CRUD) pada HPOS.
Sistem CRUD digunakan untuk menyimpan data pesanan menggunakan tabel kustom yang dioptimasi untuk query WooCommerce.
Baca Juga
A. Struktur Tabel Baru
wp_wc_orders
Nama | Detail | Deskripsi |
---|---|---|
id | bigint(20) unsigned, primary key, indexed | ID unik untuk order. |
post_id | bigint(20) unsigned, indexed | Post ID, jika data diduplikasi. Ini akan digunakan untuk rollback jika dibutuhkan. |
status | varchar(20), indexed | Status untuk order. |
currency | varchar(10) | Identifikasi mata uang yang diterima saat pembayaran |
tax_amount | decimal(26,8) | Jumlah pajak dari total order. |
total_amount | decimal(26,8) | Total order total, termasuk pajak. |
customer_id | bigint(20) unsigned, combined indexed with billing_email | ID Pelanggan (jika bukan guest). |
billing_email | varchar(320), combined indexed with customer_id | Email Billing milik pelanggan. |
date_created_gmt | datetime, combined indexed with status | Timestamp ketika order dibuat. |
date_updated_gmt | datetime, combined indexed with status | Timestamp ketika order atau propertinya terkahir diperbarui. |
parent_order_id | bigint(20) unsigned, indexed | ID order parent, jika order tersebut adalah refund. |
payment_method | varchar(100) | Identifikasi metode pembayaran. |
payment_method_title | text | Judul metode pembayaran yang digunakan. |
transaction_id | varchar(100) | ID transaksi yang disediakan oleh payment gateway. |
ip_address | varchar(100) | IP address yang digunakan untuk membuat order. |
user_agent | text | String user-agent dari web client yang digunakan untuk membuat order. |
wp_wc_order_addresses
Nama | Detail | Deskripsi |
---|---|---|
id | bigint(20) unsigned, primary key, indexed | ID unik untuk mencatatan alamat order. |
order_id | bigint(20) unsigned, indexed | ID order. |
address_type | varchar(20) | Tipe alamat (tagihan, pengiriman, dan lain-lain.) |
first_name | text | Nama depan. |
last_name | text | Nama belakang. |
company | text | Nama perusahaan. |
address_1 | text | Alamat 1. |
address_2 | text | Alamat 2. |
city | text | Kota. |
state | text | Wilayah. |
postcode | text | Kode pos. |
country | text | Negara. |
varchar(320) | Email. | |
phone | varchar(100) | Nomor telepon. |
date_created_gmt | datetime | Tanggal detail alamat dibuat. |
wp_wc_order_operational_data
Nama | Detail | Deskripsi |
---|---|---|
id | bigint(20) unsigned | |
order_id | bigint(20) unsigned, indexed with cart_hash | |
created_via | varchar(100) | Identifikasi sumber pembuatan order (admin, rest-API, checkout, dan lain-lain.) |
woocommerce_version | varchar(20) | Versi WooCommerce yang aktif ketika membuat order. |
prices_include_tax | tinyint(1) | Untuk penggunaan internal. Apakah harga sudah termasuk pajak ketika pembelian. |
coupon_usages_are_counted | tinyint(1) | Untuk penggunaan internal. Apakah penggunaan kupon sudah masuk dalam perhitungan. |
download_permissions_granted | tinyint(1) | Menandai apakah izin download diberikan untuk order atau tidak. |
cart_hash | varchar(100) | Hash dari isi keranjang belanja, digunakan untuk menghapus keranjang saat pembayaran pesanan berhasil. |
new_order_email_sent | tinyint(1) | Apakah sebuah email dikirimkan untuk order tersebut. |
order_key | varchar(100), indexed | Kunci untuk mengizinkan akses order anonim dalam pembayaran dan operasi lainya. |
order_stock_reduced | tinyint(1) | Apakah stock berkurang untuk order. |
date_paid_gmt | datetime | Timestamp ketika order dipindahkan pertama kali ke status sudah di bayar. |
date_completed_gmt | datetime | Timestamp ketika order dipindahkan terakhir kali ke status selesai. |
shipping_tax_amount | decimal(26,8) | Total pajak pengiriman. |
shipping_total_amount | decimal(26,8) | Total jumlah biaya pengiriman, termasuk pajak. |
discount_tax_amount | decimal(26,8) | Total pajak diskon. |
discount_total_amount | decimal(26,8) | Total jumlah diskon, termasuk pajak. |
wp_wc_orders_meta
Nama | Tipe | Deskripsi |
---|---|---|
id | bigint(20) unsigned, primary key, indexed | ID unik untuk data meta dari order. |
order_id | bigint(20) unsigned, indexed | ID dari order pemilik meta. |
meta_key | varchar(255), indexed | Nama meta. |
meta_value | text | Isi dari meta. |
date_created_gmt | datetime | Tanggal data dibuat. |
date_update_gmt | datetime | Tanggal data diperbarui. |
B. Struktur Catatan Order
wp_wc_order_notes
Name | Tipe | Deskripsi |
---|---|---|
id | bigint(20) unsigned, primary key, indexed | ID unik untuk catatan order. |
order_id | bigint(20) unsigned, indexed | ID order. |
type | varchar(255), indexed | Jenis catatan (privat, pelanggan, dan lain-lain) |
author | bigint(20) unsigned | ID pengguna yang membuat catatan. Akan menjadi WooCommerce untuk catatan yang bersifat system-generated. |
date_created_gmt | datetime | Timestamp ketika catatan dibuat. |
content | text | Catatan konten. |
wp_wc_order_notes_meta
Nama | Tipe | Deskripsi |
---|---|---|
meta_id | bigint(20) unsigned, primary key, indexed | ID unik untuk meta. |
note_id | bigint(20) unsigned, indexed | ID catatan. |
meta_key | varchar(255), indexed | Nama kunci. |
meta_value | text | Nilai pencatatan. |
date_created_gmt | datetime | Tanggal catatan dibuat. |
date_update_gmt | datetime | Tanggal catatan diperbarui. |
Penjelasan untuk developer bisa kamu baca di sini.
Sudah Paham Apa itu WooCommerce HPOS?
Demikian informasi terkait dengan update terbaru WooCommerce HPOS. Sistem database baru ini dapat membantu meningkatkan performa website toko online kamu.
Jika ada saran, kritik konstruktif atau masukkan apapun, kamu bisa sampaikan ke email kami di contact@tonjoo.com atau meninggalkan pesan di kolom komentar.
Baca juga artikel menarik di Plugin Ongkos Kirim yang terkait dengan Bisnis, Info Ekspedisi, Bisnis Instagram, Bisnis TikTok, atau artikel lainnya dari Moch. Nasikhun Amin. Jangan lupa follow Instagram Plugin Ongkos Kirim juga. Untuk informasi lebih lanjut atau kebutuhan lainnya, kamu bisa menghubungi kami melalui admin@pluginongkoskirim.com.
Sumber tabel:
- https://developer.woocommerce.com/2022/01/17/the-plan-for-the-woocommerce-custom-order-table/