Rumah > Tutorial CMS > WordTekan > Menguasai Tindakan dan Penapis WooCommerce

Menguasai Tindakan dan Penapis WooCommerce

Lisa Kudrow
Lepaskan: 2025-02-18 12:06:14
asal
155 orang telah melayarinya

Menguasai Tindakan dan Penapis WooCommerce

Penggunaan WooCommerce, bersama dengan WordPress, untuk membuat laman web e -dagang semakin meningkat. Jika anda seorang pemaju web seperti saya, mengetahui Ins dan keluar dari sistem template WooCommerce, bersama -sama dengan tindakannya dan penapis adalah kemahiran yang sangat bagus untuk dimiliki. Cukup fikirkan betapa gembira bos anda jika anda tahu segala -galanya yang perlu diketahui mengenai WooCommerce, atau sekurang -kurangnya cukup untuk dapat melaksanakan apa -apa dengan bantuan yang sangat sedikit, hanya anda dan dokumentasi WooCommerce.

Jika semua ini bagus untuk anda, teruskan membaca dan kami akan meneroka apa yang boleh dilakukan dengan WordPress dan WooCommerce bekerja bersebelahan. Gaya artikel ini (dan diharapkan banyak lagi yang akan datang) akan termasuk membentangkan anda dengan masalah dan kemudian datang dengan penyelesaian menggunakan tindakan dan penapis WordPress dan WooCommerce.

Tindakan berguna untuk penciptaan akaun dan mengemas kini

Sangat biasa menggunakan CRM bersama dengan laman web e -dagang anda. WooCommerce menjadikannya mudah bagi kami untuk mengesan apabila pelanggan atau daftar pengguna baru semasa proses checkout atau melalui halaman 'Akaun Saya'.

Contoh berikut harus memberi anda idea bagaimana untuk membuat akaun di Salesforce apabila seseorang mendaftar melalui WooCommerce. Perhatikan bahawa kod API Salesforce tidak ditunjukkan; Saya hanya menggariskan proses.

<span><span><?php
</span></span><span><span>// Create Customer's Salesforce Account
</span></span><span><span>add_action( 'woocommerce_created_customer', 'create_salesforce_account', 10, 3 );
</span></span><span><span>function create_salesforce_account( $customer_id, $new_customer_data, $password_generated ) {
</span></span><span>
</span><span>	<span>// Get the New Customer's data
</span></span><span>	<span>$username   = $new_customer_data['user_login'];
</span></span><span>	<span>$password   = $new_customer_data['user_pass'];
</span></span><span>	<span>$email      = $new_customer_data['user_email'];
</span></span><span>	<span>$role       = $new_customer_data['role'];
</span></span><span>
</span><span>	<span>// Getting the rest of the info for this customer
</span></span><span>	<span>$user = get_user_by( 'id', $customer_id );
</span></span><span>
</span><span>	<span>// Continue and send the information to Salesforce now
</span></span><span><span>}</span></span>
Salin selepas log masuk
Salin selepas log masuk
meneruskan dari contoh terdahulu kami, hanya semulajadi bahawa anda ingin mengemas kini maklumat pelanggan mengenai Salesforce apabila pelanggan mengedit sama ada alamat pengebilan atau penghantaran. WOOCOMMERCE_CUSTOMER_SAVE_ADDRESS berjalan dengan segera selepas kedua -dua alamat telah diedit dan ia memberikan ID pengguna dan alamat mana yang telah diedit. Perhatikan bahawa anda juga boleh mendapatkan mana -mana bidang borang melalui $ _post.

