繁体   English   中英

仅在插件页面WordPress上显示样式表

[英]Show Stylesheet only on Plugin page WordPress

我的WordPress插件中有很多CSS脚本,它们可能会影响其他WordPress标签,例如form

.form {
    padding:30px;
    background-color:#fff;
}

我可以更改CSS,但是我想拥有一个只允许样式表显示在插件页面上的脚本。

因此,要清除它,当前样式表<link>始终位于管理面板的源代码中,但是我想要一个脚本,该脚本仅在用户位于插件页面上时才将样式表<link>放入源代码中。

您可以使用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() {
     // ...
}

您可以创建样式表,并为该样式表引用创建钩子。 然后,您可以在插件调用内使用add_action()添加WordPress,并在其中调用该脚本。 因此,将根据需要在指定页面的页面顶部对其进行引用。 进一步了解https://developer.wordpress.org/reference/functions/wp_enqueue_script/ https://developer.wordpress.org/reference/functions/add_action/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM