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

标签 php css wordpress plugins

我的 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() {
     // ...
}

关于php - 仅在插件页面 WordPress 上显示样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38235132/

相关文章:

jquery - 我无法在移动(或小)屏幕上将标题固定在页面顶部

PHP AJAX POST 发送多个变量

php - 避免重复的mysql注入(inject)

javascript - jQuery - 在带有内容的 div 上方切换幻灯片

javascript - 跨列跳跃的 CSS column-count 元素

mysql - "Localhost Error establishing a database connection "

php - 使用 mysql codeigniter 图像更新 null

php - 安全页面上的 Symfony 链接

javascript - 环绕 float 图像时的文本 block 宽度

php - 浏览器未呈现我的样式。难道我做错了什么?