• User Attivo

    Aiuto: problemi importazione css nella creazione di un child theme

    Ciao a tutti,
    vi contatto per chiedervi una mano nella creazione di un child theme da un tema di wordpress.
    Ho acquistato un template e, partendo da questo, sto cercando di crearne un child theme per evitare futuri problemi di aggiornamento.
    Ho seguito tutti i passaggi richiesti, sono riuscito ad installarlo ma al momento riesco solo a sovrascrivere i file.php, mentre per i css nulla da fare, forse perchè il tema possiede più fogli di stile.

    Il tema genitore possiede un file style.css principale vuoto, cioè solo con l'intestazione, e altri fogli di stile in una sottocartella css.

    Al momento, nel tema figlio ho creato un file style.css, con le intestazioni del caso, in cui importo un singolo foglio di stile (quello utile):

    
    @import url("../photogra/css/style.css");
    
    

    ma le modifiche non vengono sovrascritte, credo dipenda dal file function.php del tema genitore che carica determinate funzioni css:

    
    /* -------------------------------------------------------------------------------- */
    /* load css function
    /* -------------------------------------------------------------------------------- */
    function include_css(){
    	wp_enqueue_style('grid', get_template_directory_uri() . '/css/grid.css', false, '1.0', 'screen');
    	wp_enqueue_style('style', get_template_directory_uri() . '/css/style.css', false, '1.0', 'screen');
    	wp_enqueue_style('prettyPhoto', get_template_directory_uri() . '/css/prettyPhoto.css', false, '1.0', 'screen');
    	wp_enqueue_style('supersized', get_template_directory_uri() . '/js/supersized/css/supersized.css', false, '1.0', 'screen');
    	wp_enqueue_style('supersized_shutter', get_template_directory_uri() . '/js/supersized/theme/supersized.shutter.css', false, '1.0', 'screen');
    	if(get_option('DE_sidebar_position')=="scroll"){
    	wp_enqueue_style('override', get_template_directory_uri() . '/css/override.css', false, '1.0', 'screen');}
    	if(is_home()&&get_option('DE_slider_style_home')=="Show Title & Description"){
    	wp_enqueue_style('override', get_template_directory_uri() . '/css/slider_text_n_desription.css', false, '1.0', 'screen');}
    	if(!is_home()&&get_option('DE_slider_style_project')=="Show Title & Description"){
    	wp_enqueue_style('override', get_template_directory_uri() . '/css/slider_text_n_desription.css', false, '1.0', 'screen');}
    	
    }
    

    Siete in grado di aiutarmi?


  • User

    Ciao,
    non è chiaro se nel file style.css del tema child hai indicato nelle prime righe i seguenti parametri (dando per scontato che il tema principale si chiami photogra😞

    
    /*
    Theme Name: Il nome del tuo tema child
    Template: photogra
    */
    
    

    PS
    Nel caso in cui non avessi inserito nulla prima dell'importazione, tieni presente che devi usare il codice esattamente come l'ho scritto, cioè compreso dei tag di commento.


  • User Attivo

    Ciao, si la mia intestazione è già:

    
    
    
    /*
    
    
    Theme Name: Photogra Child
    
    
    Theme URI: h t t p://photogra.themenesia.com
    
    
    Description: Fullscreen Photographer Theme
    
    
    Author: Designesia
    
    
    Author URI: h t t p :// themeforest.net/user/designesia/portfolio?ref=designesia\
    
    
    Template: photogra
    
    
    License: GNU General Public License version 3.0
    
    
    License URI: h t t p :// w w w .gnu.org/licenses/gpl-3.0.html
    
    
    Version: 1.2.3
    
    
    */
    

  • User

    E' corretto così come hai fatto, credo che il tema non preveda la possibilità di un child-theme, ma un override. Nelle impostazioni del tema dovrebbe esserci la possibilità di attivare, o disattivare, la funzione override.
    Puoi però anche appoggiarti al functions.php come hai già intuito. Utilizza il tuo tema child e una copia del file functions.php. In questo file indichi il tuo file CSS, ad esempio custom.css che conterrà tutto ciò che vuoi sovrascrivere, a livello di CSS, sul tema genitore.
    Se vuoi approfondire meglio questa tecnica segui questo link e cerca la voce **Using functions.php: **codex.wordpress.org/Child_Themes

    Dimenticavo, non sarebbe una cativa idea contattare l'autore del tema, in quanto potrebbe darti con certezza informazioni più accurate. Per esempio, non si sa che il tuo tema utilizza un framework o meno.


  • User Attivo

    Ti ringrazio, ho già provveduto a contattare l'autore ma sono ancora in attesa di risposta.
    Ho dato anche già un'occhiata ai codex di wordpress, tuttavia non essendo un vero e proprio programmatore non sono riuscito ancora a venire a capo.

    Ti posso chiedere cosa dovrei scrivere nel file functions.php?
    Perchè ho già tentato di modificare l'url verso il nuovo file style.css ma mi viene restituito un errore che mi avvisa che non posso dichiarare la stessa funzione presente nel function.php del tema genitore.


  • Penso che anche quest'ultimo problema sia dovuto al fatto che il tema non è votato ad essere parent, ma se mai a consentire un override.
    Quindi nel momento in cui carica funzioni già richiamate nel tema padre, restituisce l'errore di cui parli.