web-dev-qa-db-fra.com

Est-il possible de modifier le style du panneau d'administration à partir d'un thème personnalisé?

Je fais un thème personnalisé.

En lisant tout autour, je sais que je peux créer un thème d’administrateur personnalisé en créant un plug-in, mais je préférerais que tout ce qui est contenu reste contenu dans mon thème personnalisé.

  1. Parce que je veux juste apporter quelques changements légers.
  2. Je souhaite que certains styles de composants frontaux apparaissent également dans l'éditeur visuel sur le backend, et j'aimerais le faire simplement en faisant en sorte que le fichier admin-style.scss importe les mêmes fichiers scss de composants que le fichier style.scss, de cette manière. tout reste en phase les uns avec les autres.

Je pensais pouvoir faire cela avec un plugin appelé tinyMCE Custom Styles, mais il semble que ce soit editor-style.css ne synchronise que l'avant et l'arrière pour l'éditeur classique (ce qui est logique puisque Gutenberg n'utilise pas TinyMCE)

EDIT: Je viens de découvrir que je peux insérer des styles d'éditeur à l'aide de add_editor_style dans le fichier functions.php, mais je ne suis pas sûr que cela fonctionne pour Gutenberg ou non.

Quoi qu'il en soit, cela ne fonctionne pas pour la chose dont j'ai vraiment besoin, c'est-à-dire pour éditer la largeur de l'éditeur, ce qui, je pense, ne peut être fait qu'avec un style ajouté au panneau d'administration.

J'ai essayé ce code mais il en résulte une page blanche et un thème non fonctionnel:

function my_admin_theme_style() { wp_enqueue_style("my-admin-theme", get_template_directory_uri() . '/admin-style.css', __FILE__)); } add_action("admin_enqueue_scripts", "my_admin_theme_style"); add_action("login_enqueue_scripts", "my_admin_theme_style");

1
David A. French

Tout ce que vous pouvez faire dans un plugin, vous pouvez le faire dans un thème. C'est plutôt comme si la séparation était préférable, voir l'article: https://managewp.com/blog/themes-design-plugins-functionality

Ci-dessous un exemple d'ajout de la feuille de style de l'éditeur:

/**
 * Registers an editor stylesheet for the theme.
 */
add_editor_style( array(
    'assets/css/bootstrap.min.css',
    'https://use.fontawesome.com/releases/v5.3.1/css/all.css',
    'style.css',
));

Ci-dessous, un exemple d'ajout de scripts au backend WP admin.

function admin_scripts() {
    wp_enqueue_style( 'bootstrap', get_theme_file_uri( '/assets/css/bootstrap.min.css' ), array(), null );
    wp_enqueue_script( 'bootstrap-bundle-js', get_theme_file_uri( '/assets/js/bootstrap.bundle.min.js' ), array('jquery'), null, true );
}
add_action( 'admin_enqueue_scripts', 'admin_scripts' );

Si vous avez besoin de charger vos scripts plus tôt pour une raison quelconque, essayez admin_init ci-dessous

add_action( 'admin_init', 'admin_scripts' );
1
Remzi Cavdar