Je dois remplacer un caractère dans mon champ de paiement personnalisé.Champs de paiement WooCommerce: utilisation de str_replace sur une valeur de champ post-méta
cela est tout le code de mon champ de commande personnalisé, (peut-être que nous pourrions utiliser str_replace ici)
/* Add the field to the checkout */
add_action('woocommerce_after_checkout_billing_form', 'my_custom_checkout_field');
function my_custom_checkout_field($checkout) {
echo '<div id="my_custom_checkout_field">';
woocommerce_form_field('phone_sabet', array(
'type' => 'tel',
'required' => true,
'clear' => true,
'class' => array('my-field-class form-row-first'),
'label' => __(''),
'placeholder' => __(''),
'description' => '',
), $checkout->get_value(('phone_sabet')));
echo '</div>';
}
c'est la partie du code lorsque le champ personnalisé va mettre à jour
/* Update the order meta with field value */
add_action('woocommerce_checkout_update_order_meta','my_custom_checkout_field_update_order_meta');
function my_custom_checkout_field_update_order_meta($order_id) {
if (! empty($_POST['phone_sabet'])) {
update_post_meta($order_id, 'Phone', sanitize_text_field($_POST['phone_sabet']));
}
}
je fatigué d'utiliser str_replace et le changer en bas, mais pas de chance.
add_action('woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta');
function my_custom_checkout_field_update_order_meta($order_id) {
if (! empty($_POST['phone_sabet'])) {
update_post_meta($order_id, 'Phone', sanitize_text_field($_POST['phone_sabet']));
$getMeta = get_post_meta(get_the_ID(), 'Phone', true);
$newMeta = str_replace(array('۱'), '1', $getMeta);
update_post_meta(get_the_ID(), 'Phone', $newMeta);
}
}
et ceci est la partie de la caisse lorsque le champ de va traiter. C'est d'accord si nous pouvions le faire avec str_replace ici.
/* Process the checkout */
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');
function my_custom_checkout_field_process() {
if ($_POST['phone_sabet'])
// do something
}
merci. travaillé comme le charme. – Mostafa
Vous pouvez également l'utiliser sur un champ de facturation normal, donc vous allez cibler '$ _POST ['billing_phone']', pour faire un remplacement, mais vous devrez tester les données du téléphone de l'utilisateur, et enregistrer la valeur à la commande méta-données (la clé est '_billing_phone''). – LoicTheAztec