<span><span><?php
</span></span><span><span>// Update Salesforce account with new shipping information
</span></span><span><span>add_action( 'woocommerce_customer_save_address', 'update_salesforce_account', 10, 2 );
</span></span><span><span>function update_salesforce_account( $user_id, $load_address ) {
</span></span><span>
</span><span>	<span>// Let's use a Switch statement to know which address we are updating
</span></span><span>	<span>switch ( $load_address ) {
</span></span><span>		<span>case 'billing':
</span></span><span>			<span>// Send billing info to Salesforce
</span></span><span>			<span>break;
</span></span><span>
</span><span>		<span>case 'shipping':
</span></span><span>			<span>// Send shipping info to Salesforce
</span></span><span>			<span>break;
</span></span><span>	<span>}
</span></span><span><span>}</span></span>
Salin selepas log masuk
Tajuk, Mesej dan Penerangan Front-end Outriding

Tajuk, mesej dan penerangan seksyen boleh diubah dengan mudah jika anda tahu penapis apa yang hendak digunakan. Penapis ini membolehkan anda menyesuaikan apa yang dipaparkan kepada pelanggan ke butiran terakhir. Adakah anda perasan saya mengatakan penapis dan bukan tindakan? Itu kerana WooCommerce tidak menggunakan tindakan untuk mengatasi nilai -nilai seperti ini, sama seperti WordPress.

Menguasai Tindakan dan Penapis WooCommerce woocommerce_checkout_coupon_message memaparkan hanya jika kupon diaktifkan di kedai anda, dan semasa anda berada di halaman checkout ia meminta anda untuk kod kupon. Sebagai contoh: mempunyai kupon? Klik di sini untuk memasukkan kod anda.

Menguasai Tindakan dan Penapis WooCommerce woocommerce_checkout_login_message memaparkan pada halaman checkout apabila kereta mengesan bahawa anda tidak log masuk dan ia memberi anda pilihan untuk masuk. Contohnya: Pelanggan yang kembali? Klik di sini untuk log masuk.

Menguasai Tindakan dan Penapis WooCommerce

woocommerce_lost_password_message memaparkan di bawah halaman 'Akaun Saya' di mana ia mengarahkan anda untuk memasukkan nama pengguna atau e -mel anda untuk menetapkan semula kata laluan anda. Contohnya: kehilangan kata laluan anda? Sila masukkan nama pengguna atau alamat e -mel anda. Anda akan menerima pautan untuk membuat kata laluan baru melalui e -mel.

Menguasai Tindakan dan Penapis WooCommerce

woocommerce_my_account_my_address_title memaparkan pada halaman 'Akaun Saya' dan secara lalai ia boleh mempunyai satu daripada dua tajuk. Ia diubah sedikit dari 'alamat saya' ke 'alamat saya' apabila anda telah menetapkan untuk menghantar hanya ke alamat pengebilan sehingga hanya ada keperluan untuk salah satu daripadanya. Contohnya: alamat saya atau alamat saya.

Menguasai Tindakan dan Penapis WooCommerce

woocommerce_my_account_my_address_description memaparkan tepat di bawah tajuk alamat, memberi anda penjelasan ringkas tentang apa alamat (es) akan digunakan. Contohnya: Alamat berikut akan digunakan pada halaman checkout secara lalai.

Menguasai Tindakan dan Penapis WooCommerce

woocommerce_my_account_my_downloads_title memaparkan pada halaman 'Akaun Saya' dan menetapkan tajuk untuk bahagian Muat turun. Contohnya: Muat turun yang tersedia.

Menguasai Tindakan dan Penapis WooCommerce

woocommerce_my_account_my_orders_title memaparkan pada halaman 'Akaun Saya' dan menetapkan tajuk untuk bahagian Pesanan. Sebagai contoh: Pesanan Terkini.

Terdapat beberapa perkara ini dan penggunaannya hampir sama dengan pengecualian nama, tentu saja. Berikut adalah beberapa contoh bagaimana mengubahnya.

