2017-10-11 3 views
0

J'ai créé un thème enfant dans wordpress à partir d'un thème parent appelé bigpont. J'utilise aussi woocommerce sur le site. J'avais enquêté sur ma feuille de style de thème enfant et j'ai remarqué qu'il charge deux fois et je ne sais pas pourquoi. Je me demande aussi comment je peux l'obtenir pour le charger afin qu'il remplace la feuille de style woocommerce. Voici le code que je suis actuellement en utilisant dans mon fichier functions.php:Création de feuilles de style pour un thème enfant dans wordpress

function my_theme_enqueue_styles() { 

$parent_style = 'bigpoint-css'; 

wp_enqueue_style($parent_style, get_template_directory_uri() . '/base.css'); 
wp_enqueue_style('child-style', 
    get_stylesheet_directory_uri() . '/style.css', 
    array($parent_style), 
    wp_get_theme()->get('Version') 
); 
} 
add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles'); 

et voici comment les feuilles de style sont chargés sur mon site enter image description here Il semble charger comme « Bigpoint-default-css » UPDATE: J'ai trouvé la réponse à mon css étant chargé deux fois, dans le fichier functions.php de mon thème parent, il est appelé avec:

wp_register_style('bigpoint-default', get_stylesheet_uri(), '1.0'); 

alors j'ai utilisé thi s pour annuler que:

function unhook_parent_style() { 

    wp_dequeue_style('bigpoint-default'); 
    wp_deregister_style('bigpoint-default'); 

    } 
    add_action('wp_enqueue_scripts', 'unhook_parent_style', 20); 

Répondre

1

En regardant le fichier class-wc-frontend-scripts.php il ressemble WooCommerce enqueues il scripts/styles avec la priorité par défaut de 10.

public static function init() { 
     add_action('wp_enqueue_scripts', array(__CLASS__, 'load_scripts')); 
     add_action('wp_print_scripts', array(__CLASS__, 'localize_printed_scripts'), 5); 
     add_action('wp_print_footer_scripts', array(__CLASS__, 'localize_printed_scripts'), 5); 
    } 

Donc, si vous ENQUEUE vos scripts avec un bas la priorité qu'ils vont charger après le style WooCommerce et écraser cette feuille de style car le fichier sera chargé après celui de WooCommerce plus bas dans le document HTML.

add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles', 100); 

J'ai besoin de plus d'informations pour déboguer ce qui se passe avec les feuilles de style dupliquées.

+0

merci Andrew qui m'a aidé à charger ma feuille de style après le css de woocommerce. Je l'ai trouvé dans le fichier themes.php des thèmes parents et je crois que c'est l'endroit où se passe l'autre chargement de mon fichier css: wp_register_style ('bigpoint-default', get_stylesheet_uri(), '1.0'); mais je ne suis pas sûr de savoir comment gérer cela dans mon propre fichier functions.php. –

+0

Je ne peux pas répondre à cette question si je ne peux pas voir tout votre code. –

+0

je l'ai compris et posté dans ma question, merci d'aider un newbie wordpress :) –