我正在尝试将css和js文件放入特定管理页面的队列中。目标页面是wp-admin/users.php?page=bp配置文件编辑。为此,我正在尝试:
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,而不适用于目标页面。
您可以使用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' );
users.php?page=bp-profile-edit
不是正确的挂钩后缀。钩子后缀是请求字符串中经过净化的字符串。因此,正确的$hook
应该是users_page_bp-profile-edit
。你可以在这里找到更多关于$hook_suffix
的信息。
这应该有效:
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()
中的必需参数。