2016-03-02 63 views
-1

我正在構建一個允許用戶構建簡單窗體(以便他們可以在定製程序中創建窗體)的wordpress窗口小部件。與所有控件形式一樣,我有幾個我正在加載的腳本,但是,如果聯繫人表單窗口小部件在頁面上處於活動狀態,我只想加載這些腳本。創建一個WordPress窗口小部件 - 如何僅當頁面上的窗口小部件加載腳本

這裏是我的小部件代碼的開始:

if(!class_exists('Layers_Form_Builder_Widget')) { 
class Layers_Form_Builder_Widget extends Layers_Widget { 

    function Layers_Form_Builder_Widget(){ 

     /* Widget code in here */ 

    } 
    } 
} 

正如你看到的,我的小部件被包裹在類Layers_Form_Builder_Widget,所以打電話給我處理腳本在我的網頁的頭我已經使用了以下:

public function layers_form_builder_process_script() { 
     if(class_exists('Layers_Form_Builder_Widget')) { 
      require_once(LAYERS_FORM_BUILDER__PLUGIN_DIR . 'assets/js/magic.php'); 
     } 
    } 
    add_action('wp_head', array($this, 'layers_form_builder_process_script')); 

上面的代碼增加是使用我Layers_Form_Builder_Widget類作爲一個if語句來加載處理腳本。我的希望是,如果小部件不在頁面上,那麼腳本不會顯示在頭部 - 但是,情況並非如此。

任何幫助搞清楚如何加載這個腳本只在頁面上的小部件正在使用時,將不勝感激。

+0

[檢查WordPress的維基](https://codex.wordpress.org/Function_Reference/is_active_widget)'is_active_widget($回調,$ WIDGET_ID, $ id_base,$ skip_inactive);''是我用過併爲我工作的 – theblackgigant

回答

0

使用此功能對於瞭解你的部件是主動或不

https://codex.wordpress.org/Function_Reference/is_active_widget