Panduan Lanjutan: Cara Menyesuaikan Situs E-niaga Anda dengan Hook & Filter WooCommerce

Baca dalam 2 menit.
2026-04-01
2026-06-03
3,007
Saya mendapatkan komisi ketika Anda berbelanja melalui tautan di bawah ini, tanpa biaya tambahan untuk Anda.

WooCommerce Hooks dan Filters: Fungsi dan Perbedaannya

Saat melakukan pengembangan kustom untuk WooCommerce, sangat penting untuk memahami dua mekanisme ekstensi utamanya, yaitu hook dan filter. Kedua mekanisme ini merupakan bagian penting dari arsitektur inti WordPress, namun masing-masing memiliki fungsi yang berbeda.

Hooks“Hook” adalah antarmuka yang disediakan oleh WooCommerce saat kode dieksekusi pada titik-titik tertentu dalam siklus hidupnya, yang memungkinkan Anda untuk “menyisipkan” kode Anda sendiri untuk menjalankan aksi atau fungsi baru. Ada dua jenis hook:Actions(Aksi) danFilters(Filter). Secara sederhana, action hook digunakan untuk “melakukan sesuatu”; hook ini tidak mengembalikan nilai apa pun, melainkan hanya memberikan kesempatan untuk menjalankan kode kustom pada saat tertentu. Contohnya, menambahkan sebuah banner setelah halaman keranjang belanja diunduh. Filter hook digunakan untuk “mengubah sesuatu”; hook ini menerima sebuah nilai, memungkinkan Anda untuk mengubah nilai tersebut, dan kemudian Anda harus mengembalikan nilai yang telah diubah. Contohnya, mengubah format tampilan harga barang.

Filters(Filter) merupakan salah satu jenis hook, tetapi karena semantiknya yang khusus (yaitu “mengubah data dan mengembalikannya”), biasanya dibicarakan bersama dengan action hook. Salah satu kesalahpahaman yang umum terjadi adalah menggunakan action hook untuk mencoba mengembalikan nilai, yang dapat menyebabkan kode tidak berfungsi dengan benar. Memahami dengan jelas apakah kebutuhan Anda adalah “melakukan operasi” atau “mengubah data” adalah langkah pertama dalam memilih alat yang tepat.

推荐阅读 Memahami secara mendalam tentang hook dan filter inti WordPress: dari dasar-dasar hingga pemrograman praktis.

Integrasi antara hook dan filter yang esensial

Dalam menggunakan alat pengait (hooks) dan filter, kita sangat bergantung pada beberapa fungsi inti yang disediakan oleh WordPress. Memahami fungsi-fungsi tersebut merupakan dasar untuk melakukan penyesuaian (customization) apa pun pada situs web.

UltaHost – Hosting untuk WordPress
Jaminan pengembalian uang dalam 30 hari, bandwidth dan basis data yang tidak terbatas, perlindungan DDoS gratis, diskon 50% untuk pembelian selama 3 tahun (dari harga normal: 50%).

Fungsi inti dari hook aksi (action hook)

Fungsi yang paling sering digunakan adalah…add_action()Fungsi ini digunakan untuk “mengikat” fungsi kustom Anda ke sebuah hook aksi yang telah ditentukan. Syntax dasarnya mencakup nama hook, fungsi panggilan balik (callback function), prioritas, dan jumlah parameter yang diterima. Prioritas menentukan urutan eksekusi ketika beberapa fungsi terpasang pada hook yang sama; semakin kecil angka prioritas, semakin tinggi prioritasnya.

add_action(‘woocommerce_before_add_to_cart_button’, ‘my_custom_message’, 10, 0 );
function my_custom_message() {
    echo ‘<p>Periksa spesifikasi produk sebelum membeli!</p>’;
}

Kode di atas akan menampilkan pesan penunjuk khusus sebelum tombol “Menambahkan ke Keranjang Belanja” ditekan.

Fungsi inti dari hook filter (penyaring filter)

Sebagai tanggapan, untuk memodifikasi data, diperlukan penggunaan alat atau metode tertentu.add_filter()Fungsi. Strukturnya adalah…add_action()Mirip, tetapi fungsi panggilan balik (callback function) Anda harus menerima satu nilai sebagai input dan mengembalikan satu nilai sebagai output.

