dodawanie niestandardowego arkusza stylów do wp-admin

21

Mam problem z uzyskaniem pracy mojego niestandardowego arkusza stylów w obszarze WP-ADMIN. plugins_url('style.css', __FILE__) );czy muszę utworzyć folder we wtyczkach o nazwie css, czy po prostu skopiować .cssgo do wp-admin/csskatalogu?

próbowałem obu, to chyba nie działa dla mnie.

i na jakie wartości należy wymienić __FILE__?

przepraszam, jestem trochę nowy w tych sprawach.

/*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');

}
użytkownik1933824
źródło

Odpowiedzi:

33

Według WordPress Codex ( tutaj ):

admin_enqueue_scripts to pierwsza akcja dołączona do akcji skryptów administratora.

Przykład

Ładowanie plików CSS lub JS dla całego obszaru administracyjnego:

    <?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' );
      }  

    ?>

czy muszę utworzyć folder we wtyczkach o nazwie css, czy po prostu skopiować plik .css do katalogu wp-admin / css?

Nie, umieść plik CSS razem z drugim w katalogu motywów, a następnie określ ścieżkę za pomocą:

get_template_directory_uri() . '/PATH_TO_YOUR_FILE'

Na przykład moja nazwa pliku to admin-style.cssi umieszczam go w folderze o nazwie cssmoja ścieżka będzie wyglądać następująco:

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

Mam nadzieję, że to pomoże!

iEmanuele
źródło
mogę tylko zapytać, czy chcę zaimportować jeszcze 3 arkusze stylów. czy po prostu dodaję (x3) tej części wp_register_style( 'admin_css', get_template_directory_uri() . '/admin-style.css', false, '1.0.0' );lub oddzielnej funkcji?
user1933824,
1
wp_register_stylezaraz po nim następuje powiązane wp_enqueue_style(jak w „Pierwszym rozwiązaniu”) jest absolutnie niepotrzebne i nie robi nic więcej / różni się tylko od użycia wp_enqueue_stylewszystkich parametrów przekazanych do wp_register_style.
gmazzap
1
Ponieważ używam motywu podrzędnego, zmieniłem funkcję ścieżki naget_stylesheet_directory_uri()
Cazuma Nii Cavalcanti
0

Jeśli chcesz wprowadzić zmiany CSS w panelu administracyjnym. wklej poniższy kod w functions.php motywu podrzędnego

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>';
}
Mohammed Muzammil
źródło