Je me demandais s'il existait un moyen de désenregistrer un widget déclaré dans le fichier functions.php d'un thème parent à partir d'un thème enfant. Je comprends que le fichier function.php de l'enfant est chargé en premier et que je ne sais pas comment. annulez-le s'il n'a pas encore été créé.
Merci à tous d'avance!
En supposant que le widget du thème parent soit enregistré au point d'ancrage widgets_init
, il vous suffit d'insérer votre appel unregister_widget()
à l'intérieur d'une fonction, de lier cette fonction à widgets_init
et de lui attribuer un numéro de priorité plus élevé que la fonction widgets_init
- accrochée du thème parent.
En supposant que le thème parent soit lié à widgets_init
sans donner de numéro de priorité, la fonction sera par défaut à 10
. Donc, donnez à votre appel téléphonique une priorité égale ou supérieure à 11
.
Une priorité de 11 pourrait ne pas fonctionner, essayez ceci dans votre fichier de fonctions de thèmes enfants:
add_action( 'widgets_init', 'unregister_a_widget', 99 );
function unregister_a_widget() {
unregister_widget( 'Your_Widget_Class' );
}
Echangez Your_Widget_Class avec la classe de votre widget.