web-dev-qa-db-fra.com

Pourquoi mes styles de thèmes frontaux saignent-ils dans le backend?

Je développe un thème personnalisé. Pour une raison quelconque, certains des styles que je définis globalement dans le front-end (comme certains styles pour les titres et autres) affectent le back-end.

J'utilise le plugin WP-LESS et je mets en file d'attente la feuille de style principale dans les fonctions du thème.PHP:

wp_enqueue_style( 'mainLESS', get_template_directory_uri() . '/less/index.less');

Est-ce un comportement normal?

Comment devrais-je préfixer les styles pour les empêcher de s’appliquer au backend? Il semble que je ne voie pas de classes de corps évidentes dont je pourrais tirer profit.

1
Pekka 웃

Vous êtes censé mettre en file d'attente sur l'événement wp_enqueue_scripts. En plaçant la fonction dans functions.php et en l'exécutant immédiatement, elle sera exécutée sur toutes les pages, y compris la zone d'administration

Voici un exemple tiré du devhub:

/**
 * Proper way to enqueue scripts and styles.
 */
function wpdocs_theme_name_scripts() {
    wp_enqueue_style( 'style-name', get_stylesheet_uri() );
    wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' );

Ce hook/action/event se déclenche sur le frontend. Si vous souhaitez ajouter un style ou un script au backend, utilisez plutôt l'événement admin_enqueue_scripts.

7
Tom J Nowell