Un site client: causant de graves conflits js ou js chargement incapacités, est sous garde. L'activation de DEBUG, la désactivation de tous les plug-ins et l'activation du thème par défaut "T13" ont montré que le problème réside toujours. Le DEBUG est tout à fait correct - pas de handicap ni de dysfonctionnements. C'était dans une ancienne version WP, j'ai tout mis à jour - alors maintenant tout est à jour. (WP version 3.6.1 comme aujourd'hui)
Symptômes
Le site du client est un site de journal en ligne et contient de nombreuses nouvelles - la taille de la base de données est énorme. Si je prends le thème et installe un nouveau WordPress, alors:
Autrement,
Statut du filetage: PARTIELLEMENT RÉSOLU!
Eh bien, c’est un beau voyage pour moi avec kaiser , s1lv3r et Rarst à travers le débogage.
Tout d'abord, j'ai essayé ce fil avec la suggestion de s1lv3r:
Mais après toutes les mesures nécessaires, j'ai trouvé deux erreurs qui résidaient toujours (pas dans l'interface, mais dans l'extrémité wp-admin); outils de développeur utilisés dans Google Chrome - onglet "Ressources" (+ Console ensuite) après la suggestion de kaiser:
Uncaught SyntaxError: Unexpected token ILLEGAL
sur load-scripts.php
à la ligne 3Uncaught SyntaxError: Unexpected token var
sur load-scripts.php
à la ligne 10La première journée de discussion s'est terminée sans solution. Au deuxième jour, nous retrouvons le même état. Cette fois-ci a rencontré Rarst. Et avec une bonne suggestion de Rarst, j'ai ajouté script_debug à wp_config.php
:
define('SCRIPT_DEBUG', true );
Et j'ai eu accès aux zones problématiques où je ne pouvais pas entrer. Mais Rarst m'a rappelé:
ce n'est pas vraiment "corrigé", c'est juste que la version dev des scripts et le concat désactivé fonctionnent. difficile à dire, concat est désordonné et nécessite beaucoup de débogage pour comprendre ce qui ne va pas
Ensuite, j'ai cherché sur Google et trouvé ce fil utile comprenant le SCRIPT_DEBUG
. En résumé, comme caseyctg disait:
... en l'ajoutant à votre fichier wp-config, vous utilisez essentiellement les versions non réduites de javascripts et css. Il me semble donc que le cœur du problème réside en fait dans les fichiers css et javascript. MAIS, si vous ajoutez cette ligne de code à votre fichier de configuration, vous venez d’ajouter une taille de fichier supplémentaire à vos scripts et vos CSS. ...
Et pour une solution facile, nous (les employés du bureau) sommes arrivés à une solution:
Nous allons leur installer un nouveau WordPress avec un nouveau thème avec de nouveaux ensembles de plug-ins sans hâte dans leur domaine principal: http://example.com
. Pour notre thème, l'ancien processus de stockage de données ne fonctionnera plus, car nous avons conçu notre WP Newspaper Framework avec une méthodologie différente. Donc, à la fin, l'ancienne base de données résidera en paix avec un sous-domaine tel que: http://archive.example.com
avec un lien dans la barre latérale du modèle d'archive du nouveau site. Nous espérons que cela ne dérangera pas les lecteurs.
La constante SCRIPT_DEBUG
permet de basculer entre les versions minifiées et non minifiées de fichiers JavaScript. Mais il y a plus.
Vérifiez si vous utilisez aussi CONCATENATE_SCRIPTS
et COMPRESS_SCRIPTS
. Les deux ne sont utilisés que par défaut par l'administrateur principal, mais je l'utilise également dans mes thèmes pour vérifier le sac de scripts que je charge. Alors méfiez-vous, configurez-le et voyez l'exemple suivant.
$extensionJS = (
( defined( 'COMPRESS_SCRIPTS' ) AND COMPRESS_SCRIPTS )
AND ( defined( 'CONCATENATE_SCRIPTS' ) AND CONCATENATE_SCRIPTS )
AND ! ( defined( 'SCRIPT_DEBUG' ) AND SCRIPT_DEBUG )
)
? '.min' : '';
Pour être complet, voici l'exemple CSS
$extensionCSS = ( defined( 'COMPRESS_CSS' ) AND COMPRESS_CSS ) ? '.min' : '';
Quoi qu'il en soit, depuis que nous avons Google Chrome Dev Tools, il est inutile de basculer entre les versions compressées et non compressées - tant que vous n'avez pas utilisé de processus de minification comme "uglify" qui permet de renommer vos variables pour les raccourcir - alors que GC obtenait "Pretty Print ". Voir l'exemple suivant dans l'onglet "Sources" (cliquez sur le lien "Script" dans l'onglet "Eléments" pour y ouvrir votre fichier). Image réalisée avec LiceCap.