Panduan lengkap untuk plugin WooCommerce dan penjelasan kod terperinci: daripada pemasangan hingga pembangunan kustomisasi.

Bacaan 3 minit
2026-03-16
2026-06-04
2,772
Saya mendapat komisen apabila anda membeli-belah melalui pautan di bawah, tanpa sebarang kos tambahan kepada anda.

Pemasangan dan Konfigurasi Asas WooCommerce

Proses pemasangan WooCommerce memang mudah, tetapi pengaturan awal yang betul merupakan asas untuk membina laman web e-dagang yang stabil. Pertama sekali, anda memerlukan persekitaran pelayan yang menjalankan PHP 7.4 atau versi yang lebih baru, dan telah memasang WordPress. Melalui halaman “Plugin” > “Install Plugins” di panel pentadbiran WordPress, cari “WooCommerce” dan klik “Install” untuk memasang serta mengaktifkannya. Setelah diaktifkan, sistem akan secara automatik memulakan “Panduan Pengaturan” yang akan membimbing anda melalui proses pengaturan asas kedai anda.

Dalam panduan penyetupan, anda perlu melakukannya secara berurutan: menetapkan lokasi kedai, mata wang, dan unit ukuran; mengkonfigurasi kaedah pembayaran (seperti PayPal, Stripe, atau pemindahan bank); menetapkan peraturan pengiraan kos penghantaran (seperti penghantaran percuma, kos penghantaran tetap, atau kadar yang berubah berdasarkan berat/alamat); dan disyorkan untuk memasang beberapa tambahan yang diperlukan, seperti WooCommerce Payments atau plugin penyesuaian. Setelah menyelesaikan panduan tersebut, anda akan memasuki panel tetapan utama WooCommerce. Terdapat beberapa bahagian penting yang perlu disetel dengan teliti: Di bahagian “Umum”, anda boleh menetapkan lokasi jualan dan kaedah pengiraan cukai; di bahagian “Produk”, anda boleh mendefinisikan unit ukuran, ulasan produk, dan pengurusan stok; halaman “Bayaran” adalah tempat untuk mengkonfigurasi semua gateway pembayaran dan proses pembayaran; bahagian “Penghantaran” pula digunakan untuk mengurus kawasan penghantaran, kaedah penghantaran, dan pembungkusan produk.

Satu langkah yang sering diabaikan tetapi sangat penting adalah pengaturan pautan tetap (permanent links). Dalam WordPress, pergi ke “Settings” > “Permanently Fixed Links” dan pastikan anda tidak menggunakan struktur “Plain”. Struktur “Article Name” atau struktur yang disesuaikan lebih disyorkan, kerana ia membantu meningkatkan prestasi SEO untuk halaman produk. Pada masa yang sama, dalam halaman tetapan “Advanced” di WooCommerce, anda perlu mengaitkan halaman-halaman tertentu (seperti keranjang beli-belah, proses pembayaran, akaun saya, dll.) dengan halaman-halaman WordPress yang sesuai. Halaman-halaman ini telah dibuat secara automatik semasa pemasangan plugin.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Panduan Pembangunan Kustom WooCommerce: Tutorial Praktikal Lengkap dari Permulaan hingga Lanjutan

Pengaturan Maklumat Asas Toko

Pengaturan maklumat asas kedai terutamanya berada dalam WordPress Customizer dan tetapan biasa WooCommerce. Anda perlu memastikan alamat kedai, emel perkhidmatan pelanggan, dan nombor telefon adalah betul, kerana maklumat ini akan muncul dalam notifikasi pesanan, invois, dan bahagian kaki halaman. Selain itu, dalam tetapan “Biasa” di bawah “Opsi Mata Wang”, anda boleh menetapkan format mata wang, seperti RMB (¥123.00) atau USD ($123.00).

UltaHost – Penyedia Hosting untuk WordPress
Jaminan pemulangan wang dalam tempoh 30 hari, lebar jalur dan pangkalan data yang tidak terhad, perlindungan DDoS percuma, diskaun 50% untuk pembelian selama 3 tahun.

Pengintegrasian gateway pembayaran dan penghantaran

