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
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>
<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>
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.
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.
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.
woocommerce_my_account_my_downloads_title memaparkan pada halaman 'Akaun Saya' dan menetapkan tajuk untuk bahagian Muat turun. Contohnya: Muat turun yang tersedia.
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>
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
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;
Bagaimana saya boleh menambah medan tersuai ke halaman checkout WooCommerce? Berikut adalah contoh:
add_action ('woocommerce_after_order_notes', 'add_custom_checkout_field'); Array (
'class' => array ('input-text'),
'label' => __ ('field custom'),
'diperlukan' => true,
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!