Supporto » Funzionalità = Plugin » Creare tema child

  • blogforum

    (@blogforum)


    Ho usato un plugin che ha creato il tema_child e i 2 file functions.php e style.css http://www.childthemeconfigurator.com ho notato che per far funzionare correttamente anche nei mobile, è meglio mettere nel css tutti i codici originali e modificarli nel child. Meglio non mettere solo i codici modificati.

    Se però metto nel tema-child un altro css, es: colors.css non lo trova e mi legge ancora il file originale.

Stai visualizzando 15 risposte - dal 1 al 15 (di 16 totali)
  • Moderatore Rosetta Facciolini

    (@ramthas)

    Web Manager

    Ciao @blogforum
    prova ad inserire le modifiche che dovrebbero stare in colors.css nel file principale style.css

    No non credo che bisogna mettere tutto il codice del css nel child… c’è qualcosa che non sta funzionando come si deve

    blogforum

    (@blogforum)

    Ho provato a mettere il codice modificato di colors.css in style.css ma non va.

    Inizialmente avevo provato a mettere nel child solo in css modificato, ma mi dava problemi di visualizzazione nelle versioni tablet e smartphone, percui mettendo nel child anche il restante codice non modificato, si è risolto.

    blogforum

    (@blogforum)

    Non ho ancora capito a cosa serve il file functions.php nel child teme.

    Moderatore Rosetta Facciolini

    (@ramthas)

    Web Manager

    Ciao @blogforum
    come ho già detto sopra c’è qualcosa che non sta funzionando come si deve se devi caricare tutto il codice CSS nel child. Questo significa che non sta caricando il CSS originale, la struttura dovrebbe essere tipo così nella parte iniziale del file:

    /*
    Theme Name: Nome Child del tuo tema 3.0.9
    Theme URI: 
    Description: Child theme per WordPress
    Author: <a href="http://www.sito-autore.eu" title="Visita la homepage dell'autore">sito sutore</a>
    Author URI: 
    Template: NomedeltuotemaORIGINALE
    Version: 3.0.9
    */
    
    @import url('../NomedeltuotemaORIGINALEinuso/style.css');

    Non è conveniente inserire nel child tutto il codice css, perchè nel momento in cui il tema sarà aggiornato tu non potrai utilizzare determinati aggiornamenti… insomma io non lo farei.

    qui puoi trovare info sul file functions.php
    https://codex.wordpress.org/it:Temi_Child#Utilizzare_functions.php

    blogforum

    (@blogforum)

    Il problema è che non trova i file css che si trovano in una cartella es. css/colors.css

    Moderatore Rosetta Facciolini

    (@ramthas)

    Web Manager

    inserisci il nome del tema esattamente come vedi scritto nella sua cartella

    @import url('../NOMETEMAQUI/style.css');

    Moderatore Rosetta Facciolini

    (@ramthas)

    Web Manager

    La struttura delle cartelle deve essere così:

    \wp-content\themes\
    – TemaXY
    – TemaXY-Child

    Quindi nel CSS del “TemaXY-Child”
    ci deve essere:

    @import url('../TemaXY/style.css');

    blogforum

    (@blogforum)

    @import url(‘../semicolon/style.css’);

    La struttura va bene, ma non lo importa

    • Questa risposta è stata modificata 4 anni fa da blogforum.
    Moderatore Rosetta Facciolini

    (@ramthas)

    Web Manager

    disattiva il plugin che ti ha creato il tema child, cancella il tema child creato e fanne uno te seguendo la procedura normale x creare un child… ll file CSS crealo (pulito) con un editor di testo come per es. notepad di windows o similare

    – TemaXY-Child
    style.css (seguendo come descritto sopra)

    poi crei anche
    functions.php (e lo lasci vuoto x ora)

    Fa sapere. Ciao 🙂

    blogforum

    (@blogforum)

    Fatto, ma non importa il css originale. Però se faccio una modifica nel child, quella la applica.

    blogforum

    (@blogforum)

    Inizia così

    Author: Alberto
    Author URI: http://example.com
    Template: semicolon
    Version: 1.0.0
    License: GNU General Public License v2 or later
    License URI: http://www.gnu.org/licenses/gpl-2.0.html
    Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
    Text Domain: semicolon-child
    */
    @import url(‘../semicolon/style.css’);

    /* ———— INIZIO ARTICOLI —————————- */

    /* Intestazione capitoli */
    .cap {
    color: #d50202;
    font-weight: bold;
    }

    • Questa risposta è stata modificata 4 anni fa da blogforum.
    • Questa risposta è stata modificata 4 anni fa da blogforum.
    • Questa risposta è stata modificata 4 anni fa da blogforum.
    • Questa risposta è stata modificata 4 anni fa da blogforum.
    Giuliano Growler

    (@giulianogrowler)

    Proviamo ad usare un’altro modo per caricare i css? Prova a cancellare la riga @import… e a copiare nel file functions.php la funzione che lo carica. La funzione è quella “enqueue”

    add_action( ‘wp_enqueue_scripts’, ‘enqueue_parent_theme_style’ );
    function enqueue_parent_theme_style() {
    wp_enqueue_style( ‘parent-style’, get_template_directory_uri().’/style.css’ );
    }

    Ricorda di partire con l’apertura del tag <?php in alto nel file functions.php
    Fai sapere.

    blogforum

    (@blogforum)

    Non va ancora. La parte predefinita è quella fino all’ultimo commento, sotto ho messo il tuo codice.

    <?php
    // Exit if accessed directly
    if ( !defined( ‘ABSPATH’ ) ) exit;

    // BEGIN ENQUEUE PARENT ACTION
    // AUTO GENERATED – Do not modify or remove comment markers above or below:

    if ( !function_exists( ‘chld_thm_cfg_parent_css’ ) ):
    function chld_thm_cfg_parent_css() {
    wp_enqueue_style( ‘chld_thm_cfg_parent’, trailingslashit( get_template_directory_uri() ) . ‘style.css’, array( ‘semicolon-genericons’ ) );
    }
    endif;
    add_action( ‘wp_enqueue_scripts’, ‘chld_thm_cfg_parent_css’, 10 );

    // END ENQUEUE PARENT ACTION

    add_action( ‘wp_enqueue_scripts’, ‘enqueue_parent_theme_style’ );
    function enqueue_parent_theme_style() {
    wp_enqueue_style( ‘parent-style’, get_template_directory_uri().’/style.css’ );
    }

    blogforum

    (@blogforum)

    Dopo varie prove in parte sta funzionando, difatti non bisogna mettere @import ma richiamare i file tramite functions.php
    Il foglio di stile del tema child sovrascriverà l foglio stile del tema genitore, ma è probabile che vorrete includere il foglio stile del tema genitore. Per fare ciò non si dovrebbe usare la funzione @import nel foglio di stile del tema child, ma la funzione wp_enqueue_style() nel file “functions.php”.

    Come si vede nel post superiore ho modificato da così: semicolon-genericons a così: semicolon che è il nome del tema genitore.

    Ha importato il css originale ma non trova più le modifiche che ho fatto nel child

    • Questa risposta è stata modificata 4 anni fa da blogforum.
    • Questa risposta è stata modificata 4 anni fa da blogforum.
    blogforum

    (@blogforum)

    Non riesco a venirne fuori. Ma a voi funziona? Se si, cosa avete fatto?
    L’unica cosa che fa è richiamare il css originale, ma non lo modifica.

    Io ho fatto così:

    Nel functions.php richiamo style.css originale

    <?php
    
    // Importa il css originale
    add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style' );
    function enqueue_parent_theme_style() {
        wp_enqueue_style( 'semicolon', get_template_directory_uri().'/style.css' );
    }

    e nel child

    /*
     Theme Name:   Semicolon Child 
     Description:  Child theme for WordPress
     Author:        Alberto
     Author URI:  http://albenessereblog.altervista.org 
     Template:     semicolon    
     Text Domain:  semicolon-child
    */
    //css modificati style.css
    • Questa risposta è stata modificata 4 anni fa da blogforum.
Stai visualizzando 15 risposte - dal 1 al 15 (di 16 totali)
  • Il topic ‘Creare tema child’ è chiuso a nuove risposte.