将自定义样式表添加到wp-admin


21

我在让我的自定义样式表在WP-ADMIN区域上工作时遇到麻烦。 plugins_url('style.css', __FILE__) );我必须在名为css的插件中创建文件夹还是将我复制.csswp-admin/css目录中?

我尝试了两种似乎都不适合我。

什么值应该替换为__FILE__

对不起,我对这些东西有点陌生。

/*ADDS STYLESHEET ON WP-ADMIN*/
add_action( 'admin_enqueue_scripts', 'safely_add_stylesheet_to_admin' );
    function safely_add_stylesheet_to_admin() {
        wp_enqueue_style( 'prefix-style', plugins_url('style.css', __FILE__) );
    }


/*ADDS MY CUSTOM NAVIGATION BAR ON WP-ADMIN*/
add_action('admin_head', 'custom_nav');
function custom_nav(){
    include('custom_nav.html');

}

Answers:


33

根据WordPress Codex(在此):

admin_enqueue_scripts是挂接到管理脚本操作中的第一个操作。

为所有管理区域加载CSS或JS文件:

    <?php
      //from functions.php

      //First solution : one file
      //If you're using a child theme you could use:
      // get_stylesheet_directory_uri() instead of get_template_directory_uri()
      add_action( 'admin_enqueue_scripts', 'load_admin_style' );
      function load_admin_style() {
        wp_register_style( 'admin_css', get_template_directory_uri() . '/admin-style.css', false, '1.0.0' );
//OR
        wp_enqueue_style( 'admin_css', get_template_directory_uri() . '/admin-style.css', false, '1.0.0' );
       }

      //Second solution : two or more files.
      //If you're using a child theme you could use:
      // get_stylesheet_directory_uri() instead of get_template_directory_uri()
      add_action( 'admin_enqueue_scripts', 'load_admin_styles' );
      function load_admin_styles() {
        wp_enqueue_style( 'admin_css_foo', get_template_directory_uri() . '/admin-style-foo.css', false, '1.0.0' );
        wp_enqueue_style( 'admin_css_bar', get_template_directory_uri() . '/admin-style-bar.css', false, '1.0.0' );
      }  

    ?>

我必须在名为css的插件中创建文件夹还是将我的.css复制到wp-admin / css目录?

不,将您的CSS文件与另一个文件放在主题目录中,然后使用以下命令指定路径:

get_template_directory_uri() . '/PATH_TO_YOUR_FILE'

例如,我的文件名为admin-style.css,我将其放在一个名为css我的路径的文件夹中,如下所示:

get_template_directory_uri() . '/css/admin-style.css'

希望能帮助到你!


我可以问一下,是否要再导入3个样式表。我是否只需添加(x3)这部分wp_register_style( 'admin_css', get_template_directory_uri() . '/admin-style.css', false, '1.0.0' );或单独的功能?
user1933824 2013年

1
wp_register_style紧随其后的是紧随其后的wp_enqueue_style(如在“第一个解决方案”中一样),这绝对是不必要的,除了wp_enqueue_style与传递给的所有参数一起使用外,没有什么不同/不同wp_register_style
gmazzap

1
因为我使用的是儿童主题,所以我将路径功能更改为get_stylesheet_directory_uri()
Cazuma Nii Cavalcanti

0

如果要更改管理面板的CSS。将以下代码粘贴到您的子主题的functions.php中

add_action('admin_head', 'my_custom_fonts'); // admin_head is a hook my_custom_fonts is a function we are adding it to the hook

function my_custom_fonts() {
  echo '<style>
    #posts-filter table.posts{
        table-layout:auto;   
    }
  </style>';
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.