2016-05-09 47 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不是一個正確的鉤後綴。鉤子後綴是請求字符串的消毒字符串。所以正確的$hook應該是users_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__參數的提示。你的解決方案和kindisch都有效。 – Adrian

相關問題