WordPress 載入 Javascript 和 CSS 的方法

來源:互聯網
上載者:User

有兩種常用的 add_action 鉤子可以載入 指令碼和CSS到WordPress:

init: 確保始終為您的網站頭部載入指令碼和CSS(如果使用home.php,index.php或一個模板檔案),以及其他“前端”文章、頁面和模板樣式。
wp_enqueue_scripts:“適當”的鉤子方法,並不總是有效,根據你的WordPress設定。

載入外部 jQuery 庫和主題自訂的指令碼、樣式

下面這個例子在 add_action 鉤子中使用 init。使用 init 有兩個原因,一是因為我們正在登出WordPress預設的jQuery庫,然後載入Google的jQuery庫;二是確保在WordPress的頭部就載入指令碼和CSS。

使用if ( !is_admin() )是為了確保這些指令碼和css只在前端載入,不會再後台管理介面載入。

/** Google jQuery Library, Custom jQuery and CSS Files */ 
function myScripts() { 
        wp_register_script( 'google', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.js' ); 
        wp_register_script( 'default', get_template_directory_uri() . '/jquery.js' ); 
        wp_register_style( 'default', get_template_directory_uri() . '/style.css' ); 
    if ( !is_admin() ) { /** Load Scripts and Style on Website Only */ 
        wp_deregister_script( 'jquery' ); 
        wp_enqueue_script( 'google' ); 
        wp_enqueue_script( 'default' ); 
        wp_enqueue_style( 'default' ); 
    } 
} 
add_action( 'init', 'myScripts' );

載入WP預設 jQuery 庫和主題自訂的指令碼、樣式

第3行:使用 array(‘jquery’) 是為了告訴 WordPress 這個 jquery.js 是依賴WordPress 的jQuery庫檔案,從而使 jquery.js 在WordPress jQuery庫檔案後載入。


/** Add Custom jQuery and CSS files to a Theme */ 
function myScripts() { 
        wp_register_script( 'default', get_template_directory_uri() . '/jquery.js', array('jquery'), '' ); 
        wp_register_style( 'default', get_template_directory_uri() . '/style.css' ); 
    if ( !is_admin() ) { /** Load Scripts and Style on Website Only */ 
        wp_enqueue_script( 'default' ); 
        wp_enqueue_style( 'default' ); 
    } 
} 
add_action( 'init', 'myScripts' );

載入 print.css 到你的WordPress主題

第 3 行:最後的 ‘print’是媒體螢幕調用,確保 print.css 在網站的印表機中的檔案載入時才載入。


/** Adding a Print Stylesheet to a Theme */ 
function myPrintCss() { 
        wp_register_style( 'print', get_template_directory_uri() . '/print.css', '', '', 'print' ); 
    if ( !is_admin() ) { /** Load Scripts and Style on Website Only */ 
        wp_enqueue_style( 'print' ); 
    } 
} 
add_action( 'init', 'myPrintCss' );
如果你要在文章或頁面載入唯一的指令碼,那就應該使用 wp_enqueue_scripts 替換 init。使用 wp_enqueue_scripts 僅僅只會在前台載入指令碼和CSS,不會在後台管理介面載入,所以沒必要使用 !is_admin() 判斷。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.