WordPress : Comment remplacer functions.php dans le thème enfant ?

Publié par Jean-Michel le

J’ai un thème et j’ai besoin de remplacer certaines parties spécifiques|comportement de celui-ci spécifiquement sur le functions.phpfichier. Je sais que la meilleure pratique ici consiste à le faire sur le thème enfant en plaçant un fichier functions.php. Maintenant, cela fait partie du fichier d’origine :

function mytheme_setup() {
    ...
    add_image_size( 'mytheme-l-thumbs' , 750 , 423 , true);
    add_image_size( 'mytheme-m-thumbs' , 555 , 313 , true);
    add_image_size( 'mytheme-s-thumbs' , 450 , 254 , true);
    add_image_size( 'mytheme-square-thumbs' , 750 , 750 , true);
    add_image_size( 'mytheme-nocrop-thumbs' , 750 , 1500 , false);

}

add_action( 'after_setup_theme', 'mytheme_setup' );

Et je veux remplacer chacun add_image_sizepar la valeur cropfalse sur mon thème enfant. J’ai essayé en copiant et collant la fonction sur le thème enfant mais je me suis retrouvé avec cette erreur:

Impossible de redéclarer mytheme_setup() (précédemment déclaré dans /themes/mytheme-child/functions.php:11) dans /themes/mytheme/functions.php à la ligne 88

Comment puis-je faire ça?

Solution n°1 trouvée

Lorsqu’une fonction est accrochée, il est facile de la changer dans un thème enfant. Ce que vous devez faire est

  • Supprimer la fonction de rappel d’origine

  • Copiez la fonction dans votre thème enfant et renommez-la.

  • Faites vos personnalisations au besoin

  • Raccrochez votre fonction de rappel

Vous pouvez essayer ce qui suit :

// Remove the callback function from the hook
remove_action( 'after_setup_theme', 'mytheme_setup' );

// Copy the function, rename and do what you need
function my_new_callback()
{
    // Modify what you need
}

// Rehook your custom callback
add_action( 'after_setup_theme', 'my_new_callback' );

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *