簡體   English   中英

Wordpress wp_enqueue_script不工作

[英]Wordpress wp_enqueue_script Not Working

我正在開發一個主題並嘗試讓wp_enqueue_script工作。 奇怪的是,沒有任何東西出現。 它沒有做任何事情。 這是我的設置:

在functions.php我有:

function named_scripts() {

    global $named_options;

    if( is_admin() ) return;

    wp_deregister_script( 'jquery' );
    wp_register_script( 'screen', tz_JS . '/screen.js', array( 'jquery' ) );
    wp_enqueue_script( 'screen' );
    wp_enqueue_script( 'bootstrap', tz_JS . '/bootstrap/bootstrap.js', array( 'jquery' ) );

    wp_register_style( 'custom-style', get_template_directory_uri() . '/css/custom-style.css', array(), '20120208', 'all' );  
    wp_enqueue_style( 'custom-style' );

}



add_action( 'init', 'named_scripts' );

在header.php我打電話

named_scripts();

而在HTML中,根本沒有任何顯示。

刪除默認的wordpress jquery后,您應該已經注冊了jquery文件。 我用這個代碼..希望它有幫助..

function load_external_jQuery() { // load external file  
    wp_deregister_script( 'jquery' ); // deregisters the default WordPress jQuery  
    wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"), false);
    wp_enqueue_script('jquery');
    wp_register_script('blur', get_template_directory_uri() . '/_/js/blur.js', array('jquery') );
    wp_enqueue_script('blur');
}  
add_action('wp_enqueue_scripts', 'load_external_jQuery');

傑拉爾德是現場。 您已取消注冊Wordpress附帶的jQuery,而無需注冊其他版本。

通常,如果要直接從CDN加載,則會刪除已發布的版本。 一個例子如下;

  wp_deregister_script('jquery');
  wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js', false, '1.7.2');
  wp_enqueue_script('jquery');

如果要取消注冊它,則需要在排除依賴於jQuery的其他JS之前立即注冊另一個版本

常量“tz_JS”是否正確定義? 假設是,你應該能夠簡化你的功能:

function named_scripts() {

    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'screen', tz_JS . '/screen.js', array( 'jquery' ) );
    wp_enqueue_script( 'bootstrap', tz_JS . '/bootstrap/bootstrap.js', array( 'jquery' ) );

    wp_enqueue_style( 'custom-style', get_template_directory_uri() . '/css/custom-style.css', array(), '20120208', 'all' );  

}
add_action( 'wp_enqueue_scripts', 'named_scripts' );

wp_enqueue_scripts是用於加載前端腳本的正確鈎子( 請參閱Codex )。 您不需要檢查is_admin()因為admin_enqueue_scripts是用於在管理端加載腳本的相應掛鈎。

如果您正在開發子主題 ,請在主題目錄中加載js時使用get_stylesheet_directory_uri()

function named_scripts() {
  wp_enqueue_script('jquery');
  wp_enqueue_script(
        'default_scripts', 
        get_stylesheet_directory_uri() . '/js/scripts.js', 
        array('jquery'),
        '1.0',
        false
        );
}
add_action( 'wp_enqueue_scripts', 'named_scripts' );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM