WooCommerce HPOS dan Kompatibilitas (IndoOngkir Suite)
Penjelasan WooCommerce HPOS (High-Performance Order Storage) dan kompatibilitas IndoOngkir Suite untuk order admin, resi, label, dan filter asal pengiriman.
WooCommerce menyediakan fitur High-Performance Order Storage (HPOS) (kadang disebut custom order tables) untuk menyimpan data order di tabel database khusus, bukan hanya sebagai post type WordPress (shop_order). Biasanya HPOS dipakai saat volume order mulai besar dan Anda butuh halaman Orders di admin yang lebih responsif.
Pertanyaan yang paling sering muncul: “Kalau HPOS aktif, IndoOngkir Suite masih aman dipakai?” Jawabannya: ya. IndoOngkir Suite dirancang memakai API order WooCommerce standar, dan sudah mengakomodasi layar order HPOS (woocommerce_page_wc-orders) untuk fitur admin seperti resi, shipping label, dan kolom/filter asal pengiriman.
Tutorial ini menjelaskan ringkas apa itu HPOS, cara mengecek statusnya di WooCommerce, dan checklist uji setelah HPOS aktif.
Apa itu HPOS?
Secara default, order WooCommerce disimpan sebagai custom post type. HPOS memindahkan penyimpanan inti order ke tabel terpisah yang dioptimalkan untuk query order.
Pengaturan HPOS ada di:
WooCommerce → Pengaturan → Lanjutan → Fitur (label bisa tampil sebagai Advanced → Features tergantung bahasa admin)
Contoh label di antarmuka WooCommerce (bahasa Inggris):
| Label | Fungsi |
|---|---|
| High-Performance Order Storage | Mengaktifkan penyimpanan order di tabel khusus |
| Compatibility mode (jika ditampilkan) | Mode transisi sinkronisasi data lama |
Apakah IndoOngkir Suite mendukung HPOS?
Ya, IndoOngkir Suite kompatibel dengan HPOS untuk penggunaan normal toko WooCommerce, termasuk:
| Area fitur | Dukungan HPOS |
|---|---|
| Perhitungan ongkir di checkout | Ya (tidak bergantung pada penyimpanan post type) |
| Meta box IndoOngkir - Resi Pengiriman | Ya (terdaftar untuk shop_order dan woocommerce_page_wc-orders) |
| Kolom dan filter asal pengiriman di daftar order | Ya (hook manage_woocommerce_page_wc-orders_columns) |
| Bulk action order (label, status COD, dll.) | Ya |
| Custom order status (Shipping, RTS, Processing COD) | Ya |
| Cetak IndoShippingLabel dari halaman order | Ya |
Plugin memakai woocommerce_order_list_table_prepare_items_query_args untuk filter asal pengiriman saat HPOS aktif.
Prasyarat
- WooCommerce versi yang mendukung HPOS (WooCommerce 8+)
- Plugin WPBisnis - IndoOngkir For WooCommerce versi terbaru
- Lisensi IndoOngkir Suite valid
- Hak akses admin WooCommerce untuk mengubah Features
Cara membuka pengaturan HPOS
- Login ke WordPress Admin.
- Buka WooCommerce → Pengaturan (kadang tampil sebagai WooCommerce → Settings).
- Klik tab Advanced / Lanjutan.
- Klik sub-tab Features / Fitur.
- Cari opsi High-Performance Order Storage.
Langkah-langkah
1. Cek status HPOS saat ini
- Buka WooCommerce → Pengaturan → Lanjutan → Features.
- Catat apakah High-Performance Order Storage:
- Belum aktif
- Aktif
- Dalam proses migrasi / compatibility mode
Jika belum yakin, buka WooCommerce → Orders. URL admin HPOS biasanya memakai page=wc-orders (bukan hanya edit.php?post_type=shop_order).

2. Aktifkan HPOS (opsional)
Hanya lakukan jika Anda sengaja ingin migrasi ke HPOS:
- Di Features, aktifkan High-Performance Order Storage.
- Ikuti wizard migrasi data order jika WooCommerce memintanya.
- Tunggu hingga migrasi selesai sebelum menguji order di toko yang sudah online.

3. Perbarui IndoOngkir Suite
- Buka Plugin di WordPress admin.
- Pastikan WPBisnis - IndoOngkir For WooCommerce versi terbaru terpasang.
- Jika WooCommerce menampilkan peringatan kompatibilitas plugin, perbarui IndoOngkir terlebih dahulu sebelum memaksa HPOS.
Cara memastikan sudah berjalan (checklist uji)
Setelah HPOS aktif, uji alur yang relevan dengan modul Anda:
| Langkah uji | Modul terkait | Yang dicek |
|---|---|---|
| Buat order uji dengan ongkir IndoOngkir | IndoOngkir | Tarif tersimpan di order |
| Buka WooCommerce → Orders | IndoOngkir, IndoMultiOrigin | Kolom info pengiriman / asal tampil |
| Filter order by asal pengiriman | IndoMultiOrigin | Daftar order terfilter benar |
| Input nomor resi di sidebar order | IndoResi | Meta box IndoOngkir - Resi Pengiriman tersimpan |
| Kirim notifikasi resi (jika dikonfigurasi) | IndoResi | Email terkirim ke pembeli |
| Cetak shipping label | IndoShippingLabel | Label terbuka / tercetak dengan data benar |
| Ubah status order custom (COD, Shipping) | IndoCOD, IndoOngkir | Status berubah tanpa error |
Jika semua langkah di atas lulus, HPOS dan IndoOngkir Suite berjalan normal di toko Anda.
Catatan
- HPOS mengubah cara order disimpan di database, bukan cara ongkir dihitung di Checkout. Jadi masalah ongkir di Checkout jarang disebabkan HPOS.
- Jika data order tampak tidak sinkron setelah migrasi besar, coba Cara Menghapus Cache Data Ongkir (IndoOngkir Suite) untuk cache tarif, bukan data order.
- Plugin lain yang membaca order lewat query post type mentah (bukan API WooCommerce) bisa bermasalah dengan HPOS; itu di luar IndoOngkir Suite.
Troubleshooting
Meta box resi tidak muncul di halaman order
- Pastikan modul IndoResi enabled di WooCommerce → Pengaturan → IndoOngkir → IndoResi.
- Buka order dari menu WooCommerce → Orders (tampilan HPOS), bukan editor post lama.
Kolom asal pengiriman hilang di daftar order
- Pastikan HPOS benar-benar aktif dan Anda melihat
wc-orders, bukan daftar post type lama. - Perbarui IndoOngkir Suite ke versi terbaru.
Bulk action label atau COD gagal
- Cek izin user admin dan pastikan tidak ada plugin keamanan yang memblokir bulk action.
- Ulangi dengan satu order dulu untuk mengisolasi masalah.
WooCommerce memperingatkan plugin tidak kompatibel
- Perbarui WPBisnis - IndoOngkir For WooCommerce ke versi terbaru dari WPBisnis.
- Jika peringatan tetap ada tetapi checklist uji lulus, hubungi support WPBisnis dengan versi WooCommerce dan plugin Anda.