J'ai créé un plugin pour remplacer la fonction d'un thème. Au fur et à mesure que j'apprends que la fonction dans le plugin se charge en premier, mais que j'ai une erreur
Erreur fatale: impossible de redéclarer wooc_extra_register_fields () (précédemment déclaré dans ****/themes/****/functions.php: 247) dans ***/plugins/custom-plugin/custom-plugin.php à la ligne 89
Pas sûr de ce que je fais mal. De même, les fonctions du thème doivent être remplacées si! Function existe. Alors, quelle est la bonne façon de remplacer une fonction de thème? La fonction existe à l’aide d’un plugin ??
In wp-settings.php, WordPress first checks for any must-use plugins (plugins in the optional mu-plugins folder) and loads those.
Ensuite, si vous exécutez une installation multisite, il vérifie les plug-ins activés par le réseau et les charge.
Pour votre situation, il serait préférable d’envelopper le plugin dans function_exists
if ( ! function_exists( 'wooc_extra_register_fields' ) ) {
function wooc_extra_register_fields() {
}
}
dans le thème parent, car cela rend les fonctions du thème connectables. Vous pouvez ensuite créer un thème enfant et redéclarer la fonction dans le functions.php
du thème enfant.