2017-02-07 14 views
1

custom Divi moduleを作成してプラグインに変換しました。 Diviのページビルダーはローカルストレージ変数を保存するので、ローカルストレージを消去するまでモジュールがモジュールリストに表示されません。 ストレージをクリアして正常に動作するJSファイルを追加しました。 しかし、私はjsが起動と停止時にのみ実行されることを望みます。以下はWordPressのプラグインの有効化と無効化時にのみJSファイルを実行

これは私がプラグインで私のjsファイルを追加する方法です

function angelleye_setup_For_paypal_divi_install() 
    {  
      // trigger our function that registers PayPal for Divi plugin.  
      angelleye_setup_for_paypal_divi();       
    } 
    register_activation_hook(__FILE__, 'angelleye_setup_For_paypal_divi_install'); 

アクティベーションコードをプラグインです。

function paypal_divi_clear_local_storage() { 
    wp_enqueue_script('paypal_divi_clear_local_storage', plugins_url('assets/js/clear_local_storage.js',__FILE__));   
} 
add_action('admin_enqueue_scripts', 'paypal_divi_clear_local_storage', 9999); 

ここで、add_actionはアクティベーション機能から呼び出していません。

答えて

2

を次の行を含めてくださいカスタムオプションを追加し、新しい機能を作成し、起動フックに関数を呼び出す:

新しい関数を

register_activation_hook(__FILE__, 'my_plugin_activation'); 
function my_plugin_activation() { 
    add_option('my_plugin_activation','just-activated'); 
} 

起動時に以下のコードを設定すると、起動時に有効になります。

function mycustom_plugin() 
{ 

    if(is_admin() && get_option('my_plugin_activation') == 'just-activated') 
    { 
     delete_option('my_plugin_activation'); 
     wp_enqueue_script('paypal_divi_clear_local_storage', plugins_url('assets/js/clear_local_storage.js',__FILE__)); 
    } 
} 
add_action('init', 'mycustom_plugin'); 
0

こちらがお役に立てば幸いです。

...あなたのプラグインファイルに

/* 
Plugin Name: Plugin_Name 
*/ 


class Plugin_Name  /* Define the name of the plugin or file */ 
{ 
    public function __construct() 
    { 
    add_action('wp_footer', array($this, 'enqueue_js_files')); 
    } 

    public function enqueue_js_files() 
    { 
    wp_register_script('clear_local_storage', plugins_url('clear_local_storage.js', __FILE__), array('jquery'), '', true); 
    wp_enqueue_script('clear_local_storage'); 
    } 

} 
+0

ありがとうございますが、私はjsを2回だけ実行したい、プラグインがアクティブになったら1回、プラグインが非アクティブになる2回目です。 –

+0

私はテストしていないので、わかりませんが、動作するかどうかはわかりませんが、一度だけテストできます。 –

+0

"add_action"行を "register_activation_hook"& "register_deactivation_hook"に置き換えてください。私は愚かな話をしていることを知っていますが、一度試してみることができます。 –

関連する問題