การเพิ่มสไตล์ชีทที่กำหนดเองไปที่ wp-admin


21

ฉันมีปัญหาในการทำให้สไตล์ชีทที่กำหนดเองของฉันทำงานในพื้นที่ WP-ADMIN plugins_url('style.css', __FILE__) );ฉันต้องสร้างโฟลเดอร์ในปลั๊กอินของฉันชื่อ css หรือฉันจะคัดลอก.cssไปยังwp-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');

}

คำตอบ:


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

1
wp_register_styleตามทันทีโดยที่เกี่ยวข้องwp_enqueue_style(ในขณะที่ 'การแก้ปัญหาครั้งแรก') เป็น unncessary อย่างแน่นอนและไม่ได้ทำอะไรมากขึ้น / ที่แตกต่างจากการใช้งานเพียงแค่wp_enqueue_styleมี params wp_register_styleทั้งหมดส่งผ่านไปยัง
gmazzap

1
เพราะฉันใช้ชุดรูปแบบสำหรับเด็กฉันเปลี่ยนฟังก์ชันพา ธ เป็นget_stylesheet_directory_uri()
Cazuma Nii Cavalcanti

0

หากคุณต้องการเปลี่ยนแปลง CSS สำหรับแผงการดูแลระบบ วางโค้ดด้านล่างในฟังก์ชั่น 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>';
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.