WP betiği / stil yükleyicisi, ön uçtaki komut dosyalarını ve stilleri birleştirmek ve gziplemek için kullanılabilir mi?


27

WP, wp-admin'de yer alan güzel bir javascript yükleyiciye sahiptir: http://core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-scripts.php

ve bir CSS yükleyici: http://core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-styles.php

Bunları ön tarafta da kullanıp kullanamayacağımı merak ediyordum, sadece yönetici değil, çünkü tüm kodlanmış betikleri bir araya getirip tek bir gzipli dosya olarak sunabiliyorlardı.


Bu etkili bir şekilde "Yönetici olmayan sayfalar için enquees kullanabilir miyim?" Diye sormuyor mu? .. Bunun cevabı Evet olacaktır.
t31os

5
@ t31os Soru, admin için yapıldığı gibi stilleri ve komut dosyalarını birleştirmek ve gziplemek için load-scripts.php ve load-styles komutlarını kullanıp kullanamayacağınızdır . Sorunun başlığını açıklığa kavuşturdum.
Chris_O

Yanıtlar:


12

geç cevap

Kısa bir bakıştan:

Kullanmak zorundaydın

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

Sonra atla $GLOBALS['wp_scripts']:

Kullanım ...

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

… Uzatmak için.

Ve sonra kullan

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

Bir komut dosyası eklemek için

Notlar:

  1. Sıkıştırılmamış komut tarafından arandığını .dev.js(zaman SCRIPT_DEBUGolduğu TRUE).
  2. Aynı şey için de mümkün gözüküyor $wp_styles.
  3. EDIT: WP 3.5 bu davranışı değiştirecek ve .js"dev" sürümleri için kullanacak ve ( SCRIPT_DEBUG. TRUE);

(Ama bu sadece bir eklenti veya mu-eklenti kullanıyorsanız işe yarayacağını düşünüyorum.)

Test edilmedi ve işe yarayıp yaramayacağından emin değilim.


Şu anda böyle bir şey yapmaya çalışıyorum. Kötü olan şey, load-scripts.php dosyasının exit()sonunda bir bit olması dolayısıyla daha sonra hiçbir şey yapamazsınız.
Benjamin Intal

Bu cevap beni büyük bir baş ağrısından kurtardı. Eğer SCRIPT_DEBUGbir true, tüm komut dosyaları çok önyüzdeki gibi tek tek sıraya alınmadı. Ancak, eğer öyleyse SCRIPT_DEBUG, falsekomut dosyalarını eşzamanlı olarak zorlamak gibi görünüyor load-scripts.php.
Michael Ecklund,

@MichaelEcklund Evet, bu "anahtar" - sabit , tek dosyaları birleştirir veya sunar. Bu, kaynak haritalardan önceki günlerden ve günümüzde geliştirici araçlarındandır.
kaiser

6

Bu çok iyi bir sorudur ve WordPress'in dahil etmesi için harika bir özellik olacaktır.

Diğer cevapların bazıları ana soruyu ele almıyor.

Bunları ön tarafta da kullanıp kullanamayacağımı merak ediyordum, sadece yönetici değil, çünkü tüm kodlanmış komut dosyalarını bir araya getirip tek bir gzipli dosya olarak sunabiliyorlardı.

Hayır, şu anda yerleşik komut dosyası yükleyicisini, css ve ön uç için komut dosyalarını birleştirmek için kullanmak mümkün değildir.

Birkaç yıl önce WP Hacker'larda bununla ilgili bir tartışma yapıldı ve bu geliştirme için kabul edilmiş, ancak gelecekteki bir sürüm için bir trac bileti var.


3

Ön uçta bir CSS dosyası hazırlamanız gerekiyorsa:

1) Stili wp_register_style ($ handle, $ src) ile kaydedin. 2) wp_enqueue_style ($ handle) wp_print_styles kancaya kancalayın.

Ön uçtaki bir betiği kodlamanız gerekiyorsa:

1) Stili wp_register_script ($ handle, $ src) ile kaydedin. 2) wp_enqueue_script ($ handle) wp_head kancasına kancalayın.

(Not: Bunun için wp_print_styles kancasını beklerdim, ancak bu kanca göründüğü gibi çalışmıyor.)


0

Bakmak isteyebileceğiniz birkaç senaryom var.

1. Combine.php - Bazı temalarımda bu betiği uyguladım . Benzer işlevleri destekler ve şablon klasörünüze bırakılabilir ve nispeten kolay bir şekilde çalışılabilir.

2. WP Minify - Bu eklenti küçültmeyi destekler ve birlikte çalışması çok kolaydır.

3. W3 Toplam Önbellek - çok güçlü bir performans eklentisidir. Ayrıca, komut dosyası / css kombinasyonunun yanı sıra, birleştirilmiş komut dosyalarını bir CDN'ye yükleme gibi birçok başka özelliği de destekler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.