wp_enqueue_script a été appelé incorrectement

20

Je ne sais pas comment mais maintenant je reçois cette erreur:

Remarque: wp_enqueue_style a été appelé incorrectement. Les scripts et les styles ne doivent pas être enregistrés ou mis en file d'attente avant les hooks wp_enqueue_scripts, admin_enqueue_scripts ou login_enqueue_scripts. Veuillez consulter le débogage dans WordPress pour plus d'informations. (Ce message a été ajouté dans la version 3.3.) Dans wp-includes / functions.php sur la ligne 3049

Remarque: wp_enqueue_script a été appelé incorrectement. Les scripts et les styles ne doivent pas être enregistrés ou mis en file d'attente avant les hooks wp_enqueue_scripts, admin_enqueue_scripts ou login_enqueue_scripts. Veuillez consulter le débogage dans WordPress pour plus d'informations. (Ce message a été ajouté dans la version 3.3.) Dans wp-includes / functions.php sur la ligne 3049

Avertissement: impossible de modifier les informations d'en-tête - en-têtes déjà envoyés par (sortie démarrée à wp-includes / functions.php: 3049) dans wp-login.php à la ligne 415

Avertissement: impossible de modifier les informations d'en-tête - en-têtes déjà envoyés par (sortie démarrée à wp-includes / functions.php: 3049) dans wp-login.php sur la ligne 427

C'est ce que j'obtiens lorsque j'essaye de me connecter ... Sur d'autres sites, je n'ai que deux premières erreurs. J'essaye de le réparer mais je ne peux pas. Aucune suggestion?

raiden
la source
1
Les Notices semblent assez explicites. Qu'avez-vous essayé et qu'est-ce qui n'a pas fonctionné?
s_ha_dum
@s_ha_dum J'ai essayé beaucoup de choses ce que j'ai trouvé sur Google ... tout à l'heure, les solutions de toscho ont fonctionné pour moi, et je peux me connecter à mon panneau d'administration, mais ce que je peux voir, c'est que quelque chose ne va pas avec le style de chargement, car la police est pas le même que c'était. Je continue à recevoir ces erreurs:
raiden

Réponses:

15

Désactivez tous les plugins et passez au thème par défaut. Ça devrait disparaître maintenant.

Ensuite, activez chaque module complémentaire étape par étape, jusqu'à ce que le problème réapparaisse. Vous connaissez la source maintenant, disons un plugin.

Le plugin appelle probablement wp_enqueue_scripttrop tôt. Recherchez toutes les occurrences de cette fonction, puis assurez-vous qu'elles sont liées à des actions spécifiques:

  • wp_register_script() devrait être appelé pour l'action wp_loaded
  • wp_enqueue_script sur l'une des actions
    • wp_enqueue_scripts,
    • admin_enqueue_scripts,
    • customize_controls_enqueue_scripts ou
    • login_enqueue_scripts(voir ce fil pour ce dernier).
fuxia
la source
Le problème est que je ne peux pas me connecter car j'obtiens également cette étrange erreur avec les cookies. L'erreur dit que j'ai bloqué les cookies dans mon navigateur, mais je ne les ai pas bloqués ... C'est tellement bizarre parce que tout ce que j'ai fait aujourd'hui c'était d'ajouter quelques lignes à style.css, tout était bien, mais un quelques heures après avoir eu ces erreurs.
raiden
@raiden Ensuite, renommez votre répertoire de plugins par FTP, faites de même pour le thème actuellement actif.
fuxia
Maintenant je peux me connecter à mon panel ... merci! mais maintenant j'obtiens une erreur de plus Avertissement: Impossible de modifier les informations d'en-tête - en-têtes déjà envoyés par (sortie démarrée à wp-includes / functions.php: 3049) dans wp-includes / pluggable.php à la ligne 896
raiden
4

Basé sur la solution de Gregory Schultz :

Enveloppez tous vos scripts et styles dans une fonction et accrochez cette fonction à votre enqueueaction cible . 👇

function my_admin_scripts() {
  wp_enqueue_style( 'admin-css', get_stylesheet_directory_uri() . '/admin/css/admin.css' );
  wp_enqueue_script( 'admin-js', get_stylesheet_directory_uri() . '/admin/js/admin.js', true );
}
add_action( 'admin_enqueue_scripts', 'my_admin_scripts' );

wp_enqueue_scripts - l'extrémité avant

admin_enqueue_scripts - page d'administration

login_enqueue_scripts - page de connexion

mon K
la source
2

La raison pour laquelle cela se produit est que ces fonctions sont appelées directement à partir du fichier functions.php, sans utiliser de fonction. Découvrez quelles lignes de functions.php ne se trouvent pas dans une fonction comme celle-ci et ajoutez-les.

Exemple pour datepicker:

-Au lieu de cela dans functions.php:

wp_enqueue_script('jquery-ui-datepicker');
wp_enqueue_style('jquery-ui-css', '//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css');
wp_enqueue_style('jquery-ui-css', '//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');

-Nous ajoutons ceci

    // On définit la fonction:
    fonction MYTHEME_scripts () {
    wp_enqueue_script ('jquery-ui-datepicker');
    }

    // Ajoutez les fonctions à la liste de chargement WP.
    add_action ('wp_enqueue_scripts', 'MYTHEME_scripts');

    fonction MYTHEME_styles () {
    wp_enqueue_style ('jquery-ui-css', '//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css');
    wp_enqueue_style ('jquery-ui-css', '//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
    }

    // Ajoutez les fonctions à la liste de chargement WP.
    add_action ('wp_enqueue_style', 'MYTHEME_styles');

Esperons que ça marche

Albert Sauqué
la source
1

Cela signifie qu'il existe 3 "points de terminaison" pour wp_enqueue_script()lesquels sont wp_enqueue_scripts pour le frontend, login_enqueue_scripts pour l'écran de connexion, admin_enqueue_scripts pour le tableau de bord d'administration. Vérifiez ce lien .

Vous obtenez cette erreur car elle a wp_enqueue_script()été appelée incorrectement.

JMau
la source
Je comprends ce qu'il y a, mais je ne sais pas comment (implémenter?) Ce "Le correctif: utilisez plutôt wp_enqueue_scripts".
raiden
cela signifie que vous n'avez qu'à utiliser wp_enqueue_scriptsau lieu de wp_print_stylesmais je doute que cela soit lié à votre cas. Ce n'est qu'un exemple de dépannage. Dans votre cas, il y a des fonctions dans les plugins ou le thème qui abusent wp_enqueue_script()donc vous obtenez cette erreur ... je suppose.
JMau
J'étais en train d' Notice: wp_register_style was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks.emballer tous mes scripts et styles dans une fonction et l'avis a disparu.
Gregory Schultz
En plus de cela, je ne reçois aucune erreur
Gregory Schultz
1

Plutôt que de désactiver tous vos plug-ins un par un ou de modifier votre base de code pour déboguer, vous pouvez utiliser le plug-in Query Monitor pour affiner la source de cette erreur.

Lorsque vous voyez cette erreur signalée dans la console:

wp_register_style a été appelé incorrectement. Les scripts et les styles ne doivent pas être enregistrés ou mis en file d'attente avant les hooks wp_enqueue_scripts, admin_enqueue_scripts ou login_enqueue_scripts. Veuillez consulter le débogage dans WordPress pour plus d'informations. (Ce message a été ajouté dans la version 3.3.0.)

La dernière colonne ( Component) vous indiquera le plugin qui déclenche l'erreur. À partir de là, effectuez une recherche à l'intérieur de ce plugin (ou thème) pour trouver et corriger le problème.

Kevin Leary
la source