Apa itu WooCommerce HPOS? Ini Release Date hingga Tabelnya

Nasikhun A. 04 Jul 2024 3 Menit 0

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.

Woocommerce hpos

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:

Woocommerce hpos
  1. Buka WooCommerce di website WordPress > klik Settings.
  2. 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 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.

A. Struktur Tabel Baru

NamaDetailDeskripsi
idbigint(20) unsigned, primary key, indexedID unik untuk order.
post_idbigint(20) unsigned, indexedPost ID, jika data diduplikasi. Ini akan digunakan untuk rollback jika dibutuhkan.
statusvarchar(20), indexedStatus untuk order.
currencyvarchar(10)Identifikasi mata uang yang diterima saat pembayaran
tax_amountdecimal(26,8)Jumlah pajak dari total order.
total_amountdecimal(26,8)Total order total, termasuk pajak.
customer_idbigint(20) unsigned, combined indexed with billing_emailID Pelanggan (jika bukan guest).
billing_emailvarchar(320), combined indexed with customer_idEmail Billing milik pelanggan.
date_created_gmtdatetime, combined indexed with statusTimestamp ketika order dibuat.
date_updated_gmtdatetime, combined indexed with statusTimestamp ketika order atau propertinya terkahir diperbarui.
parent_order_idbigint(20) unsigned, indexedID order parent, jika order tersebut adalah refund.
payment_methodvarchar(100)Identifikasi metode pembayaran.
payment_method_titletextJudul metode pembayaran yang digunakan.
transaction_idvarchar(100)ID transaksi yang disediakan oleh payment gateway.
ip_addressvarchar(100)IP address yang digunakan untuk membuat order.
user_agenttextString user-agent dari web client yang digunakan untuk membuat order.
NamaDetailDeskripsi
idbigint(20) unsigned, primary key, indexedID unik untuk mencatatan alamat order.
order_idbigint(20) unsigned, indexedID order.
address_typevarchar(20)Tipe alamat (tagihan, pengiriman, dan lain-lain.)
first_nametextNama depan.
last_nametextNama belakang.
companytextNama perusahaan.
address_1textAlamat 1.
address_2textAlamat 2.
citytextKota.
statetextWilayah.
postcodetextKode pos.
countrytextNegara.
emailvarchar(320)Email.
phonevarchar(100)Nomor telepon.
date_created_gmtdatetimeTanggal detail alamat dibuat.
NamaDetailDeskripsi
idbigint(20) unsigned
order_idbigint(20) unsigned, indexed with cart_hash
created_viavarchar(100)Identifikasi sumber pembuatan order (admin, rest-API, checkout, dan lain-lain.)
woocommerce_versionvarchar(20)Versi WooCommerce yang aktif ketika membuat order.
prices_include_taxtinyint(1)Untuk penggunaan internal. Apakah harga sudah termasuk pajak ketika pembelian.
coupon_usages_are_countedtinyint(1)Untuk penggunaan internal. Apakah penggunaan kupon sudah masuk dalam perhitungan.
download_permissions_grantedtinyint(1)Menandai apakah izin download diberikan untuk order atau tidak.
cart_hashvarchar(100)Hash dari isi keranjang belanja, digunakan untuk menghapus keranjang saat pembayaran pesanan berhasil.
new_order_email_senttinyint(1)Apakah sebuah email dikirimkan untuk order tersebut.
order_keyvarchar(100), indexedKunci untuk mengizinkan akses order anonim dalam pembayaran dan operasi lainya.
order_stock_reducedtinyint(1)Apakah stock berkurang untuk order.
date_paid_gmtdatetimeTimestamp ketika order dipindahkan pertama kali ke status sudah di bayar.
date_completed_gmtdatetimeTimestamp ketika order dipindahkan terakhir kali ke status selesai.
shipping_tax_amountdecimal(26,8)Total pajak pengiriman.
shipping_total_amountdecimal(26,8)Total jumlah biaya pengiriman, termasuk pajak.
discount_tax_amountdecimal(26,8)Total pajak diskon.
discount_total_amountdecimal(26,8)Total jumlah diskon, termasuk pajak.
NamaTipeDeskripsi
idbigint(20) unsigned, primary key, indexedID unik untuk data meta dari order.
order_idbigint(20) unsigned, indexedID dari order pemilik meta.
meta_keyvarchar(255), indexedNama meta.
meta_valuetextIsi dari meta.
date_created_gmtdatetimeTanggal data dibuat.
date_update_gmtdatetimeTanggal data diperbarui.

B. Struktur Catatan Order

NameTipeDeskripsi
idbigint(20) unsigned, primary key, indexedID unik untuk catatan order.
order_idbigint(20) unsigned, indexedID order.
typevarchar(255), indexedJenis catatan (privat, pelanggan, dan lain-lain)
authorbigint(20) unsignedID pengguna yang membuat catatan. Akan menjadi WooCommerce untuk catatan yang bersifat system-generated.
date_created_gmtdatetimeTimestamp ketika catatan dibuat.
contenttextCatatan konten.
NamaTipeDeskripsi
meta_idbigint(20) unsigned, primary key, indexedID unik untuk meta.
note_idbigint(20) unsigned, indexedID catatan.
meta_keyvarchar(255), indexedNama kunci.
meta_valuetextNilai pencatatan.
date_created_gmtdatetimeTanggal catatan dibuat.
date_update_gmtdatetimeTanggal 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/
Bagikan ke:
Diarsipkan di bawah:
Nasikhun A.
Ditulis oleh

Nasikhun A.

Moch. Nasikhun Amin is a late specializer, data-informed SEO content writer who is constantly hungry for growth. A lifelong learner who is interested in the marriage between creativity and technology.

Leave a Reply

Your email address will not be published. Required fields are marked *