[Résolu] Modification fichier storefront-template-functions.php (Créer un compte)

  • WordPress :5.5
  • Statut : résolu
7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Messages
  • #2359163
    Gilou26
    Participant
    Initié WordPress
    47 contributions

    Ma configuration WP actuelle

    • Version de PHP/MySQL :   7.2.10/5.7.23
    • Thème utilisé : Storefront-child
    • Extensions en place : Advanced Editor, Facebook for woocommerce, Metaslider, One click demo import, UpdraftPlus, Woocommerce, WP maintenance
    • Nom de l’hébergeur :  En local
    • Adresse du site :

     

    Bonsoir à tous.

    J’avais modifié mon fichier storefront-template-functions.php situé dans le dossier « inc » de mon thème. Il a été écrasé par une mise à jour de mon thème.

    Je l’ai re-modifié, j’ai crée un dossier « inc » dans mon thème enfant pour y placer mon fichier modifié. Cela ne fonctionne pas, c’est toujours le fichier du thème parent qui est prioritaire.

    Peut-on mettre n’importe quel fichier modifié dans le thème enfant ? Si oui comment doit-on s’y prendre ?

    D’avance merci pour votre aide.

     

    #2359181
    Li-An
    Participant
    Maître WordPress
    29218 contributions

    Bonjour, les appels aux fichiers de fonctions dans les sous-répertoires de thème enfant est un gros problème (et je n’ai pas trouvé de méthode efficace à part faire des appels vers les fichiers modifiés ce qui oblige à de nombreuses modifications dans le thème enfant et beaucoup d’arrachage de cheveux). Suivant vos besoins, je vous conseille de poser la question au développeur du thème. Il aura peut-être un hook à vous proposer pour modifier la fonction ciblée – la méthode la plus efficace dans ce genre de chose.

    #2359194
    mathieu42
    Participant
    Maître WordPress
    2025 contributions

    dans le fichier storefront-template-functions.php les fonctions commencent toutes par « if ( ! function_exists(« . cela veut dire que vous pouvez les redéfinir dans le thème enfant sans avoir besoin de toucher aux fichiers du thème parent.

    pour cela, vous devez définir la fonction dans le fichier functions.php du thème enfant.

     

    #2359204
    ferman
    Modérateur
    Maître WordPress
    7621 contributions

    Oui, et pour répondre à la question:

    « Peut-on mettre n’importe quel fichier modifié dans le thème enfant ? Si oui comment doit-on s’y prendre ? »

    ça dépend des thèmes et des fichiers mais là ce n’est pas possible. Le fichier storefront-template-functions (de même que storefront-functions) ne sont pas pris en compte par le thème enfant (j’ai regardé avec le thème enfant « boutique »). On ne peut rien toucher dans storefront-template-functions sans provoquer au minimum un avertissement.

    Autrement quand le thème s’y prête, il faut faire comme vous avez essayé: reproduire dans le thème enfant le chemin existant dans le thème parent.

    • Cette réponse a été modifiée le il y a 4 années et 7 mois par ferman.
    #2359319
    Gilou26
    Participant
    Initié WordPress
    47 contributions

    Bonsoir à tous et merci pour vos réponses.


    @mathieu42
    .

    Je suis un peu perdu dans les fonctions. En fait, je souhaite rajouter une adresse postale, un n° de tel, une adresse mail dans cette partie du code :

    <div class="site-info">
    <?php echo esc_html( apply_filters( 'storefront_copyright_text', $content = '© ' . get_bloginfo( 'name' ) . ' ' . gmdate( 'Y' ) ) ); ?>

    <?php if ( ! empty( $links_output ) ) { ?>
    <br />
    <?php echo wp_kses_post( $links_output ); ?>
    <?php } ?>
    </div><!-- .site-info -->
    site-info

    Si on ne peut rien faire, cela veut-il dire que la mention  « Construit avec Storefront & WooCommerce » ré-apparaitra à chaque mise a jour du thème ?

    Je peux mettre ces infos dans mon footer.php du thème enfant, mais je voudrais pouvoir supprimer ces mentions qui sont affichées par le fichier storefront-template-functions.

    • Cette réponse a été modifiée le il y a 4 années et 7 mois par Gilou26.
    #2359331
    ferman
    Modérateur
    Maître WordPress
    7621 contributions

    Si on ne peut rien faire, cela veut-il dire que la mention “Construit avec Storefront & WooCommerce” ré-apparaitra à chaque mise a jour du thème ?

    Oui, sauf si vous mettez la fonction (entière) dans functions-php du thème enfant et là on peut modifier à volonté. Par exemple:

    	function storefront_credit() {
    $links_output = '';

    if ( apply_filters( 'storefront_credit_link', true ) ) {
    if ( storefront_is_woocommerce_activated() ) {
    $links_output .= '<a href="https://woocommerce.com" target="_blank" title="' . esc_attr__( 'WooCommerce - The Best eCommerce Platform for WordPress', 'storefront' ) . '" rel="noreferrer">' . esc_html__( 'Built with Storefront & WooCommerce', 'storefront' ) . '</a>.';
    } else {
    $links_output .= '<a href="https://woocommerce.com/storefront/" target="_blank" title="' . esc_attr__( 'Storefront - The perfect platform for your next WooCommerce project.', 'storefront' ) . '" rel="noreferrer">' . esc_html__( 'Built with Storefront', 'storefront' ) . '</a>.';
    }
    }

    if ( apply_filters( 'storefront_privacy_policy_link', true ) && function_exists( 'the_privacy_policy_link' ) ) {
    $separator = '<span role="separator" aria-hidden="true"></span>';
    $links_output = get_the_privacy_policy_link( '', ( ! empty( $links_output ) ? $separator : '' ) ) . $links_output;
    }

    $links_output = apply_filters( 'storefront_credit_links_output', $links_output );
    ?>
    <div class="site-info">
    <?php echo esc_html( apply_filters( 'storefront_copyright_text', $content = '© ' . get_bloginfo( 'name' ) . ' ' . gmdate( 'Y' ) ) ); ?>

    <?php echo '<a href="mailto:">Contactez-nous</a>';?><br />
    <?php echo 'Telephone: 063333333';?><br />

    <?php if ( ! empty( $links_output ) ) { ?>
    <br />
    <?php echo wp_kses_post( $links_output ); ?>
    <?php } ?>
    </div><!-- .site-info -->
    <?php
    }

    #2359342
    Gilou26
    Participant
    Initié WordPress
    47 contributions

    Salut ferman.

    Super, ça fonctionne nickel.

    Merci pour cette aide précieuse.

    Bonne soirée.

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