Je souhaite ajouter mon propre texte d'erreur de paiement personnalisé (nous utilisons les fonds du compte et souhaitons ajouter une invite supplémentaire)
Comment puis-je changer, ce qui suit qui montre quand il n'y a pas assez de fonds, de:
Désolé, il semble qu'aucun mode de paiement ne soit disponible pour votre état. Veuillez nous contacter si vous avez besoin d'aide ou souhaitez prendre d'autres dispositions.
à un message d'erreur avec un lien comme ci-dessous:
Vous ne disposez pas des fonds suffisants pour traiter cette commande, veuillez
<a href="/my-account">top up</a>
ou effectuer une mise à niveau. Merci.
Le texte semble être stocké dans templates / checkout / payment.php
Comment puis-je changer cela sans qu'il ne soit effacé par une mise à niveau de la version de Woocommerce?
4 Réponses :
add_filter( 'woocommerce_no_available_payment_methods_message', 'change_payment_message', 10, 2); function change_payment_message( $value, $arg2 ) { $message = WC()->customer->get_billing_country()?'You do not have sufficent funds to process this order, please<a href="/my-account">top up</a> or upgrade. Thank you':'Please fill in your details above to see available payment methods.'; return $message; }
Le gestionnaire de fichiers cPanel indique une Syntax Error Unexpected T_FUNCTION
Ce code casse la page de paiement, ce qui entraîne "The site is experiencing technical difficulties."
message
Dans WordPress, les filtres sont des fonctions qui peuvent être liées à un événement (appelées hooks). Pendant l'exécution, lorsque l'événement est déclenché, le filtre est appliqué à la sortie de données générée par le hook d'événement. Il est important de se rappeler que les filtres exécutent leurs actions sur les données qu'ils reçoivent, puis renvoient ces données avant qu'elles ne soient affichées dans le navigateur.
Dans le fichier que vous avez joint (payment.php), vous avez
function your_custom_function_name_here( $content ) { //your changes here $content = "bla bla"; // Returns the content. return $content; }
Vous pouvez donc utiliser le filtre "woocommerce_no_available_payment_methods_message" pour modifier le texte
Créez une fonction personnalisée et ajoutez-la au fichier de fonctions ou à un petit plugin.
Tout d'abord, nous connectons notre propre fonction à l'événement woocommerce
add_filter( 'woocommerce_no_available_payment_methods_message', 'your_custom_function_name_here' );
Maintenant, nous définissons ce que notre fonction ferait.
apply_filters( 'woocommerce_no_available_payment_methods_message' ....
Salut Mo, merci pour ça. Il y a une prime sur cette question. Veuillez publier une solution de code testée complète pour l'obtenir.Merci Gracie
Il vous suffit d'ajouter un filtre et d'appliquer votre modification dans le fichier functions.php de votre thème enfant:
add_filter( 'woocommerce_no_available_payment_methods_message', function( $no_gateways_message ) { return 'You do not have sufficent funds to process this order, please <a href="' . home_url( '/my-account/' ) . '">top up</a> or upgrade. Thank you.'; });
Faites-moi savoir si cela a fonctionné.
Merci @cornel, votre code a fonctionné pour moi.
J'ai pu également le modifier comme indiqué ci-dessous:
add_filter( 'woocommerce_no_available_payment_methods_message', function( $no_gateways_message ) { return 'Sorry, you do not have sufficent funds to process this order, please <a href="' . home_url( '/my-account/' ) . '">Click here top up</a> or upgrade. Thank you.'; });
salut @godson! si vous trouvez la réponse d'un autre utilisateur utile, veuillez envisager de voter pour sa réponse et de laisser un commentaire sur sa réponse elle-même, plutôt que de créer une nouvelle réponse