WooFrance Dépannage et support WordPress WooCommerce Forums Forum de Support WooCommerce Comment afficher la civilité sur la page admin ?

7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Messages
  • #75462
    deborah
    Participant
    Points: 38 pts
    Membre 2 étoiles

    J’ai ajouté un choix de civilité grâce aux code ci-dessous :

    add_filter( ‘woocommerce_checkout_fields’, ‘custom_woocommerce_billing_fields’ );

    function custom_woocommerce_billing_fields( $fields ) {
    $fields[‘billing’][‘billing_options’] = array(
    ‘type’        => ‘select’,
    ‘label’       => __(‘Titre’, ‘woocommerce’),
    ‘placeholder’ => _x(‘Titre’, ‘placeholder’, ‘woocommerce’),
    ‘required’    => true,
    ‘class’       => array(‘long’),
    ‘clear’       => false,
    ‘input_class’ => array(‘Title’),
    ‘options’     => array(
    ‘M.’   => ‘M.’,
    ‘Mme’  => ‘Mme’,
    ‘Mlle’ => ‘Mlle’
    ));

    return $fields;
    }

    Donc un choix de civilité s’affiche bien sur la page de formulaire, mais cela ne s’affiche pas sur la page WP admin.

    Comment faire ?

    depanagewp
    #75637
    Mathieu
    Participant
    Points: 1,315 pts
    Membre 2 étoiles

    regardez là pour ajouter le champ à différents endroits :
    https://woofrance.fr/forums/topic/ajouter-un-champ-tel-en-plus-dans-lors-de-la-commande/#post-64270

    Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
    Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
    🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.

    depanagewp
    #75959
    deborah
    Participant
    Points: 38 pts
    Membre 2 étoiles

    Merci pour votre réponse.

    Mais en fait j’ai réussi à afficher sur la page admin, mais pas le bon endroit. (cf. pièce jointe)

    J’ai ajouté le code ci-dessous.

    function my_custom_checkout_field_display_admin_order_meta($order)
    {
        // Display name prefix
        echo '<p>'. get_post_meta( $order->get_id(), '_billing_options', true ) . '</p>';
    }

     

    depanagewp
    #76016
    Mathieu
    Participant
    Points: 1,315 pts
    Membre 2 étoiles

    juste une remarque si vous vous adressez à un public français, le gouvernement français recommande depuis 2012 de ne plus utiliser “Mademoiselle”
    http://circulaire.legifrance.gouv.fr/pdf/2012/02/cir_34682.pdf

    côté WordPress, vous pouvez mettre cet ajout d’information avant le prénom avec le code suivant :

    add_filter("woocommerce_order_formatted_billing_address", function (array $address, \WC_Order $order) {
    	
    	$civilite = get_post_meta($order->get_id(), "_billing_options", TRUE);
    	
    	if ("" !== $civilite) {
    		$address["first_name"] = "$civilite {$address["first_name"]}";
    	}
    	
    	
    	return $address;
    	
    }, 10, 2);

    Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
    Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
    🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.

    depanagewp
    #76142
    deborah
    Participant
    Points: 38 pts
    Membre 2 étoiles

    Merci pour votre réponse.

    Effectivement, j’ai enlevé “mademoiselle”.

    Pour le code, je vais regarder si ça fonctionne.

    depanagewp
    #76214
    deborah
    Participant
    Points: 38 pts
    Membre 2 étoiles

    Est-ce que vous pouvez m’expliquer un peu le code si possible ?

    Désolée, je suis débutante php…

    depanagewp
    #76226
    deborah
    Participant
    Points: 38 pts
    Membre 2 étoiles

    Plus précisément, je ne comprends pas ces paramètres :

    (array $address, \WC_Order $order)

    Les liens des sites sur lesquels je peux me renseigner m’aideront aussi.

    depanagewp
7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.