Gateway pembayaran merupakan nadi utama bagi perniagaan e-dagang. WooCommerce menyediakan pelbagai kaedah pembayaran yang telah dibina dalamnya, seperti… WC_Gateway_BACS(Pengiriman wang melalui bank)WC_Gateway_CHEQUE(Check payment) dan WC_Gateway_COD(Payment upon delivery). Untuk mengaktifkan gateway yang lebih canggih seperti Stripe atau PayPal, biasanya perlu memasang plugin berasingan dan mengkonfigurasi kunci API. Sebagai contoh, semasa mengkonfigurasi Stripe, anda perlu memasukkan kunci awam (public key) dan kunci peribadi (private key) yang disediakan oleh Stripe pada halaman tetapan yang sesuai.

Pengaturan penghantaran juga sangat penting. Anda boleh membuat peraturan kos penghantaran yang berbeza untuk negara atau wilayah yang berbeza dalam bahagian “Kawasan Penghantaran”. Sebagai contoh, anda boleh membuat kawasan khusus untuk China daratan dan menambahkan pilihan seperti “Penghantaran Percuma”, “Kadar Bayaran Tetap”, dan “Pengambilan Di Tempat”. Dengan menggunakan woocommerce_shipping_init Pengembang juga boleh membuat kelas kaedah penghantaran yang benar-benar disesuaikan mengikut keperluan mereka.

Fungsi utama dan pengurusan data

WooCommerce mengintegrasikan semua data perdagangan elektronik ke dalam jenis artikel dan kategori khusus yang dibina oleh WordPress. Produk disimpan sebagai… product Jenis artikel, manakala pesanan (order) adalah sesuatu yang berkaitan dengannya. shop_order Jenis artikel. Memahami model data ini adalah prasyarat untuk melakukan pembangunan khusus yang lebih canggih.

Pengurusan produk adalah inti daripada segala-galanya. WooCommerce menyokong empat jenis produk:simple(Produk yang ringkas)grouped(Kumpulan produk)external(Produk luaran/berkaitan) dan variable(Produk Berubah-ubah) Produk berubah-ubah membenarkan anda menetapkan pelbagai atribut untuk satu produk yang sama (seperti warna, saiz) beserta harga, stok, dan SKU yang berkaitan. Semasa mengedit produk di bahagian belakang, anda akan menggunakan satu siri kotak metadata untuk menguruskan SKU stok, harga, status stok, maklumat penghantaran, serta galeri gambar produk yang berkaitan.

Diperoleh daripada WEB\nDisyorkan untuk membaca. Apa itu WooCommerce dan apakah arkitektur asasnya?

Sistem pengurusan pesanan menyediakan gambaran keseluruhan jualan yang lengkap. Setiap pesanan mengandungi metadata yang kaya. shop_order Post tersebut merekod maklumat pelanggan, barang yang dibeli, harga, status pembayaran, dan sejarah nota pesanan. Pengurusan status adalah sangat penting, dan status laluan termasuk: pending(Tunggu pembayaran)processing(Dalam proses pengurusan…)on-hold(Pause) Dan completed(Sudah selesai.) Anda boleh menggunakannya. wc_get_order_statuses Fungsi tersebut mendapatkan semua keadaan (status) dan kemudian… woocommerce_register_shop_order_post_statuses Penyediaan status khusus untuk pendaftaran penapis.

Pengurusan Jenis dan Atribut Produk

Properti produk merupakan alat yang sangat berguna untuk mengatur katalog barang yang kompleks. Anda boleh membuat properti global seperti “Warna” atau “Saiz” di bahagian “Produk” > “Properti”. Kemudian, semasa mengedit produk yang boleh disesuaikan, gunakan properti tersebut untuk membuat “Kombinasi Properti”, dan tetapkan data variasi yang berbeza untuk setiap kombinasi (seperti “Merah-Large”). Pada tahap kod, ini boleh dilakukan melalui… WC_Product_Variable Kelas dan… get_available_variations() Cara untuk mendapatkan dan mengoperasi semua maklumat variasi.

Pemprosesan Data Pesanan dan Pelanggan

WooCommerce digunakan. WC_Order Kelas digunakan untuk mengapsulasi data pesanan. Dengan menggunakan kelas ini, anda boleh membuat atau mengemas kini pesanan secara programatik. Sebagai contoh, kod di bawah menunjukkan cara untuk membuat pesanan baru dan menambahkan barang:

