2014-07-04 38 views
0

我正在創建一個wordpress插件,其中我需要包含多個樣式表和JS文件。在Wordpress插件中包含多個樣式表

我已經使用下面的代碼,

1. TRIAL 1-包含樣式和腳本一起

define('DELTA__PLUGIN_URL', plugin_dir_url(__FILE__)); 

add_action('wp_enqueue_scripts', 'imwi_scripts'); 
    function imwi_scripts() { 

     wp_register_style('delta-styles', DELTA__PLUGIN_URL . "css/style.css"); 
     wp_register_style('delta-styles', DELTA__PLUGIN_URL . "css/jquery.dataTables.css"); 
     wp_register_style('delta-styles', DELTA__PLUGIN_URL . "css/font-awesome.min.css"); 

     wp_register_script('delta-scripts', plugins_url('/js/jquery.dataTables.js', __FILE__) , array('jquery'), true); 

     wp_enqueue_style('delta-styles'); 
     wp_enqueue_script('delta-scripts'); 
    } 

2. TRIAL -2-包括腳本和樣式seperately

define('DELTA__PLUGIN_URL', plugin_dir_url(__FILE__)); 

//EN-QUEUING JAVASCRIPTS 
add_action('wp_enqueue_scripts', 'imwi_scripts'); 
    function imwi_scripts() { 

     wp_register_script('delta-scripts', plugins_url('/js/jquery.dataTables.js', __FILE__) , array('jquery'), true); 

     wp_enqueue_script('delta-scripts'); 
    } 

//EN-QUEUING STYLES 
add_action("wp_enqueue_scripts", "imwi_styles"); 
    function imwi_styles() { 
     wp_register_style('delta-styles', DELTA__PLUGIN_URL . "css/style.css"); 
     wp_register_style('delta-styles', DELTA__PLUGIN_URL . "css/jquery.dataTables.css"); 
     wp_register_style('delta-styles', DELTA__PLUGIN_URL . "css/font-awesome.min.css"); 

     wp_enqueue_style('delta-styles'); 
    } 

結果 1. jquery.dataTables.js和style.css成功進入頁面。

問題:

  1. jquery.dataTables.css和字體awesome.min.css因此未得到包括在內。我想保持我的風格獨立,所以我不能將我的樣式表導入到單個樣式表(例如delta.css)中,並通過wp_enqueue_style()對delta.css進行排隊。

  2. 使用CDN是不可能的,因爲[WordPress.org插件]回覆此回覆卸載圖像,js,css,cgi和其他腳本到谷歌(或jquery.com或其他任何坦率地)是不允許使用,因爲您在其他網站上引入了不必要的依賴關係。

問:是否有可能包括所有的腳本和樣式,而無需創建每個樣式表和腳本多種功能?

謝謝你的幫助..

回答

2

是的,這是可能的。你需要有一個不同的名稱使用wp_register_style

codex on this topic每個腳本:在樣式表的

<?php wp_register_style($handle, $src, $deps, $ver, $media); ?>

$處理 (串)(必填)名稱(這應該是因爲它獨特的用於識別整個系統中的腳本)。 默認值:無

所以,與其呼籲所有三個(來自例1)delta-styles,叫他們

  1. 三角款式
  2. 三角款式,jQuery的
  3. 三角形樣式,字體-awesome

然後wp_enqueue_style所有三個這樣:

wp_enqueue_script('delta-scripts'); 
wp_enqueue_script('delta-scripts-jquery'); 
wp_enqueue_script('delta-scripts-font-awesome');