Supporto » Funzionalità = Plugin » Creare tema child
Creare tema child
-
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.
-
Ciao @blogforum
prova ad inserire le modifiche che dovrebbero stare in colors.css nel file principale style.cssNo non credo che bisogna mettere tutto il codice del css nel child… c’è qualcosa che non sta funzionando come si deve
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.
Non ho ancora capito a cosa serve il file functions.php nel child teme.
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- Questa risposta è stata modificata 7 anni, 6 mesi fa da Rosetta Facciolini.
Il problema è che non trova i file css che si trovano in una cartella es. css/colors.css
inserisci il nome del tema esattamente come vedi scritto nella sua cartella
@import url('../NOMETEMAQUI/style.css');
- Questa risposta è stata modificata 7 anni, 6 mesi fa da Rosetta Facciolini.
- Questa risposta è stata modificata 7 anni, 6 mesi fa da Rosetta Facciolini.
La struttura delle cartelle deve essere così:
\wp-content\themes\
– TemaXY
– TemaXY-ChildQuindi nel CSS del “TemaXY-Child”
ci deve essere:@import url('../TemaXY/style.css');
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 🙂
Fatto, ma non importa il css originale. Però se faccio una modifica nel child, quella la applica.
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;
}
…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.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’ );
}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
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 7 anni, 6 mesi fa da blogforum.
- Il topic ‘Creare tema child’ è chiuso a nuove risposte.