web-dev-qa-db-fra.com

Comment désinscrire un widget d'un thème enfant

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!

2

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.

6
Chip Bennett

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.

1
Dev