Cardholder Name is mandatory! κι ?λλα errors
-
Εμφαν?ζεται το Cardholder Name is mandatory!, δεν υπ?ρχει καν προ? μετ?φραση στο po file.
Επ?ση? αν ?χει? checkout field editor ? custom script εμφαν?ζει ω? mandatory ?λα τα fields ακ?μα και τα κρυμμ?να.
Χρει?ζεται επειγ?ντω? αναβ?θμιση
-
Η τελευτα?α ?κδοση που λειτουργε? σωστ? ε?ναι η 1.7.1 η οπο?α δεν ε?ναι διαθ?σιμη στο repository. Ωστ?σο μπ?ρεσα και τη βρ?κα σε backup. Θα πρ?τεινα να κ?νετε push ξαν? αυτ? μ?χρι να λ?σετε το θ?μα.
ναι φυσικ? βρε?τε το εδ?
καλ? σα? μερα….μετα απο αναβ?θμιση το προβλημα ?χει επιλυθει και μπορειτε να κατεβ?σετε την νεα εκδοση του plugin
δυστυχ?? το θ?μα δε φα?νεται να ?χει επιλυθε?.
Σε πολλ? καταστ?ματα με virtual products δεν ?χει ν?ημα να δ?δονται ?λα τα στοιχε?α και γ?νεται edit με φ?λτρο ? με plugin στα checkout fields, περαιτ?ρω ακ?μα κι ?τσι, το cardholder name mandatory δεν ε?ναι μεταφρασμ?νο ? δε μπορε? να μεταφραστε? αν δεν επ?μβει κανε?? στα αρχε?α του plugin, καθ?? δεν ε?ναι στα αρχε? μετ?φραση? και το plugin δεν ?χει pot. https://postimg.cc/XpYZLBYW
?
Nα σημει?σω εδ? ?τι ακ?μα και mandatory να ε?ναι, θα ?πρεπε να ε?ναι τουλ?χιστον translatable.
Αυτ? το Loop που προστ?θηκε στο ν?ο αρχε?ο μ?λλον δημιουργε? το πρ?βλημα, δεδομ?νου ?τι ?χουν αλλ?ξει σε required τα fields.
foreach ($requiredFields as $field => $info) {
if (!isset($_POST[$field]) || trim($_POST[$field]) === '') {
wc_add_notice(__("$info is a mandatory field!", 'woocommerce'), 'error');
}
}Περαιτ?ρω, δεδομ?νου ?τι ?χετε αφ?σει σαν false τελικ?? το cardname holder και τα χειρ?ζεστε στο backend, μ?πω? θα ?ξιζε να κ?νετε και μετατροπ? σε αγγλικο?? χαρακτ?ρε? πχ με το
// μετατροπ? σε λατινικο?? χαρακτ?ρε? με χρ?ση του iconv
$cardholderName = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $cardholderName);- This reply was modified 3 months, 1 week ago by Magmadiver.
?χοντα? το ?διο πρ?βλημα με τον @fylpa ?νοιξα το issue ?νομα κατ?χου κ?ρτα? “προαιρετικ?” το οπο?ο ?κλεισε καθ?? αφαιρ?σατε την λ?ξη “προαιρετικ?” απ? τον τ?τλο του πεδ?ου. Δυστυχ?? ?μω? το πεδ?ο ακ?μα δεν εμφαν?ζεται με σ?μανση mandatory (με αστερ?σκο ?πω? τα υπ?λοιπα) και αυτ? η διαφορ? μπερδε?ει του? χρ?στε?.
?χω ?μω? κι ?λλο πρ?βλημα, συγκεκριμ?να με το πεδ?ο “Περιφ?ρεια” που εν? τ?ρα ε?ναι mandatory, στο checkout εμφαν?ζεται με σ?μανση “προαιρετικ?” (το site μα? ε?ναι στα ελληνικ?).
Τουλ?χιστον να μπορο?σαμε να μεταφρ?σουμε τα warnings.
Το πρ?σθετ? σα? μα? ?χει βολ?ψει χρ?νια τ?ρα, και ευχαριστο?με για τον κ?πο σα?. Κ?ναμε rollback στην ?κδοση 1.7.1 μ?χρι να τακτοποιηθο?ν αυτ? τα θ?ματα.
@gibeladakis μπορ? να στε?λω αναλυτικ? σε screen capture το ζ?τημα που ?χουμε εμε?? και ?λλοι χρ?στε? αν χρειαστε?. Ωστ?σο τα προβλ?ματα ε?ναι 2 πρ?τον το loop που δημιουργε? ?λα αυτ? τα notices και μ?λλον δεν ε?ναι απαρα?τητο, ? δεν ?χει εφαρμοστε? σωστ?, δε?τερο οκ βγα?νουν τα notices, δεν ε?ναι στα po files του plugin.
@fylpa καλ? σα? μ?ρα,
παρακαλ? προωθ?στε μα? οτι πληροφορ?ε? ?χετε μαζι με το screen capture στο [email protected] και αν σα? ειναι εφικτ? στα αγγλικ? για να το δουμε αναλυτικ? με την τεχνικ? μα? ομ?δα.
σα? ευχαριστουμε εκ το προτ?ρων.
The main problem is not that the Piraeus Bank plugin is marking the “Cardholder Name” as mandatory (even though it is not really set as mandatory as it is marked false, if left empty you handle this on the back end) but that when it is not filled out, due to a validation loop an error notice appears. Additionally, hidden fields are being incorrectly flagged as mandatory as well. The loop checks each field even if it’s not visible and mistakenly adds these errors. A suggested fix involves reverting to version 1.7.1. You may need to modify the validation loop that handles visibility and field requirements to prevent this! Furthermore, the notices are not translatable as they are not added to the po file of the plugin.
So the main issue seems to be the following loop.
foreach ($requiredFields as $field => $info) {
if (!isset($_POST[$field]) || trim($_POST[$field]) === '') {
wc_add_notice(__("$info is a mandatory field!", 'woocommerce'), 'error');
}
}that shoots out untranslated and non translatable notices like this and prevents checkout
- This reply was modified 3 months ago by Magmadiver.
- This reply was modified 3 months ago by Magmadiver.
@fylpa as per the banks latests requirements as of 12/08/2024 the mandatory fields are
- BillAddrCountry,
- BillAddrLine1,
- BillAddrPostCode,
- BillAddrState,
- cardholderName
As far as the translations, we will make an update to have the messages in Greek as well
please don’t forget
state/county and form it as state / county for consistency.
Furthermore considering transliteration of the billing name to the cardholder name if the client leaves this empty, even though this is counterproductive as your developer noted in the PHP file of the plugin.
Lastly, I still do not consider the loop necessary. WooCommerce already fires a notice when a mandatory field is empty by default. Format your mandatory fields as per WooCommerce requirements and the loop is unnecessary and might lead to unwanted notices, or double notices.
- This reply was modified 3 months ago by Magmadiver.
Hello, I wanted to check in and see if there are any updates on this issue. The problem is still ongoing.
@fylpa βλ?πω ?τι το πρ?σθετο αναβαθμ?στηκε. ?χει? κοιτ?ξει αν λ?θηκαν τα προβλ?ματα που ε?χε? αναφ?ρει;
- You must be logged in to reply to this topic.