add_filter( ‘woocommerce_currency_symbol’, ‘change_currency_symbol’, 10, 2 );
function change_currency_symbol( $currency_symbol, $currency ) {
    if ( $currency == ‘USD’ ) {
        $currency_symbol = ‘US$’;
    }
    return $currency_symbol;
}

Contoh ini mengubah tanda dolar dari “$” menjadi “US$”.

推荐阅读 Meningkatkan Konversi E-niaga: Pandangan Mendalam tentang Strategi Pengoptimalan Halaman Produk WooCommerce

Kasus Praktis: Membuat Halaman Produk Sesuai Keinginan

Halaman produk merupakan bagian penting dari WooCommerce, dan tata letak serta penyajian informasinya dapat diubah secara signifikan melalui penggunaan “hook” (fungsi tambahan). Berikut ini beberapa hook yang dapat membantu Anda menentukan dengan tepat titik-titik mana yang perlu diubah:

Tambahkan konten sebelum area “Masukkan ke Keranjang Belanja”.

woocommerce_before_add_to_cart_formwoocommerce_before_add_to_cart_buttonIni adalah dua hook yang sering digunakan. Yang pertama diaktifkan sebelum seluruh formulir ditampilkan, cocok untuk menambahkan banner atau blok peringatan; yang kedua diaktifkan di antara kotak masukan jumlah dan tombol, cocok untuk menambahkan penjelasan singkat atau kotak centang (checkbox).

add_action( ‘woocommerce_before_add_to_cart_button’, ‘add_product_notes_field’ );
function add_product_notes_field() {
    echo ‘<div class="“product-notes”"><label>Persyaratan Penyesuaian (Customization Requirements):</label><textarea name="“customer_notes”"></textarea></div>’;
}

Modifikasi tampilan ringkasan produk (product summary).

Deskripsi singkat produk disusun oleh…woocommerce_short_descriptionKontrol filter: Anda dapat menggunakannya untuk memodifikasi konten deskripsi, misalnya dengan menambahkan teks umum di akhir setiap deskripsi.

hosting.com hosting bersama
Kinerja tinggi, dilengkapi dengan CPU AMD EPYC, penyimpanan SSD NVMe, dan LiteSpeed, dukungan internal ahli 24 jam sehari, langkah-langkah keamanan canggih termasuk SSL, brute force, malware, dan perlindungan DDoS, menghemat hingga 731 TB/bulan.
add_filter( ‘woocommerce_short_description’, ‘append_to_short_description’ );
function append_to_short_description( $desc ) {
    $desc .= ‘<p><em>Produk ini mendukung pengembalian barang tanpa alasan dalam jangka waktu 7 hari.</em></p>’;
    return $desc;
}

Contoh Penerapan Nyata: Pembuatan Keranjang Belanja dan Proses Pembayaran yang Dikustomisasi

Keranjang belanja dan halaman pembayaran merupakan bagian inti dari proses konversi (proses pembelian). Mengoptimalkan keduanya dapat secara langsung meningkatkan pengalaman pengguna dan tingkat penyelesaian pesanan.

Tambahkan informasi global di belakang tabel keranjang belanja.

woocommerce_after_cart_table“Hook” memungkinkan Anda untuk menambahkan konten setelah tabel item di keranjang belanja dan sebelum ringkasan keranjang belanja, seperti petunjuk kode promosi atau penjelasan perkiraan biaya pengiriman.

add_action( ‘woocommerce_after_cart_table’, ‘add_cart_promotion_notice’ );
function add_cart_promotion_notice() {
    echo ‘<div class="“cart-promotion”">Belanja minimal 500 yuan, gratis ongkos kirim!</div>’;
}

Modifikasi field penyelesaian (settlement field)

Sistem bidang pembayaran di WooCommerce sangat dapat dikonfigurasi, dan banyak menggunakan filter. Misalnya, untuk mengubah label dan placeholder dari bidang “Alamat 2”, Anda dapat menggunakan…woocommerce_default_address_fieldsAtau lebih spesifik lagi…woocommerce_billing_fieldsFilter.

推荐阅读 Tutorial WooCommerce: Membangun Situs E-Commerce WordPress yang Kuat dari Awal!

