L'utilisation de WooCommerce, avec WordPress, pour créer des sites Web de commerce électronique est en augmentation. Si vous êtes un développeur Web comme moi, conna?tre les Ins et hors du système de modèle WooCommerce, ainsi que ses actions et ses filtres est une très belle compétence à avoir. Pensez à quel point votre patron serait heureux si vous saviez tout ce qu'il y a à savoir sur WooCommerce, ou du moins assez pour pouvoir implémenter quoi que ce soit avec très peu d'aide, juste vous et la documentation WooCommerce.
Si tout cela vous semble bon, continuez à lire et nous explorerons ce qui peut être fait avec WordPress et WooCommerce travaillant c?te à c?te. Le style de cet article (et j'espère que beaucoup d'autres à venir) incluront vous présenter un problème et proposer une solution à l'aide de WordPress et WooCommerce Actions and Filtres.
Actions utiles pour la création de compte et la mise à jour
Il est très courant d'utiliser un CRM avec votre site Web de commerce électronique. WooCommerce nous permet de détecter simple lorsqu'un nouveau client ou utilisateur enregistre pendant le processus de paiement ou via la page ?Mon compte?.
L'exemple suivant devrait vous donner une idée de la fa?on de créer un compte sur Salesforce lorsque quelqu'un s'inscrit via WooCommerce. Notez que le code API Salesforce n'est pas affiché; Je décris juste le processus.
<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>
Continuant à partir de notre exemple précédent, il est naturel que vous souhaitiez mettre à jour les informations du client sur Salesforce lorsque le client modifie soit l'adresse de facturation ou d'expédition. wooCommerce_Customer_Save_Address s'exécute immédiatement après la modification de l'une ou l'autre adresse et donne l'ID utilisateur et quelle adresse a été modifiée. Notez que vous pouvez également obtenir l'un des champs de formulaire via $ _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>
Titres, messages et descriptions primordiaux primordiaux
Les titres, messages et descriptions de la section peuvent être facilement modifiés si vous savez quel filtre utiliser. Ces filtres vous permettent de personnaliser ce qui est affiché au client jusqu'au dernier détail. Avez-vous remarqué que je disais des filtres et non des actions? C'est parce que WooCommerce n'utilise pas d'actions pour remplacer ce type de valeurs, tout comme WordPress.

WooCommerce_checkout_Coupon_Message Affiche uniquement si les coupons sont activés sur votre magasin, et pendant que vous êtes dans la page de paiement, il vous demande un code de coupon. Par exemple: avez un coupon? Cliquez ici pour entrer votre code.

WooCommerce_Checkout_Login_Message s'affiche sur la page de paiement lorsque le panier détecte que vous n'êtes pas connecté et qu'il vous donne la possibilité de vous connecter. Par exemple: le rendu client? Cliquez ici pour se connecter.

WooCommerce_lost_password_Message s'affiche sous la page ?Mon compte? où il vous demande de saisir votre nom d'utilisateur ou votre e-mail afin de réinitialiser votre mot de passe. Par exemple: perdu votre mot de passe? Veuillez saisir votre nom d'utilisateur ou votre adresse e-mail. Vous recevrez un lien pour créer un nouveau mot de passe par e-mail.

wooCommerce_My_Account_My_Address_Title s'affiche sur la page "Mon compte" et par défaut, il peut avoir l'un des deux titres. Il est légèrement modifié de ?mes adresses? à ?mon adresse? lorsque vous avez configuré pour expédier uniquement à l'adresse de facturation, il n'y a donc qu'un besoin pour l'un d'eux. Par exemple: mes adresses ou mon adresse.

wooCommerce_My_Account_My_Address_Description s'affiche juste en dessous du titre d'adresse, vous donnant une brève explication de ce à quoi l'adresse sera utilisée. Par exemple: les adresses suivantes seront utilisées sur la page de paiement par défaut.

WooCommerce_My_Account_My_downloads_title s'affiche sur la page "My Account" et définit le titre de la section Téléchargements. Par exemple: téléchargements disponibles.