hosting.com Hosting Bersama
Prestasi tinggi, menampilkan CPU AMD EPYC, storan SSD NVMe dan LiteSpeed, dengan sokongan pakar dalaman 24/7, langkah keselamatan canggih termasuk SSL, perlindungan serangan paksa kata laluan, perisian hasad dan DDoS, menjimatkan sehingga 73%.
// 创建一个新订单对象
$order = wc_create_order();

// 通过商品ID获取商品对象并添加到订单中
$product = wc_get_product(123);
$order->add_product($product, 2); // 数量为2

// 设置客户地址
$order->set_address(array(
    'first_name' => '张',
    'last_name'  => '三',
    'email'      => '[email protected]',
    'phone'      => '13800138000',
), 'billing');

// 计算总额并保存
$order->calculate_totals();
$order->save();

Data pelanggan adalah berkaitan dengan pengguna WordPress.WP_UserPengikatan yang mendalam. WooCommerce menggunakan… wc_get_customer_order_countwc_get_customer_total_spent Fungsi-fungsi seperti ini memperluas keupayaan pengguna.

Pengintegrasian Tema dan Penggantian Templat

Keserasian antara WooCommerce dan tema menentukan pengalaman pengguna di bahagian hadapan kedai (front-end). WooCommerce menggunakan sistem templat yang kuat, di mana semua fail yang digunakan untuk paparan hadapan (seperti senarai produk, halaman produk individu, keranjang beli-belah) terletak dalam direktori plugin. /templates/ Dalam folder tersebut. Untuk menyesuaikan templat-templat ini tanpa mengubah fail-fail plugin utama, anda perlu menggantikannya (overwrite) dengan templat yang sesuai dalam tema anda.

Cara yang betul adalah: Dalam direktori tema acara anda, buat sebuah fail dengan nama… woocommerce Folder tersebut. Kemudian, salin fail templat WooCommerce yang ingin anda modifikasi dari direktori plugin ke dalam folder baru ini, dan lakukan modifikasi pada salinan tersebut. Sebagai contoh, untuk mengubah struktur halaman produk individu, anda perlu melakukan salinan terlebih dahulu. plugins/woocommerce/templates/single-product.phpthemes/your-theme/woocommerce/single-product.phpWooCommerce akan memuatkan fail templat yang terdapat dalam tema dengan keutamaan tertinggi.

Diperoleh daripada WEB\nDisyorkan untuk membaca. WooCommerce Ultimate Guide to Building a Website: Creating Your E-commerce Empire from Scratch

Selain daripada menutupi seluruh fail, anda juga boleh menggunakan Action Hooks dan Filter Hooks untuk memasukkan atau mengubah kandungan di lokasi tertentu. Sebagai contoh,woocommerce_before_single_product_summary Hook berfungsi sebelum maklumat ringkasan produk, menjadikannya lokasi yang ideal untuk menambah iklan banner khusus.

Struktur fail templat yang diperibadikan

Fail templat WooCommerce mempunyai struktur hierarki yang jelas. Sebagai contoh, bagi gelung produk (product loop),archive-product.php Ini adalah templat halaman utama kedai, dan ia akan memanggil (ia akan melakukan sesuatu yang berkaitan dengan templat tersebut). content-product.php Untuk merender setiap produk, anda boleh mengubah cara produk dipaparkan dalam senarai dengan menimpa (overwriting) fail-fail tersebut. Sebagai contoh, anda boleh mengubah susun atur produk daripada bentuk grid kepada bentuk senarai, atau menambahkan lambang (badge) yang disesuaikan.

Hosting Bersama InterServer
Hosting kongsi: 1TB/bulan pada $2.50 USD, bulan pertama pada $0.10 USD dengan kod promo tryinterserver. 461 skrip aplikasi awan tersedia untuk pemasangan satu klik.

Menggunakan hook untuk pengembangan fungsi

Hook merupakan tulang belakang kepada ekspansi (extensions) WooCommerce. Hook aksi (action hooks) membenarkan anda “melaksanakan” kod, seperti menambahkan kotak maklumat khusus di belakang jadual keranjang beli-belah.

add_action('woocommerce_after_cart_table', 'my_custom_cart_message');
function my_custom_cart_message() {
    echo '<div class="custom-notice">Beli barang bernilai 500 yuan atau lebih dan percuma penghantaran!</div>';
}