<span><span><?php
</span></span><span><span>// Create Customer's Salesforce Account
</span></span><span><span>add_action( 'woocommerce_created_customer', 'create_salesforce_account', 10, 3 );
</span></span><span><span>function create_salesforce_account( $customer_id, $new_customer_data, $password_generated ) {
</span></span><span>
</span><span>	<span>// Get the New Customer's data
</span></span><span>	<span>$username   = $new_customer_data['user_login'];
</span></span><span>	<span>$password   = $new_customer_data['user_pass'];
</span></span><span>	<span>$email      = $new_customer_data['user_email'];
</span></span><span>	<span>$role       = $new_customer_data['role'];
</span></span><span>
</span><span>	<span>// Getting the rest of the info for this customer
</span></span><span>	<span>$user = get_user_by( 'id', $customer_id );
</span></span><span>
</span><span>	<span>// Continue and send the information to Salesforce now
</span></span><span><span>}</span></span>
Salin selepas log masuk
Salin selepas log masuk

Itu buat masa ini. Kami hanya mula meneroka apa yang ada di bawah tudung WooCommerce dan ketika kami maju melalui satu siri artikel, kami akan membina modul yang lebih kompleks yang akan sangat bergantung pada menggunakan sistem cangkuk WooCommerce dan WordPress untuk menghasilkan apa sahaja yang kami tetapkan minda yang perlu dilakukan.

Dalam artikel seterusnya, kami akan mengusahakan senario kes dunia sebenar di mana anda mungkin ingin memberikan produk percuma dengan pembelian yang memenuhi kriteria tertentu di antara perkara -perkara lain yang menarik.

soalan yang sering ditanya mengenai menguasai tindakan dan penapis WooCommerce

Bagaimana saya boleh menambah tindakan tersuai ke cangkuk WooCommerce? Fungsi ini memerlukan dua parameter: nama cangkuk dan fungsi yang akan dilaksanakan. Berikut adalah contoh:

add_action ('woocommerce_before_cart', 'your_custom_function'); 'Adakah cangkuk di mana anda ingin menambah tindakan anda, dan' your_custom_function 'adalah fungsi yang akan dilaksanakan.

Bagaimana saya boleh mengeluarkan tindakan dari cangkuk WooCommerce? Fungsi ini memerlukan parameter yang sama seperti fungsi add_action (): nama cangkuk dan fungsi yang akan dikeluarkan. Berikut adalah contoh:

rove_action ('woocommerce_before_cart', 'your_custom_function');
Dalam contoh ini, 'woocommerce_before_cart' Itu akan dikeluarkan. Penapis membolehkan anda mengubah suai data sebelum dihantar ke pangkalan data atau penyemak imbas. Berikut adalah contoh:

add_filter ('woocommerce_cart_item_price', 'modify_cart_item_price', 10, 2); $ new_price; Dalam contoh ini, 'woocommerce_cart_item_price' adalah cangkuk penapis, 'modify_cart_item_price' adalah fungsi adat anda, '10' adalah keutamaan fungsi anda, dan '2' adalah bilangan parameter anda Fungsi menerima.

Bagaimana saya boleh menambah medan tersuai ke halaman checkout WooCommerce? Berikut adalah contoh:


add_action ('woocommerce_after_order_notes', 'add_custom_checkout_field'); Array ( 'Text',
'class' => array ('input-text'),
'label' => __ ('field custom'),
'diperlukan' => true, ), $ checkout-> get_value ('custom_field')); '; Cangkuk di mana anda ingin menambah medan tersuai anda, dan 'add_custom_checkout_field' adalah fungsi yang mewujudkan medan tersuai. Harga Produk Programatik, anda boleh menggunakan cangkuk penapis 'woocommerce_product_get_price'. Berikut adalah contoh:

add_filter ('woocommerce_product_get_price', 'modify_product_price', 10, 2); $ new_price;
Dalam contoh ini, 'woocommerce_product_get_price' adalah cangkuk penapis, 'modify_product_price' adalah fungsi tersuai anda, '10' adalah keutamaan fungsi anda, dan '2' adalah bilangan parameter anda Fungsi menerima.

Atas ialah kandungan terperinci Menguasai Tindakan dan Penapis WooCommerce. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan