我的WordPress插件中有很多CSS脚本可能影响其他WordPress标签,例如form
:
.form {
padding:30px;
background-color:#fff;
}
我可以更改CSS,但我希望有一个脚本只允许样式表显示在插件页面上。
所以要清理它,目前样式表<link>
总是在管理面板的源代码中,但是我想要一个脚本,当用户只将样式表<link>
放在源代码中时在插件页面上。
答案 0 :(得分:0)
您可以使用get_current_screen
:
$screen = get_current_screen();
if ( $screen->id == 'your_plugin_page' ) ){
$custom_css = ".form {.....}";
wp_add_inline_style( 'your_main_style_handle', $custom_css );
}
更新1:
要在管理菜单中添加子菜单:
add_action( 'admin_menu', 'your_plugin_admin_menu' );
//Add this to register you styles
add_action( 'admin_init', 'your_plugin_admin_init' );
然后:
/**
* Register your stylesheet.
*/
function wpdocs_plugin_admin_init() {
wp_register_style('your-style', plugins_url('scripts/jquery-ui.css',__FILE__ ));
wp_register_script( 'jquery-ui', plugins_url('scripts/jquery-ui.js',__FILE__ ));
}
/**
* Register your plugin page and hook stylesheet loading.
*/
function your_plugin_admin_menu() {
$page = add_submenu_page(...., 'your_plugin_manage_menu' );
//Call 'your_plugin_admin_styles' only on the plugin’s options page
add_action( "admin_print_styles-{$page}", 'your_plugin_admin_styles');
}
/**
* Enqueue our stylesheet.
*/
function your_plugin_admin_styles() {
wp_enqueue_style('your-style');
wp_enqueue_script('jquery-ui');
$custom_css = ".form {.....}";
wp_add_inline_style( 'your-style', $custom_css );
}
/**
* Output our admin page.
*/
function your_plugin_manage_menu() {
// ...
}
答案 1 :(得分:0)
您可以创建样式表,并为该样式表引用创建钩子。然后,您可以在插件调用中使用add_action()添加WordPress,您可以在其中调用该脚本。因此,根据需要,它将在页面顶部引用指定的页面。 了解更多 https://developer.wordpress.org/reference/functions/wp_enqueue_script/ https://developer.wordpress.org/reference/functions/add_action/