ferman (Créer un compte)

Toutes mes réponses sur les forums

15 sujets de 1 à 15 (sur un total de 2,777)
  • Auteur
    Messages
  • en réponse à : Rendre des champs non obligatoire dans Checkout #2353067
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Bonjour,

    Votre code marche. Je vous mets deux pj avant code / après code.  Pourquoi est-ce-que ça ne marche pas chez vous? Je vois deux possibilités. Pour qu’ils fonctionnent, je dois à chaque fois modifier les guillemets des codes que vous me donnez:

    unset($fields[‘shipping’][‘shipping_phone’]); mauvais

    unset($fields[‘shipping’][‘shipping_phone’]); bon

    Si vous copiez à partir d’un traitement de texte (celui de wp, word…) ça ne peut pas marcher. Il faut absolument passer par un éditeur de texte tel notepad++ et les fichiers doivent être au format php.

    Deuxième possibilité, votre page checkout n’est pas une page standard woocommerce mais une page personnalisée créée avec une extension, ou du code?  J’ai comparé avec la mienne qui est la page standard, ce n’est pas la même chose. En particulier je n’ai pas de section “information complémentaire”. Si c’est le cas,  je ne peux rien dire.

    Autrement, je ne vois pas

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    en réponse à : Changer les balises HTML des produits sur la page Boutique #2352969
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Bon, c’est effectivement différent avec le thème Ocean-wp. En premier, je contacterais le support du thème pour leur poser la question. Pour eux la modification à faire est simple. Autrement il existe plusieurs solutions. Je crois que la meilleure est la suivante: dans votre thème enfant, vous copiez le dossier woocommerce du thème et vous enlevez tout sauf le fichier owp-archive-product.php. Vous éditez ce fichier dans notepad ++ et modifiez les lignes 52 à 65 de la manière ci-dessous (le mieux est de remplacer ces lignes en copiant-collant le code). Normalement ça doit fonctionner.

    // Title.
    	if ( 'title' === $element ) {
    
    		do_action( 'ocean_before_archive_product_title' );
    
    		echo '<li class="title">';
    			do_action( 'ocean_before_archive_product_title_inner' );
    			echo '<a href="' . esc_url( get_the_permalink() ) . '"><h2>' . esc_html( get_the_title() ) . '</h2></a>';
    			do_action( 'ocean_after_archive_product_title_inner' );
    		echo '</li>';
    
    		do_action( 'ocean_after_archive_product_title' );
    
    	}

    Mais posez d’abord la question au support  Ocean-wp. Ce serait beaucoup mieux qu’ils proposent leur solution.

    en réponse à : Rendre des champs non obligatoire dans Checkout #2352949
    ferman
    Participant
    Maître WordPress
    2783 contributions

    C’est de ma faute, j’ai mis le commentaire // ces deux fonctions rendent les champs facultatifs mais ne les suppriment pas une ligne trop bas si bien que le filtre était exclu. Voilà c’est réparé.

     

    // ces deux fonctions rendent les champs facultatifs mais ne les suppriment pas.
    
    add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );
    function custom_override_default_address_fields( $address_fields ) {
    $address_fields['city']['required'] = false;
    $address_fields['address_1']['required'] = false;
    $address_fields['postcode']['required'] = false;
    $address_fields['state']['required'] = false;
    $address_fields['country']['required'] = false;
    $address_fields['phone']['required'] = false;
    return $address_fields;
    }
    
    add_filter( 'woocommerce_billing_fields', 'ts_unrequire_wc_phone_field');
    function ts_unrequire_wc_phone_field( $fields ) {
    $fields['billing_city']['required'] = false;
    $fields['billing_address_1']['required'] = false;
    $fields['billing_postcode']['required'] = false;
    $fields['billing_state']['required'] = false;
    $fields['billing_country']['required'] = false;
    $fields['billing_phone']['required'] = false;
    return $fields;
    }

    en réponse à : Rendre des champs non obligatoire dans Checkout #2352905
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Vous avez plusieurs fois des fonctions analogues  et peut être des erreurs. Sauvegardez ce que vous avez mis dans votre function.php concernant la page “checkout”et remplacez par ce que je vous donne ci dessous. Il y a deux types de fonctions. La première supprime les champs. Si vous voulez supprimer ce qui a à voir avec la facturation (la colonne de gauche dans la page” checkout”

    ) il faut faire, par exemple pour le nom, “unset($fields[‘billing’][‘billing_last_name’]);”. Si vos voulez supprimer ce qui concerne la livraison (colonne droite), il faut faire unset($fields[‘shipping’][‘shipping_last_name’]);, comme dans les deux dernières lignes de la première fonction que je joins.

    Si vous voulez simplement rendre les champs facultatifs, ce sont des deux dernières fonctions. Bien sûr si vous avez fait “unset” pour un champ, il ne peut pas être facultatif.

    En conclusion: si vous voulez simplement rendre les champs non obligatoires comme vous le dites dans le titre du sujet et non les supprimer, il ne faut pas utiliser la première fonction mais seulement une des deux autres.

    Avec  ces trois fonctions et la doc que je vous avais passée en lien (et que vous connaissiez déjà je crois), vous pouvez organiser votre page “checkout” comme vous voulez.

    
    // Cette fonction supprime les champs.
         add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
    function custom_override_checkout_fields( $fields ) {
    unset($fields['billing']['billing_postcode']);
    unset($fields['billing']['billing_country']);
    unset($fields['billing']['billing_first_name']);
    unset($fields['billing']['billing_state']);
    unset($fields['billing']['billing_phone']);
    unset($fields['order']['order_comments']);
    unset($fields['billing']['billing_address_2']);
    unset($fields['billing']['billing_address_1']);
    unset($fields['billing']['billing_state']);
    unset($fields['billing']['billing_company']);
    unset($fields['billing']['billing_last_name']);
    unset($fields['billing']['billing_email']);
    unset($fields['billing']['billing_city']);
    
    unset($fields['shipping']['shipping_address_1']);
    unset($fields['shipping']['shipping_country']);
         return $fields;
    }
    
    add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );
    
    // ces deux fonctions rendent les champs facultatifs mais ne les suppriment pas.
    function custom_override_default_address_fields( $address_fields ) {
        $address_fields['address_1']['required'] = false;
    	$address_fields['postcode']['required'] = false;
    	$address_fields['state']['required'] = false;
    	$address_fields['country']['required'] = false;
    	$address_fields['billing_phone']['required'] = false;
         return $address_fields;
    }
    
    add_filter( 'woocommerce_billing_fields', 'ts_unrequire_wc_phone_field');
    function ts_unrequire_wc_phone_field( $fields ) {
    	$fields['billing_phone']['required'] = false;
    	return $fields;
    }

    • Cette réponse a été modifiée le il y a 1 jour et 15 heures par ferman.
    • Cette réponse a été modifiée le il y a 1 jour et 15 heures par ferman.
    en réponse à : Impossible de me connecter au tableau de bord #2352900
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Bonjour,

    Slider revolution 5.2.5 date de 2016. Ils en sont à 6.2.22 et ils changent vraiment très souvent . C’est sans doute la (une des) cause (s) du problème. Il faut mettre à jour.

    en réponse à : Rendre des champs non obligatoire dans Checkout #2352883
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Bonjour,

    Une derniere question, est ce qu’il faut que je mette ce code dans le fichier functions.php de mon thème parent ??

    Oui. C’est comme ça que j’ai testé le code.

    en réponse à : [Résolu] Pages du site en https et d’autres en http #2352880
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Bonjour,

    Vos images sont correctes mais il y une image fantôme qui estest appelée. Regardez la pièce jointe. Vous pouvez le vérifier vous même en utilisant les outils de développement de votre navigateur. J’utilise Firefox: choisissez outils de déeloppement->inspecteur->l’onglet console et rafraichissez la page. Vous verrez la même chose que sur la pièce jointe (GET http ://www.empilagebois.fr/wp-content/uploads/2019/10/8.jpg).

    En cherchant bien, on trouve cette image (voir pièce jointe partie inférieure). C’est une image de fond (que je ne vois pas). Il faudrait la modifier. Dans vos fichiers CSS, sélectionnez le dossier: https://www.empilagebois.fr/wp-content/et-cache/2088/et-core-unified-2088-15995491316531.min.css là, de la ligne 558 à 560 vous trouverez la couplable probable. Remplacez http par https et regardez si ça marche. Ou peut être dans les réglages du thème supprimez l’appel ce dette image de fond?

    Pour une discussion sur ce genre de problème regardez ICI.

    • Cette réponse a été modifiée le il y a 1 jour et 18 heures par ferman.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    en réponse à : RX_RECORD_TOO_LONG #2352874
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Bonsoir,

    Le plus simple est de ne pas laisser votre site local en https (inutile ). Regardez ICI. Repassez en http. Il faudra intervenir (un peu) au niveau de la base de données. Si ça vous pose des problèmes revenez sur le forum pour des explications. Ce soir il est un peu tard pour ça.

    en réponse à : Rendre des champs non obligatoire dans Checkout #2352872
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Bonjour,

    Essayez ces deux fonctions: elles devraient enlever ce que vous souhaitez. On les trouve ICI et LA

    add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );
    
    // Our hooked in function - $address_fields is passed via the filter!
    function custom_override_default_address_fields( $address_fields ) {
         $address_fields['address_1']['required'] = false;
    	$address_fields['postcode']['required'] = false;
    	$address_fields['state']['required'] = false;
    	$address_fields['country']['required'] = false;
    	$address_fields['billing_phone']['required'] = false;
         return $address_fields;
    }
    
    add_filter( 'woocommerce_billing_fields', 'ts_unrequire_wc_phone_field');
    function ts_unrequire_wc_phone_field( $fields ) {
    	$fields['billing_phone']['required'] = false;
    	return $fields;
    }

    en réponse à : Changer les balises HTML des produits sur la page Boutique #2352871
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Par contre, je me demandais si l’emplacement du code dans le fichier functions.php pouvait avoir une influence sur le résultat ?

    Non, vous vous contentez de le mettre à la suite de ce que vous avez déjà dans le fichier. Que vous n’ayez pas la balise h2 d’origine est déjà surprenant mais que vous ne puissiez pas la mettre avec cette fonction l’est encore plus.

    Avez-vous bien placé le titre avec woocommerce et non elementor ou un autre plugin? Quelle classe avez-vous pour ce titre? A titre d’information j’ai:

    “<h2 class=”woocommerce-loop-product__title”>”.  Quelle classe avez-vous pour votre <a class=” ???” href =?

    en réponse à : Changer les balises HTML des produits sur la page Boutique #2352869
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Bonjour,

    Avez-vous vérifié avec l’inspecteur de votre navigateur ? Normalement ça doit fonctionner (si les titres sont bien générés par woocommerce). Est-ce le cas? Sion il serait intéressant qu’on puisse voir la boutique de votre site. En vrai; pas une copie d’écran.

    en réponse à : [Résolu] Mettre un lien dans un footer. #2352854
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Je n’avais pas vraiment regardé mais dans ce thème il est très facile de mettre jusqu’à  6 widgets en bas de page. C’est bien mieux que du code!

    en réponse à : [Résolu] Pages du site en https et d’autres en http #2352844
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Bonjour,

    Vous avez encore deux images en http qui apparaissent sur la page “à propos” et les trois pages “nos produits:

    “http ://www.empilagebois.fr/wp-content/uploads/2019/08/20180717_174058.jpg”

    “http ://www.empilagebois.fr/wp-content/uploads/2019/10/8.jpg”

    Pour cette deuxième image, c’est un peu compliqué: c’ est une image de fond qui n’existe apparemment plus mais qui est appelée. Il faut supprimer ce lien.

    Enfin, dans le pied de page, les rubriques video et galerie photos ne sont pas sécurisées. Je pense que ça se joue dans le javascript mais là je ne sais pas comment arranger ça .

    Je ne peux pas vous en dire plus.

     

     

    en réponse à : [Résolu] Mettre un lien dans un footer. #2352813
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Bonjour,

    Si vous ne pouvez pas mettre de widget dans votre footer, le petit morceau de code ci-dessous placera un texte (ici ”

    TOTO”, redirigeant vers google), cliquable, tout en bas de votre footer.  Il est ensuite facile, avec un peu de css d’ajuster position exacte ,  couleur , taille, etc…

    
    function lienfoot(){
    	echo '<a class="lienfoot" href="https://www.google.com">TOTO</a>';
    }
    add_filter('wp_footer','lienfoot');

    Ce code est à mettre de préférence dans le fichier “functions.php” d’un thème enfant. Si vous n’en avez pas c’est facile à créer avec l’extension “Child theme configurator“. Si vous ne voulez pas en créer vous pouvez utiliser l’extension “my custom functions“. C’est simple mais lisez les FAQ et surtout ça: “Q. What to do if this plugin crashed the website?” qui vous dit comment rétablir la situation en cas de problème (pas grave et facilement réparable  par FTP). Il vaut mieux éviter de mettre des codes dans functions.php du thème parent: ce sera effacé lors de la prochaine mise à jour du thème. Bien sûr on peut remettre le code après mais c’est un peu pénible, surtout si vous envisagez de mettre d’autres codes dans l’avenir.

    en réponse à : Changer les balises HTML des produits sur la page Boutique #2352812
    ferman
    Participant
    Maître WordPress
    2783 contributions

    Bonjour,

    Vous avez bien vérifié? Normalement, par défaut, les produits sur la page boutique ont la balise h2. Si ce n’est ps le cas pour vous  c’est que quelque chose a été modifié.

    La fonction pour mettre la balise h2 pour les produits est la suivante à mettre dans functions.php de votre thème enfant.

    if ( ! function_exists( 'woocommerce_template_loop_product_title' ) ) {
    
    	/**
    	 * Show the product title in the product loop. By default this is an H2.
    	 */
    	function woocommerce_template_loop_product_title() {
    		echo '<h2 class="' . esc_attr( apply_filters( 'woocommerce_product_loop_title_classes', 'woocommerce-loop-product__title' ) ) . '">' . get_the_title() . '</h2>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    	}
    }

    La fonction d’origine se trouve dans woocommerce/includes/wc-template-functions.php

15 sujets de 1 à 15 (sur un total de 2,777)