Le script / le chargeur de styles WP peut-il être utilisé pour concaténer des scripts et des styles gzip dans l'interface frontale?

26

WP a un joli chargeur javascript inclus dans wp-admin: enlace

et un chargeur CSS: enlace

Je me demandais s'il était possible de les utiliser dans le système aussi, pas seulement dans admin, car ils pouvaient concaténer tous les scripts mis en file d'attente et les servir comme un seul fichier compressé.

    
posée Alex 26.01.2011 - 08:45
la source

4 réponses

12

réponse tardive

Voici un bref aperçu:

Vous devez utiliser

  • include( admin_url().'load-scripts.php' );
  • et include( admin_url().'script-loader.php' );

Puis sautez dans $GLOBALS['wp_scripts'] :

Utiliser…

$wp_scripts->default_dirs( array_merge( 
     $wp_scripts->default_dirs
    ,array( '/themes/your_theme/js/' ) 
); 

… pour l'étendre.

Et utilisez ensuite

$wp_scripts->add( $handle, $path_from_content_dir, false/array( $deps ), $ver ) 

pour ajouter un script.

Notes:

  1. Les scripts non compressés sont recherchés par .dev.js (lorsque SCRIPT_DEBUG est TRUE ).
  2. Cela semble être possible pour $wp_styles .
  3. EDIT: WP 3.5 modifiera ce comportement et utilisera .js pour les versions "dev" et ".min.js" lorsque ( SCRIPT_DEBUG est TRUE );

(Mais je suppose que cela ne fonctionnera que si vous utilisez un plugin ou un plug-in mu.)

Ce n'est pas testé et je ne suis pas sûr que cela fonctionne.

    
réponse donnée kaiser 24.04.2012 - 15:30
la source
6

C’est une très bonne question et une excellente fonctionnalité à inclure pour WordPress.

Certaines des autres réponses n'abordent pas la question principale.

  

Je me demandais s'il était possible de   utilisez-les aussi dans le front-end, pas   juste admin, parce qu'ils peuvent   concaténer tous les scripts mis en file d'attente, et   les servir comme un seul fichier gzippé.

Non, il n'est actuellement pas possible d'utiliser le chargeur de scripts intégré pour concaténer les fichiers CSS et les scripts pour le serveur frontal.

Il y avait un discussion à ce sujet sur WP Hackers il y a quelques années et il existe un ticket de traçage pour cette amélioration qui a été accepté, mais pour une version ultérieure.

    
réponse donnée Chris_O 29.03.2011 - 09:25
la source
3

Si vous devez mettre en file d'attente un fichier CSS sur le serveur frontal:

1) Enregistrez le style via wp_register_style ($ handle, $ src) 2) Accrochez wp_enqueue_style ($ handle) au hook wp_print_styles.

Si vous devez mettre en file d'attente un script sur le serveur frontal:

1) Enregistrez le style via wp_register_script ($ handle, $ src) 2) Accrochez wp_enqueue_script ($ handle) au hook wp_head.

(Remarque: je m'attendrais au hook wp_print_styles pour cela, mais ce hook ne fonctionne apparemment pas comme prévu.)

    
réponse donnée Chip Bennett 28.03.2011 - 21:49
la source
0

J'ai quelques scripts que vous voudrez peut-être consulter.

1. Combine.php  - Sur un certain nombre de mes thèmes, j'ai implémenté ce script . Il supporte des fonctionnalités similaires et peut être déposé dans votre dossier de modèles et utilisé relativement facilement.

2. WP Minify  - Ce plugin prend en charge la minification et est très facile à utiliser.

3. W3 Total Cache  - est un plugin de performance très puissant. Il prend également en charge la combinaison script / css ainsi qu'un grand nombre d'autres fonctionnalités, par exemple. de charger les scripts combinés sur un CDN.

    
réponse donnée Scott 19.02.2011 - 15:44
la source

Lire d'autres questions sur les étiquettes