Bir eklentide JavaScripts nasıl sıralanır


14

Bu sefer eklenti klasörüne bir JavaScript dosyaları dahil üzerinde çalışırken çok uğraşıyorum.

Temalar dizininden widget dosyaları aktararak bir eklenti oluşturmaya çalışıyorum. Widget dosyasını kopyaladım, ancak bu widget dosyası bir JavaScript dosyasına bağlıydı, bu yüzden eklenti dizininde bir / js / klasörü oluşturdum. bu dosyalar "jquery.repeatable.js" olarak barındırılıyor

Bu kodu kullandım, ancak js dosyasını içermiyor gibi görünüyor -

function Zumper_widget_enqueue_script()
{   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js' );
}
add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script');

Bunu forumda aradım- /programming/31489615/call-a-js-file-from-a-plugin-directory

Ama yine de bu yardımcı olmadı.

Sorumu yeniden özetliyorum. Eklenti dizinimde bu klasörün altında bir js dosyası var - / js /

Doğru işlemin ne olduğunu eklemek istiyorum, ayrıca bir şey kaydetmem gerekiyor mu?

Bu kısımda bir sorun mu var 'admin_enqueue_scripts'?


Yanıtlar:


30

Kodunuz doğru görünüyor, ancak komut dosyası enqueuing olan beacuse sadece yönetici alanında senaryoyu yükleyecektir admin_enqueue_scriptseylem .

Komut dosyasını ön uca yüklemek için wp_enqueue_scriptseylemi kullanın (bu wp_enqueue_script()işlevle aynı değildir ):

function Zumper_widget_enqueue_script() {   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js' );
}
add_action('wp_enqueue_scripts', 'Zumper_widget_enqueue_script');

Ayrıca, bu komut dosyası jQuery'ye bağlı gibi görünüyor, bu nedenle bağımlılığın veya komut dosyasının jQuery'den önce yüklenebileceğini bildirmeniz gerekir ve çalışmaz. Ayrıca, komut dosyasının sürümünü bildirmenizi şiddetle tavsiye ederim. Bu şekilde, komut dosyasını yeni bir sürüme güncellerseniz, tarayıcı yeniden yükler ve önbelleğinde sahip olabileceği kopyayı atar.

Örneğin, komut dosyasının sürümü 1.0 ise:

function Zumper_widget_enqueue_script() {   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js', array('jquery'), '1.0' );
}
add_action('wp_enqueue_scripts', 'Zumper_widget_enqueue_script');

Yönetici alanına yüklemek istiyorsanız:

function Zumper_widget_enqueue_script() {   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js', array('jquery'), '1.0' );
}
add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script');

1

GÜNCELLENMİŞ:

Bunun yerine bu kodu kullanın

function Zumper_widget_enqueue_script()
{   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js', array('jquery'), '1.0.0', false );
}
add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script');

3. parametre bağımlılığı, 4. parametre versiyonu tanımlamaktır.

Set 5RD parametre wp_enqueue_script()için true. Yani bu dosya altbilgiye yüklenecek.


Üçüncü parametre wp_enqueue_script()komut dosyası bağımlılıklarını bildirmektir. Beşinci parametre, komut dosyasını altbilgiye veya üstbilgiye yüklemek isteyip istemediğinizi seçmektir. Her neyse, yüklenen yerin herhangi bir fark yarattığını düşünmüyorum.
cybmeta

Teşekkürler. Bazı eklentilerinde birisinin böyle yaptığı bir yerde okudum - wp_enqueue_script ('zumper', get_template_directory_uri (). '/Js/jquery.zumper.min.js',array('jquery'),false.true); 3. değerini true olarak ayarlamak, altbilgiye yükleneceği anlamına gelir, o zaman bu yanlış, doğru kombinasyon ne anlama gelir?
WP Orta Düzey

Cevabımı güncelledim. Çalışıyor mu?
mukto90

1

Normalde enqueue elde etmek için plugins_url () yöntemini kullanın.

function Zumper_widget_enqueue_script()
{   
    wp_enqueue_script( 'my_custom_script', plugins_url('js/jquery.repeatable.js', __FILE__ ), '1.0.0', false );
}
add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script');
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.