add_filter( ‘woocommerce_default_address_fields’, ‘modify_address_2_field’ );
function modify_address_2_field( $fields ) {
    if ( isset( $fields[‘address_2’] ) ) {
        $fields[‘address_2’][‘label’] = ‘公寓、套房、单元等(可选)’;
        $fields[‘address_2’][‘placeholder’] = ‘可不填’;
    }
    return $fields;
}

Dengan cara ini, Anda dapat menyembunyikan, mengatur ulang, mengganti nama, atau menambahkan setiap field penyelesaian (penyelesaian transaksi) sesuai dengan kebutuhan bisnis Anda.

Menyimpulkan.

Dengan menggunakan hook dan filter dari WooCommerce, Anda dapat melakukan penyesuaian khusus pada situs toko online tanpa perlu mengubah kode inti (core code) sama sekali. Mulailah dengan memahami perbedaan mendasar antara action dan filter, lalu kuasai cara menggunakannya dengan baik.add_action()add_filter()Dua fungsi inti ini, jika diterapkan di area-area kritis seperti halaman produk, keranjang belanja, dan proses pembayaran, dapat membantu Anda membangun toko online yang sangat personalisasi dan memiliki fitur yang lengkap. Ingatlah untuk selalu menambahkan kode kustom ke dalam subtema yang sesuai.functions.phpImplementasi tersebut dapat dilakukan melalui file atau dengan menggunakan plugin khusus (custom plugins). Ini merupakan praktik terbaik untuk memastikan keamanan proses pembaruan (update).

Hosting bersama InterServer.
Hosting bersama seharga $2,50 USD per bulan, diskon $0,1 USD untuk bulan pertama dengan kode promo tryinterserver, serta 461 skrip aplikasi cloud yang dapat diinstal dengan sekali klik.

FAQ - Pertanyaan yang Sering Diajukan.

###… Di mana seharusnya saya meletakkan kode kustom saya?
Cara yang paling aman dan paling disarankan adalah dengan meletakkannya di dalam subtema dari tema yang sedang Anda gunakan.functions.phpDi dalam file.

Dengan melakukan ini, Anda dapat memastikan bahwa kode kustom Anda tidak akan tertimpa saat tema diperbarui. Jika Anda tidak menggunakan subtema, Anda juga dapat membuat plugin fungsional khusus untuk menyimpan kode tersebut.

Bagaimana cara menemukan hook atau filter tertentu yang saya butuhkan?

Anda dapat mengakses dokumen pengembang resmi WooCommerce, yang menyediakan indeks hook yang sangat lengkap.

Selain itu, di editor kode di backend WordPress, atau dengan menggunakan plugin seperti “Simply Show Hooks”, Anda dapat langsung melihat secara visual semua hook yang tersedia di halaman frontend. Hal ini sangat efektif untuk menemukan lokasi tertentu dengan cepat.

Saya menggunakan hook, tetapi kode tidak berfungsi. Bagaimana cara menyelidikinya?

Pertama-tama, periksa apakah ada kesalahan sintaks dalam kode Anda, karena hal tersebut dapat menyebabkan PHP gagal dalam memproses kode tersebut. Pastikan fungsi panggilan balik (callback function) didefinisikan dengan benar, dan…add_actionadd_filterPrioritas dan jumlah parameter-nya benar.

Kedua, pastikan nama hook tersebut benar, dan pastikan bahwa hook tersebut benar-benar dieksekusi di posisi halaman yang diharapkan. Gunakan…error_logvar_dumpMelakukan output debugging yang sederhana dapat membantu Anda menentukan apakah fungsi tersebut telah diaktifkan (dipanggil).

Apa perbedaan antara memodifikasi file template WooCommerce dan menggunakan hooks?

Mengganti file template WooCommerce secara langsung (dengan menyalinnya ke direktori tema Anda) merupakan cara langsung untuk mengubah tampilan dan struktur situs web, namun metode ini umumnya digunakan hanya untuk memodifikasi struktur output HTML-nya saja.

Sementara itu, hook lebih cocok digunakan untuk menambahkan fitur baru, memodifikasi data, atau menyisipkan konten di posisi tertentu. Hook memberikan tingkat fleksibilitas dan kemudahan pemeliharaan yang lebih tinggi, terutama saat melakukan ekspansi fungsi logis, sehingga sebaiknya dijadikan pilihan utama. Teknik penutupan template (template overriding) dan penggunaan hook sering digabungkan untuk mencapai hasil yang terbaik.