優化WordPress中CSS和JavaScript

來源:互聯網
上載者:User

仲介交易 HTTP://www.aliyun.com/zixun/aggregation/6858.html">SEO診斷 淘寶客 雲主機 技術大廳

WordPress是一個強大的博客程式,但它的主題及外掛程式通常需要一些CSS和JAVAscript來實現其功能。 載入更複雜的主題或是更多外掛程式導致網站速度變慢。 載入相關CSS和JAVAscript耗費了大量的時間,特別是很多博友都是使用國外主機,優化CSS和JAVAscript可以在最大程度上減少載入時間。

一、CSS和JAVAscript合併優化

1、優化外掛程式 WP Minify

wp Minify是將Minify引擎整合到WordPress中。 一經啟用,該外掛程式就能夠合併和壓縮你的 JS 和 CSS 檔來提高頁面的載入速度。 生成類似 這樣的形式,減少瀏覽器對伺服器頁面url的請求次數。

2、手動何必CSS和JAVAscript

方法很簡單,那就是把如a.js、b.js、c.js...... 中的代碼複製在一個檔中,保存為all.js。 將原來調用a.js、b.js、c.js...... 的引用代碼替換成: ,完後刪除原js即可

這個方法唯一的缺點就是合併後的檔太大,影響載入速度。

二、CSS和JAVAscript載入位置優化

為了最大限度地保證相容性,不至於出現JAVAscript失效的情況,所以一般在頁頭載入JAVAscript檔。 但是根據 Yahoo 開發者論壇的建議,載入JAVAscript應該儘量在頁尾以提高頁面的顯示(回應、渲染)速度。

1、JAVAscript to Footer外掛程式

安裝這個外掛程式,可以自動把頭部的JAVAscript自動的載入在footer,保證正常使用。

2、手動調整

使用JAVAscript to Footer會使某些必須載入在頭部的js一併放在footer,會出現相容和顯示錯誤,因此。 我們需要選擇性的進行載入。 使用的函數是 wp_enqueue_script()和 wp_register_script()使用的結構都一樣。 我們下面用wp_enqueue_script()來做例子。

函數用法

wp_enqueue_script(

$handle

,$src

,$deps

,$ver

,$in_footer

);

參數解釋:

$handle:用於區別 JS 名稱,即標識字串 (string);

$src:JS 的檔 URL (string);

$deps:載入的 JS 所依存的其他 JS 標識字串陣列 (array:string, 非必需);

$ver:JS 的版本號,留空則使用當前 WP 版本號 (string, 非必需);

$in_footer:是否放置到網頁 HTML 底部載入 (boolean, 非必需)。

實例:

  

function my_enqueue_scripts() {

if( !is_admin ) { // 前臺載入的腳本與樣式表

去除已註冊的 jquery 腳本

wp_deregister_script( 'jquery' );

註冊 jquery 腳本

wp_register_script( 'jquery', 'HTTP://code.jquery.com/jquery.min.js', array(), 'lastest', false );

提交載入 jquery 腳本

wp_enqueue_script( 'jquery' );

註冊 superfish 腳本

wp_register_script( 'superfish', get_template_directory_uri() . '/js/superfish.js', array( 'jquery' ), '1.2', false );

提交載入 superfish 腳本

wp_enqueue_script( 'superfish' );

註冊並載入 custom 腳本

wp_enqueue_script( 'custom', get_template_directory_uri() . '/js/custom.js', array( 'jquery' ), '3.0', true );

} else { // 後臺載入的腳本與樣式表

取消載入 jquery 腳本

wp_dequeue_script( 'jquery' );

註冊並載入 jquery 腳本

wp_enqueue_script( 'jquery', 'HTTP://code.jquery.com/jquery.min.js', array(), 'lastest', false );

}

}

添加回呼函數到 init 動作上

add_action( 'init', 'my_enqueue_scripts' );

?>

特別注意的是$in_footer預設值為false。 如果留空或是false,則預設js載入在頭部,如果是true,則顯示在footer。

運行上面的例子,只有customs.js會被載入在footer。 其他的均載入在頭部。

三、總結

WordPress 範本功能越來越強大,我們應儘量使用 WordPress內建的眾多的範本函數標籤,實現主題或外掛程式的各種功能。 同時,我們更必須避免修改 WP 內核代碼的可能性。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.