web-dev-qa-db-fra.com

Comment créer un nouveau fichier .css dans le thème enfant, redéfinir les styles dans le style.css du thème enfant

Je souhaite créer un fichier responsive.css distinct dans mon thème enfant, mais le fait de ne pas pouvoir effectuer les requêtes multimédias a priorité sur les styles du style.css par défaut du thème enfant.

J'ai essayé de mettre <link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri(); ?>/responsive.css" type="text/css" media="screen"/> après le code <?php wp_head(); ?>, ce qui fonctionne, mais j'ai lu que ce n'était pas une bonne pratique.

Je ne veux pas vraiment ajouter les requêtes de médias à la fin de style.css car il est déjà volumineux et devient assez déroutant!

2
user1794295

Vous pouvez mettre en file d'attente votre propre feuille de style en l'ajoutant au fichier functions.php de votre thème enfant:

function wpa_custom_css(){
    wp_enqueue_style(
        'wpa_custom',
        get_stylesheet_directory_uri() . '/responsive.css'
    );
}
add_action( 'wp_enqueue_scripts', 'wpa_custom_css', 999 );

Cela chargera le fichier responsive.css situé dans votre répertoire de thème enfant. La priorité étant très basse (999), il est donc plus probable qu'elle apparaisse après d'autres styles pouvant être mis en file d'attente pour la même action.

2
Milo

Le 3ème paramètre accepté par wp_enqueue_script est $ dépendances ... alias quelles feuilles de style doivent être chargées avant.

function wpa_115637(){
    wp_enqueue_style(
        'wpa_custom',
        get_stylesheet_directory_uri() . '/responsive.css',
        'main_style' // use the handle that you used when you enqueued the main stylesheet 
    );
}
add_action( 'wp_enqueue_scripts', 'wpa_115637' );
1
helgatheviking