Aggiungere un foglio di stile personalizzato a wp-admin

20 ago 2013, 17:59:24
Visualizzazioni: 117K
Voti: 41

Ho problemi a far funzionare il mio foglio di stile personalizzato nell'area WP-ADMIN. plugins_url('style.css', __FILE__) devo creare una cartella nei miei plugin chiamata css o devo semplicemente copiare il mio .css nella directory wp-admin/css?

Ho provato entrambi i metodi ma non sembrano funzionare.

E quali valori dovrebbero sostituire __FILE__?

Scusate, sono nuovo in queste cose.

/*AGGIUNGE FOGLIO DI STILE IN 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__) );
    }


/*AGGIUNGE LA MIA BARRA DI NAVIGAZIONE PERSONALIZZATA IN WP-ADMIN*/
add_action('admin_head', 'custom_nav');
function custom_nav(){
    include('custom_nav.html');

}
0
Tutte le risposte alla domanda 3
3
60

Secondo il WordPress Codex (qui):

admin_enqueue_scripts è la prima azione agganciata alle azioni degli script di amministrazione.

Esempio

Caricare file CSS o JS per tutta l'area di amministrazione:

//da functions.php

//Prima soluzione: un file
//Se stai usando un child theme puoi usare:
// get_stylesheet_directory_uri() invece di 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' );
    //OPPURE
    wp_enqueue_style( 'admin_css', get_template_directory_uri() . '/admin-style.css', false, '1.0.0' );
}

//Seconda soluzione: due o più file.
//Se stai usando un child theme puoi usare:
// get_stylesheet_directory_uri() invece di 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' );
}

Devo creare una cartella nel mio plugin chiamata css o posso semplicemente copiare il mio file .css nella directory wp-admin/css?

No, inserisci il tuo file CSS insieme agli altri, nella directory del tuo tema, poi specifica il percorso con:

get_template_directory_uri() . '/PERCORSO_DEL_TUO_FILE'

Ad esempio, se il mio file si chiama admin-style.css e lo metto in una cartella chiamata css, il mio percorso sarà:

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

Spero sia utile!

20 ago 2013 18:21:28
Commenti

posso chiedere, se voglio importare altri 3 fogli di stile. devo semplicemente aggiungere (x3) questa parte wp_register_style( 'admin_css', get_template_directory_uri() . '/admin-style.css', false, '1.0.0' ); o devo creare una funzione separata?

user1933824 user1933824
20 ago 2013 18:50:14

wp_register_style immediatamente seguito dal relativo wp_enqueue_style (come nella 'Prima soluzione') è assolutamente inutile e non fa nulla di più/diverso rispetto a usare semplicemente wp_enqueue_style con tutti i parametri passati a wp_register_style.

gmazzap gmazzap
2 set 2013 07:16:49

Poiché sto usando un child theme ho cambiato la funzione del percorso in get_stylesheet_directory_uri()

Cazuma Nii Cavalcanti Cazuma Nii Cavalcanti
19 giu 2017 18:21:08
1
16

Se vuoi apportare modifiche CSS al pannello di amministrazione, incolla il seguente codice nel file functions.php del tuo child theme

add_action('admin_head', 'my_custom_fonts'); // admin_head è un hook, my_custom_fonts è la funzione che stiamo aggiungendo all'hook

function my_custom_fonts() {
  echo '<style>
    #posts-filter table.posts{
        table-layout:auto;   
    }
  </style>';
}
12 feb 2019 09:45:26
Commenti

Grazie per quella rapida soluzione!

NSukonny NSukonny
10 gen 2020 07:15:19
3

Per coloro che vogliono aggiungere un file CSS nell'area di amministrazione da un plugin personalizzato (o dalla cartella del plugin):

if (is_admin()) {

Ottieni il percorso del file se si trova in una cartella: (..myPluginFolder/myfolder/css/my.css)

$myCssFileSrc = plugins_url( '/myfolder/css/my.css', __FILE__ );

Ottieni il percorso del file se si trova nella cartella principale del plugin: (..myPluginFolder/my.css)

$myCssFileSrc = plugins_url( 'my.css', __FILE__ );

Inserisci (attiva) il file del foglio di stile:

wp_enqueue_style( 'my-css', $myCssFileSrc );
} //endif;

Tutte le manipolazioni devono essere fatte nel file principale del plugin (myplugin.php)

25 ott 2020 13:02:47
Commenti

Non è lo stesso approccio che l'OP aveva nella domanda, che evidentemente non funzionava per loro?

Rup Rup
25 ott 2020 14:38:42

L'approccio usato nella domanda non è corretto. Ho presentato un codice completamente testato personalmente e funzionante per collegare un file CSS alla parte amministrativa del sito. Questo è esattamente il modo raccomandato per farlo nella documentazione per la creazione di plugin: https://developer.wordpress.org/plugins/plugin-basics/determining-plugin-and-content-directories/

tagformat.com tagformat.com
25 ott 2020 18:29:03

Posso confermare che il codice fornito da @tagformat.com è funzionante ed è il metodo raccomandato dal codex di WordPress, a patto che sia racchiuso in una funzione e che tu possa agganciare quella funzione alla tua azione di enqueue target. Altrimenti il CSS (o se si usano script) il file JS viene accodato troppo presto.

BillieM BillieM
23 gen 2023 23:58:16