WooCommerce_My_Account_My_Orders_Title s'affiche sur la page "Mon compte" et définit le titre de la section Ordors. Par exemple: commandes récentes.
Il y en a pas mal et l'utilisation est presque identique à l'exception des noms, bien s?r. Voici quelques exemples sur la fa?on de les changer.
<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>
c'est tout pour l'instant. Nous avons seulement commencé à explorer ce qui se trouve sous le capot de WooCommerce et que nous progressons à travers une série d'articles, nous allons construire des modules plus complexes qui compteront fortement sur l'utilisation du système de crochets de WooCommerce et WordPress pour produire tout ce que nous définissons notre notre définition de notre travail esprits à faire.
Dans le prochain article, nous travaillerons sur un scénario de cas du monde réel où vous voudrez peut-être donner un produit gratuit avec tout achat qui répond à un certain critère parmi d'autres éléments d'intérêt.
Les questions fréquemment posées sur la ma?trise des actions et des filtres WooCommerce
Comment puis-je ajouter une action personnalisée à un crochet WooCommerce?
Pour ajouter une action personnalisée à un crochet WooCommerce, vous devez utiliser la fonction add_action (). Cette fonction nécessite deux paramètres: le nom du crochet et la fonction à exécuter. Voici un exemple:
add_action ('woocommerce_before_cart', 'your_custom_function');
function your_custom_function () {
// votre code ici
}
Dans cet exemple, 'woocommerce_before_cart 'est le crochet où vous souhaitez ajouter votre action, et' your_custom_function 'est la fonction qui sera exécutée.
Comment puis-je supprimer une action d'un crochet wooCommerce?
Pour supprimer une action d'un crochet wooCommerce, vous pouvez utiliser la fonction supprime_action (). Cette fonction nécessite les mêmes paramètres que la fonction add_action (): le nom du crochet et la fonction à supprimer. Here's an example:
remove_action('woocommerce_before_cart', 'your_custom_function');
In this example, 'woocommerce_before_cart' is the hook from which you want to remove your action, and 'your_custom_function' is the function qui sera supprimé.
Comment puis-je modifier le comportement par défaut d'un crochet WooCommerce?
Pour modifier le comportement par défaut d'un crochet woocommerce, vous pouvez utiliser des filtres. Les filtres vous permettent de modifier les données avant d'être envoyée à la base de données ou au navigateur. Voici un exemple:
add_filter ('woocommerce_cart_item_price', 'modify_cart_item_price', 10, 2);
fonction modify_cart_item_price ($ prix, $ cart_item) {
// votre code ici
$ new_price;
}
Dans cet exemple, 'WooCommerce_Cart_Item_price' est le crochet filtrant, 'modify_cart_item_price' est votre fonction personnalisée, '10' est la priorité de votre fonction, et '2' est le nombre de paramètres que vous La fonction accepte.
Comment puis-je ajouter un champ personnalisé à la page de paiement WooCommerce?
Pour ajouter un champ personnalisé à la page de paiement WooCommerce, vous pouvez utiliser le crochet 'woocommerce_after_order_notes'. Voici un exemple:
add_action ('woocommerce_after_order_notes', 'add_custom_checkout_field');
function add_custom_checkout_field (camionnette) {
echo '
woocommerce_form_field ('coustom_field',,,
woocommerce_form_field ('coustom_field',,,
wooCommerce_Form_Field ('Custom_field',,, array (
'type' => 'text',
'class' => array ('input-text'),
'label' => __ ('champ personnalisé'),
'required' => true,
), $ Checkout-> get_value ('custom_field'));
echo '
Dans cet exemple, 'wooCommerce_after_Order_notes' est ' Le crochet où vous souhaitez ajouter votre champ personnalisé, et 'add_custom_checkout_field' est la fonction qui crée le champ personnalisé.
Comment puis-je modifier le prix du produit WooCommerce par programmation?
Pour modifier le WooCommerCECECECECE? Prix ??du produit par programme, vous pouvez utiliser le hook de filtre 'WooCommerce_Product_get_Price'. Voici un exemple:
add_filter ('woocommerce_product_get_price', 'modify_product_price', 10, 2);
fonction modify_product_price ($ prix, $ produit) {
// votre code ici
return (return> $ new_price;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Utilisez les environnements de test WordPress pour assurer la sécurité et la compatibilité de nouvelles fonctionnalités, plug-ins ou thèmes avant d'être officiellement lancés et éviter d'affecter de vrais sites Web. Les étapes pour créer un environnement de test comprennent: le téléchargement et l'installation de logiciels de serveur local (tels que localwp, xAMPP), la création d'un site, la configuration d'une base de données et un compte administrateur, l'installation de thèmes et de plug-ins pour les tests; La méthode de copie d'un site Web formel dans un environnement de test consiste à exporter le site via le plug-in, à importer l'environnement de test et à remplacer le nom de domaine; Lorsque vous l'utilisez, vous devez faire attention à ne pas utiliser de données utilisateur réelles, à nettoyer régulièrement des données inutiles, à sauvegarder l'état du test, à réinitialiser l'environnement dans le temps et à unifier la configuration de l'équipe pour réduire les différences.

Lorsque vous gérez des projets WordPress avec GIT, vous ne devez inclure que des thèmes, des plugins personnalisés et des fichiers de configuration dans le contr?le de version; configurer des fichiers .gitignore pour ignorer les répertoires de téléchargement, les caches et les configurations sensibles; Utilisez des outils Webhooks ou CI pour réaliser un déploiement automatique et faire attention au traitement de la base de données; Utilisez des politiques à deux branches (principale / développement) pour le développement collaboratif. Cela peut éviter les conflits, assurer la sécurité et améliorer l'efficacité de la collaboration et du déploiement.

La clé pour créer un bloc Gutenberg est de comprendre sa structure de base et de connecter correctement les ressources avant et arrière. 1. Préparez l'environnement de développement: installez WordPress local, Node.js et @ wordpress / scripts; 2. Utilisez PHP pour enregistrer les blocs et définir la logique d'édition et d'affichage des blocs avec JavaScript; 3. Créer des fichiers JS via NPM pour que les modifications prennent effet; 4. Vérifiez si le chemin et les ic?nes sont corrects lors de la rencontre avec des problèmes ou utilisez une écoute en temps réel pour éviter la compilation manuelle répétée. Après ces étapes, un simple bloc Gutenberg peut être implémenté étape par étape.

TosetupredirectSinwordPressusingthe.htaccessfile, locatethefileinyoursite’srootDirectoryandAdlecrectulesabovethe # BeginwordPressSection.

UsingsmtpforwordPressEmailSimproveSDeliverability andreliabilitycompatedTotheDefaultPhpmail () function.1.smtpauthenticateswithyouremailServer, réducingspamplacement.2

Dans WordPress, lors de l'ajout d'un type d'article personnalisé ou de la modification de la structure de liaison fixe, vous devez rafra?chir manuellement les règles de réécriture. à l'heure actuelle, vous pouvez appeler la fonction flush_rewrite_rules () via le code pour l'implémenter. 1. Cette fonction peut être ajoutée au thème ou au crochet d'activation du thème ou du plug-in pour actualiser automatiquement; 2. Exécuter une seule fois lorsque cela est nécessaire, comme l'ajout de CPT, la taxonomie ou la modification de la structure de liaison; 3. évitez les appels fréquents pour éviter d'affecter les performances; 4. Dans un environnement multi-sites, actualisez chaque site séparément le cas échéant; 5. Certains environnements d'hébergement peuvent restreindre le stockage des règles. De plus, cliquer sur Enregistrer pour accéder à la page "Paramètres> Links épinglés" peut également déclencher une actualisation, adaptée aux scénarios non automatiques.

Pour implémenter la conception de thème WordPress réactive, utilisez d'abord des balises META HTML5 et Mobile-First, ajoutez des paramètres de la fenêtre dans Enditer.php pour vous assurer que le terminal mobile est affiché correctement et organiser la mise en page avec des balises de structure HTML5; Deuxièmement, utilisez la requête multimédia CSS pour réaliser l'adaptation de style sous différentes largeurs d'écran, les styles d'écriture en fonction du principe mobile d'abord, et les points d'arrêt couramment utilisés incluent 480px, 768px et 1024px; Troisièmement, traitez élastiquement les images et les dispositions, définissez la largeur maximale: 100% pour l'image et utilisez la disposition Flexbox ou Grid au lieu de la largeur fixe; Enfin, testez complètement les outils de développeur de navigateur et les appareils réels, optimiser les performances de chargement et assurer la réponse

TOINTEGRATETHIRD-PARTYAPISINTOWORDPRESS, SuivreSestesteps: 1.SelectasuitableAPiANDObtainCredentialSlikePikeySoroAuthTokensByregisterring et greepingthemSecure.2.choosebetweenpluginsforsimplicity orfistomcodeusingfunctionslise wp_reMote_get () pour le flexibilité.
