Die Verwendung von WooCommerce zusammen mit WordPress, um E -Commerce -Websites zu erstellen, steigt. Wenn Sie ein Webentwickler wie ich sind, ist es eine sehr gute Fähigkeit, die INSS und aus dem WooCommerce -Vorlagensystem zusammen mit den Aktionen und Filtern zu kennen. Denken Sie nur darüber nach, wie glücklich Ihr Chef wäre, wenn Sie alles wüssten, was es über Woocommerce zu wissen gibt, oder zumindest genug, um etwas mit sehr wenig Hilfe implementieren zu können, nur Sie und die WooCommerce -Dokumentation.
Wenn das alles für Sie gut klingt, lesen Sie weiter und wir werden untersuchen, was mit WordPress und WooCommerce nebeneinander geschehen kann. Der Stil dieses Artikels (und hoffentlich viel mehr kommen) wird Ihnen ein Problem präsentieren und dann eine Lösung mit WordPress- und WooCommerce -Aktionen und -Filtern entwickeln.
Es ist sehr häufig, ein CRM zusammen mit Ihrer E -Commerce -Website zu verwenden. WooCommerce erleichtert uns einfach zu erkennen, wann ein neuer Kunde oder Benutzer während des Kassesprozesses oder über die Seite "Mein Konto" registriert wird.
Das folgende Beispiel sollte Ihnen eine Vorstellung davon geben, wie Sie ein Konto für Salesforce erstellen, wenn sich jemand durch WooCommerce registriert. Beachten Sie, dass der Salesforce -API -Code nicht angezeigt wird. Ich skize nur den Prozess.
<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>
weiter aus unserem vorherigen Beispiel ist es nur natürlich, dass Sie die Informationen des Kunden über Salesforce aktualisieren möchten, wenn der Kunde entweder die Abrechnung oder die Versandadresse bearbeitet. woocommerce_customer_save_address läuft unmittelbar nach der beiden Adresse bearbeitet und gibt die Benutzer -ID und welche Adresse bearbeitet wurde. Beachten Sie, dass Sie auch eine der Formularfelder über $ _post erhalten können.
<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>
Abschnitts Titel, Nachrichten und Beschreibungen können leicht geändert werden, wenn Sie wissen, welchen Filter Sie verwenden sollen. Mit diesen Filtern können Sie den Kunden an das letzte Detail anpassen, was dem Kunden angezeigt wird. Haben Sie bemerkt, dass ich Filter und keine Handlungen sage? Das liegt daran
woocommerce_lost_password_message wird unter der Seite "Mein Konto" angezeigt, auf der Sie Ihren Benutzernamen oder Ihre E -Mail eingeben, um Ihr Passwort zurückzusetzen. Zum Beispiel: Ihr Passwort verloren? Bitte geben Sie Ihren Benutzernamen oder Ihre E -Mail -Adresse ein. Sie erhalten einen Link, um ein neues Passwort per E -Mail zu erstellen.
woocommerce_my_account_my_address_title wird auf der Seite "Mein Konto" angezeigt und standardmäßig kann es einen von zwei Titeln haben. Es ist geringfügig von "Meine Adressen" bis zu "Meine Adresse" geändert, wenn Sie nur an die Abrechnungsadresse eingerichtet sind, sodass nur einer von ihnen erforderlich ist. Zum Beispiel: meine Adressen oder meine Adresse.
woocommerce_my_account_my_address_description zeigt direkt unter dem Adresstitel und gibt eine kurze Erläuterung, für die die Adresse (ES) verwendet wird. Zum Beispiel: Die folgenden Adressen werden standardmäßig auf der Checkout -Seite verwendet.
woocommerce_my_account_my_downloads_title wird auf der Seite "Mein Konto" angezeigt und den Titel für den Abschnitt Downloads festgelegt. Zum Beispiel: verfügbare Downloads.
woocommerce_my_account_my_orders_title wird auf der Seite "Mein Konto" angezeigt und den Titel für den Abschnitt Bestellungen festgelegt. Zum Beispiel: jüngste Bestellungen.
Es gibt einige davon und die Verwendung ist natürlich mit Ausnahme von Namen fast identisch. Hier sind einige Beispiele, wie man sie ändert.
<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>
Das wars jetzt. Wir haben erst begonnen, zu untersuchen, was unter der Motorhaube von Woocommerce steht, und wir werden im Durchgang einer Reihe von Artikeln komplexere Module erstellen, die stark darauf angewiesen sind Köpfe zu tun.
Im nächsten Artikel werden wir an einem Fall in der realen Welt arbeiten, in dem Sie möglicherweise ein kostenloses Produkt mit jedem Kauf geben möchten, der unter anderem unter anderem Kriterien entspricht.
add_action ('woocommerce_before_cart', 'your_custom_function'); 'Ist der Haken, an dem Sie Ihre Aktion hinzufügen möchten, und' your_custom_function 'ist die Funktion, die ausgeführt wird.
remove_action ('woocommerce_before_cart', 'your_custom_function'); Das wird entfernt.
Wie kann ich das Standardverhalten eines WooCommerce -Hooks ändern? Mit Filtern können Sie Daten ändern, bevor sie an die Datenbank oder den Browser gesendet werden. Hier ist ein Beispiel:
Wie kann ich der WooCommerce -Checkout -Seite ein benutzerdefiniertes Feld hinzufügen? Hier ist ein Beispiel:
add_action ('woocommerce_after_order_notes', 'add_custom_checkout_field'; Array (
'Typ' => 'text',
'class' => array ('input-text'),
'Label' => __ ('benutzerdefiniertes Feld'),
'Erforderlich' => true,
add_filter ('woocommerce_product_get_price', 'modify_product_price', 10, 2). $ new_price;
}
In diesem Beispiel ist 'woocommerce_product_get_price' der Filterhaken, 'modify_product_price' ist Ihre benutzerdefinierte Funktion, '10' ist die Priorität Ihrer Funktion, und '2' ist die Anzahl der Parameter, die Ihre Parameter Ihrer Funktion akzeptiert.
Das obige ist der detaillierte Inhalt vonMastering von WooCommerce -Aktionen und Filtern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!