2016-05-09 10 views
3

特定の管理ページにcssとjsファイルをエンキューしようとしています。 対象のページはwp-admin/users.php?page = bp-profile-editです。そのために私は試しています:WordPress管理サブページのエンキュースクリプト

function my_enqueue ($hook) { 
    if ('users.php?page=bp-profile-edit' == $hook) { 
     wp_enqueue_script('my_custom_script', plugin_dir_url() . 'myscript.js'); 
     wp_enqueue_style('my_custom_script', plugin_dir_url() . 'mystyle.css'); 
    } 
} 
add_action('admin_enqueue_scripts', 'my_enqueue'); 

これは、対象のページではなくusers.phpでのみ動作します。

答えて

0

get_query_var以上を使用すると、$ _GETパラメータを使用することができます。だから、

function my_enqueue ($hook) { 
    if ('users.php' == $hook && isset($_GET['page']) && $_GET['page'] == 'bp-profile-edit') { 
     wp_enqueue_script('my_custom_script', plugin_dir_url() . 'myscript.js'); 
     wp_enqueue_style('my_custom_script', plugin_dir_url() . 'mystyle.css'); 
    } 
} 
add_action('admin_enqueue_scripts', 'my_enqueue'); 
+0

ありがとうございました。それは魅力のように働いた。 – Adrian

0

users.php?page=bp-profile-editは正しいフック接尾辞ではありません。フックサフィックスは、要求文字列のサニタイズされた文字列です。正しい$hookusers_page_bp-profile-editである必要があります。 $hook_suffixhereについて詳しく知ることができます。

これは動作するはずです:

function my_enqueue($hook) { 
    if ('users_page_bp-profile-edit' === $hook) { 
     wp_enqueue_script('my_custom_script', plugin_dir_url(__FILE__) . 'myscript.js'); 
     wp_enqueue_style('my_custom_script', plugin_dir_url(__FILE__) . 'mystyle.css'); 
    } 
} 
add_action('admin_enqueue_scripts', 'my_enqueue'); 

また、__FILE__plugin_dir_url()に必要なパラメータがあります。

+0

ソリューションと__FILE__パラメータのヒントをありがとう。あなたのソリューションと種類はどちらもうまくいきました。 – Adrian

関連する問題