Hook filter membenarkan anda “mengubah” data. Sebagai contoh, dengan menggunakan… woocommerce_add_to_cart_fragments Penapis boleh mengemaskini kandungan keranjang beli-belah mini secara dinamik:

add_filter('woocommerce_add_to_cart_fragments', 'update_mini_cart_count');
function update_mini_cart_count($fragments) {
    $fragments['div.cart-count'] = '<div class="cart-count">' . WC()-&gt;cart-&gt;get_cart_contents_count() . '</div>';
    return $fragments;
}

Advanced Customization and Development Practices

Apabila fungsi terbina dan alat tambahan (hooks) tidak dapat memenuhi keperluan, pembangunan khusus yang lebih mendalam diperlukan. Ini termasuk mencipta jenis produk yang disesuaikan, menulis gateway pembayaran atau penghantaran yang eksklusif, serta mengintegrasikan dengan sistem luaran melalui REST API.

Untuk membuat jenis produk yang dibuat sendiri, diperlukan pengembangan (extension). WC_Product Kelas. Pertama sekali, anda perlu mendefinisikan sebuah kelas baru yang mewarisi daripada kelas tersebut, dan kemudian mendaftarkan jenis produk tersebut. Sebagai contoh, buatlah sebuah kelas produk yang dinamakan “Tempahan”:

class WC_Product_Booking extends WC_Product {
    public function __construct($product) {
        parent::__construct($product);
        $this->product_type = 'booking';
    }
    // 在这里添加自定义方法和属性,如 get_booking_dates()
}
// 将新类注册到工厂
add_filter('woocommerce_product_class', 'register_booking_product_class', 10, 2);
function register_booking_product_class($classname, $product_type) {
    if ($product_type == 'booking') {
        $classname = 'WC_Product_Booking';
    }
    return $classname;
}

API REST WooCommerce menyediakan antara muka yang kuat untuk aplikasi mudah alih atau sistem pengurusan luaran. Anda boleh menggunakan API ini untuk mengurus produk, pesanan, pelanggan, dan hampir semua jenis data lain. Untuk mengakses API, anda perlu mengaktifkannya terlebih dahulu dalam bahagian “WooCommerce” > “Settings” > “Advanced” > “Old APIs” pada pihak belakang, dan kemudian membuat kunci API (Consumer Key & Consumer Secret). Selepas itu, anda boleh membuat panggilan menggunakan titik akhir (endpoint) yang serupa dengan yang berikut:GET /wp-json/wc/v3/products Untuk mendapatkan senarai produk.

Membangunkan gateway khusus (custom gateway)

Sebuah gateway pembayaran tersuai adalah perluasan kepada sistem pembayaran sedia ada. WC_Payment_Gateway Kelas PHP. Anda perlu mendefinisikan ID gateway, tajuk, deskripsi, dan bidang pembayaran dalam kelas ini, serta melaksanakan fungsi-fungsi yang diperlukan. process_payment Metode untuk melaksanakan logik pembayaran. Setelah pembangunan selesai, ia perlu diluluskan melalui… woocommerce_payment_gateways Penapis tersebut menambahkannya ke dalam senarai gateway yang tersedia.

Mengintegrasikan API dengan perkhidmatan luaran

WooCommerce menyediakan pelbagai hook (mekanisme penghubung) untuk berintegrasi dengan sistem ERP, CRM, atau sistem logistik. Sebagai contoh, apabila status pesanan berubah kepada “Selesai” (Completed), ia akan memicu (trigger) sesuatu tindakan tertentu. woocommerce_order_status_completed Action Hook. Anda boleh mengaitkan sebuah fungsi dengan hook ini untuk menghantar data pesanan ke sistem pengurusan inventori anda.

add_action('woocommerce_order_status_completed', 'sync_order_to_erp');
function sync_order_to_erp($order_id) {
    $order = wc_get_order($order_id);
    $data = array(
        'order_id' => $order->get_id(),
        'total'    => $order->get_total(),
        // ... 准备其他数据
    );
    // 使用 wp_remote_post 将 $data 发送到外部 API
}

RINGKASAN

