Hem yönetici hem de kullanıcı arabiriminde sıralanacak bir komut dosyasını kaydedin


12

Anladığım kadarıyla, yönetici komut dosyalarının kaydedilmesi ve admin_enqueue_scriptskanca ve diğer tüm komut dosyalarında sıralanması gerekiyordu , wp_enqueue_scriptsbu yüzden tüm komutlarımı açık ve düzenli bir şekilde kaydetmek ve sıralamak için aşağıdaki işlevleri ayarladım.

Sorum şu ki, hem komut dosyasında hem de ön uçta belirli komut dosyalarına (örn. Jquery validate plugin) ihtiyacım olursa ? bu durumda betiğin kaydedilmesi ve sıkılması için önerilen yöntem nedir? farklı bir $ tanıtıcısıyla iki kez kaydedin veya wp_enqueue_scriptsyalnızca üzerinden kaydedin ve eğer öyleyse, gerektiğinde çağrılma riski yoktur? (yani, admin_enqueue_scriptsbu komut dosyalarını daha erken bir zamanda kullanıma sunmasaydı neden başka var olabilirdi?

Birisi wp enqueuing script nüansları tam olarak anlamak için bana açıklamak gerçekten takdir ediyorum. Teşekkürler

Kodum:

// REGISTER ALL NON-ADMIN SCRIPTS
add_action( 'wp_enqueue_scripts', 'register_all_non_admin_scripts' );
function register_all_non_admin_scripts() {

wp_register_script( ... );
wp_register_script( ... );

}

// ENQUEUE NON-ADMIN SCRIPTS CONDITIONALLY
add_action( 'wp_enqueue_scripts', 'enqueue_scripts_where_required' );
function enqueue_scripts_where_required() {

// scripts to be loaded at all times
wp_enqueue_script( '' );

// scripts to be loaded conditionaly
if( is_page( '' ) ) {
    wp_enqueue_style( '' );
}
}

// REGISTER ALL ADMIN SCRIPTS
add_action( 'admin_enqueue_scripts', 'register_all_admin_scripts' );
function register_all_admin_scripts(){
wp_register_script( ... );
wp_register_script( ... );
}

// ENQUEUE ADMIN SCRIPTS
add_action( 'admin_enqueue_scripts', 'enqueue_admin_contact_cpt_js' );
function enqueue_admin_contact_cpt_js(){

global $post_type;

// scripts to be loaded at all times
wp_enqueue_script( '' );

// scripts to be loaded conditionaly by post type
if( 'contact' == $post_type ){
    wp_enqueue_script( '' );
    ...
}
}

Yanıtlar:


10

Şunları yapabilirsiniz kayıt örneğin, daha önce komut dosyalarını wp_loaded:

add_action( 'wp_loaded', 'register_all_scripts' );

function register_all_scripts() 
{
    wp_register_script(...);
}

Ve sonra komut dosyalarını ihtiyacınız olduğunda sıraya koyarsınız :

add_action( 'wp_enqueue_scripts', 'enqueue_front_scripts' );
add_action( 'admin_enqueue_scripts', 'enqueue_back_scripts' );

Diğer komut dosyalarıyla çakışmaları önlemek için aynı tutamaçları ve adları kullanın.


i admin hem de ön ucunda kullanılacak betikler için sorunu çözeceğini tahmin ediyorum evet; Bu durumlar için başka bir işlev ekleyeceğim. thanks @toscho
Ronnieinspain
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.