Remplacer les styles dans le thème enfant Wordpress

I am working to customize this theme: http://themeforest.net/item/ultimate-directory-responsive-wordpress-theme/8043893

Selon le protocole que j'ai utilisé sur de nombreux sites, j'ai créé un thème enfant.

Dans ce thème enfant, j'ai un fichier style.css avec le code suivant:

@import url("../ultimate-directory/ud-assets/css/custom.css");
@import url("../ultimate-directory/style.css");

#header {
width: 100%;
border-bottom: 3px solid;
background-color: #fff !important;
}

J'ai aussi un fichier functions.php dans le thème enfant avec ce code `

<?php
  add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
  function enqueue_parent_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
  } 
?>

mais le style.css dans le thème enfant ne remplace pas les styles parents. Je suis allé en arrière avec les développeurs de thème, mais ils n'ont pas fourni de solution. Le thème parent a un style.css mais rien n'y est, juste un commentaire qui dit que tous les styles sont dans le dossier CSS qui se trouve dans le dossier ud-assets. La feuille de style que j'essaie de remplacer est appelée custom.css, c'est pourquoi je l'ai importé mais mes modifications sont toujours ignorées.

C'est le code dans le thème parent header.php qui appelle dans les styles que je crois:

$cp_preloader_status = get_option(THEME_NAME_S.'_enable_preloader'); 

if( $cp_preloader_status == 'enable' ){
?>
<?php $preloader = get_option(THEME_NAME_S.'_preloader_gif','1'); ?>
<?php } ?>
0
J'ai essayé d'ajouter un lien direct à l'enfant style.css dans le header.php dans le thème enfant mais cela n'a pas fonctionné.
ajouté l'auteur CreativEliza, source
Le code ci-dessus pour le fichier function.php est dans le thème enfant, donc je ne suis pas sûr de ce que vous entendez par "appelé"
ajouté l'auteur CreativEliza, source
Il y a plusieurs fichiers CSS dans le thème parent. Le parent style.css est vide mais il indique que tous les fichiers se trouvent dans le dossier de la feuille de style qui contient 19 feuilles de style. Le CSS que j'essaie de remplacer est dans ud-assets/css/custom.css - J'ai essayé de mettre en miroir la structure du fichier dans mon thème enfant et de placer le code désiré dans mon custom.css mais cela ne fonctionne pas non plus.
ajouté l'auteur CreativEliza, source
Comment le CSS parent est-il mis en file d'attente?
ajouté l'auteur rnevius, source
Le fichier est-il réellement présent dans votre <head>?
ajouté l'auteur mahatmanich, source
Est-ce que childs function.php a déjà été appelée?
ajouté l'auteur mahatmanich, source

1 Réponses

Le code ci-dessus ne charge aucun fichier CSS mais fournit quelques règles CSS.

Vous avez quelques options pour surcharger les fichiers parents qui peuvent être chargés plus tard que le fichier que vous essayez de mettre en file d'attente et donc les règles suivantes s'appliqueront (en fonction de règles CSS spécifiques et de l'utilisation de ! Important etc).

  1. Add your action to load later (really you should check the page source to determine if this is the issue)

    add_action( 'wp_enqueue_scripts', 'childtheme', 1000 );
    
  2. Use specific protocols for CSS selectors if you are making minor changes e.g. nav ul li.custom will select li's in a nav element with the class custom. Dont use nav ul li if you want to style nested uls later.

  3. Dequeue all styles and enqueue again (probably best practice not to load more than 1 CSS file anyway

    function dequeue_css(){
    
     global $wp_styles;
    
            foreach( $wp_styles->queue as $name ) :
                    wp_deregister_style ($name);
                    wp_dequeue_style ($name);           
            endforeach; 
    
           //now enqueue CSS files
    }
    add_action('wp_enqueue_scripts', 'dequeue_css',100);
    
0
ajouté