WooCommerce bukan sekadar sebuah plugin, tetapi juga sebuah rangka kerja pembangunan e-dagang yang lengkap dan sangat boleh disesuaikan. Dari proses pemasangan dan konfigurasi yang mudah hingga pembangunan khusus yang mendalam, ia menyediakan pelbagai kemungkinan kepada pengembang melalui sistem templat yang jelas, rangkaian fungsi yang kaya (Actions & Filters), dan model data berorientasikan objek. Kunci kejayaan dalam membina kedai WooCommerce adalah: konfigurasi asas yang kukuh untuk memastikan kedai beroperasi dengan stabil; pemahaman yang mendalam tentang model data produk dan pesanan; penggunaan templat serta fungsi-fungsi tertentu (hooks) dengan mahir untuk penyesuaian bahagian hadapan (frontend); serta kemampuan untuk mengintegrasikan ciri-ciri khusus melalui kelas yang dibangunkan sendiri, gateway, dan API. Dengan mengikuti amalan terbaik ini, anda akan dapat mencipta kedai dalam talian yang kuat, cekap, dan selaras sepenuhnya dengan logik perniagaan anda.

FAQ - Soalan Lazim

Bagaimana untuk mengubah teks butang “Masuk ke Keranjang Beli-belah”?

Anda boleh menggunakan woocommerce_product_add_to_cart_text Filter atau woocommerce_product_single_add_to_cart_text Penapis digunakan untuk mengubah teks butang. Sebagai contoh, kod di bawah ini akan mengubah teks butang pada halaman produk individu kepada “Beli Sekarang”:

add_filter('woocommerce_product_single_add_to_cart_text', 'change_single_add_to_cart_text');
function change_single_add_to_cart_text() {
    return '立即购买';
}

Untuk halaman arkib (senarai produk), sila gunakan… woocommerce_product_add_to_cart_text Penapis tersebut perlu digunakan, dan jenis produk perlu ditentukan dalam fungsi tersebut.

Bagaimana untuk menambahkan bidang khusus (custom fields) untuk kategori produk tertentu?

Anda perlu menggunakan kombinasi hook klasifikasi produk dari WooCommerce dan API metadata terma dari WordPress. Pertama sekali, gunakan… product_cat_add_form_fieldsproduct_cat_edit_form_fields Aksinya adalah untuk menambah/mengedit bidang keluaran pada halaman klasifikasi. Kemudian, gunakan… created_termedit_term Tindakan untuk menyimpan nilai medan ke… term_metaAkhirnya, anda boleh menggunakannya dalam fail templat. get_term_meta Dapatkan dan tunjukkan nilai ini.

Mengapa perubahan yang saya buat pada templat kustom saya tidak berkesan?

Silakan ikuti langkah-langkah berikut untuk melakukan pemeriksaan: Pertama sekali, pastikan anda telah menyalin fail templat ke path tema yang betul.your-theme/woocommerce/ Pertama, pastikan anda mempunyai salinan lengkap plugin yang anda ingin pulihkan, dan struktur direktori adalah sama dengan templat plugin asal. Kemudian, bersihkan semua cache, termasuk cache pelayar, cache objek WordPress, dan sebarang cache pelayan (seperti OPcache). Akhir sekali, periksa tema anda. functions.php Adakah pengisytiharan sokongan untuk WooCommerce telah dilakukan dengan betul?add_theme_support('woocommerce');Jika masalah masih berterusan, cuba bertukar ke tema lalai (seperti Storefront) untuk menolak kemungkinan masalah keserasian tema.

Bagaimana untuk mencipta produk yang boleh diubahsuai (variable product) dalam WooCommerce secara berprogramatik?

Anda perlu menggunakan WC_Product_Variable Kelas. Langkah-langkah asas adalah: Mencipta objek produk dan menetapkan atribut asas; Mencipta serta menambahkan atribut global (seperti warna); Membina kombinasi atribut yang khusus untuk setiap atribut tersebut (iaitu variasi); Akhirnya, mencipta entiti yang berasingan untuk setiap variasi. WC_Product_Variation Objek tersebut perlu ditetapkan dengan atribut-atribut khusus seperti harga dan stok, kemudian dihubungkan dengan produk utama. Ini adalah proses yang melibatkan beberapa langkah, dan biasanya melibatkan… wp_set_object_terms, set_attributes, dan save dan kaedah-kaedah lain.