Hi,
ich versuche gerade das WooTheme "Definition" mit einem Child Theme anzupassen.
Dazu bin ich nach der Anleitung von Wordpress vorgegangen.
Also child theme ordner anlegen, style.css anlegen mit dem @import url("../definition/style.css");
Danach kann ich problemlos CSS Klassen überschreiben, die im style.css definiert wurden. Wenn sie aber in einem anderen File definiert wurden, nicht. Z.B hab ich eine Klasse in der definition/css/layout.css Datei, die ich nicht überschreiben kann.
Wenn ich im Chrome mit "Element untersuchen" ansehe, wie die Klasse im style.css überladen wird, sehe ich, wenn ich die Styles checke folgenden Link zum child theme styles.css file geht: "host/wp-content/themes/definition-child/style.css?ver=3.9.2:69"
Wenn das selbe für das layout.css checke, dann sehe ich folgendes: "host/definition/css/layout.css?3.9.2:87"
Also das CSS file vom parent theme.
In meinem child style.css hab ich folgenden Inhalt:
/* Theme Name: WooThemes Definition Calendr.it Child
Theme URI: TODO to be defined.
Description: WooThemes Definition Calendr.it Child Theme
Author: Andras Scheucher
Author URI: http://andreasscheucher.com
Template: definition
Version: 1.5.0
Tags: TODO to be defined
Text Domain: definition-celendrit-child
*/
/*
For older themes, and themes that do not use wp_enqueue_style() to enqueue their stylesheet, use the following line where twentyfourteen is the name of the directory where the theme resides:
Make sure you uncomment out this import line below if you want to include the parent CSS and the wp_enqueue_style() is not working. If you do not then you will not have any styling in your child theme from the parent theme.
*/
@import url("../definition/style.css");
/* =Theme customization starts here
-------------------------------------------------------------- */
@media only screen and (min-width: 768px) {
#header {
padding: 1em 1.618em 1em;
}
....
}
#header {
margin: 0 -1.618em;
}
....
Alles anzeigen
Ich hab noch versucht, ein childtheme/css/layout.css file mit den nötigen Klassen abzulegen, hat aber nix genützt.
Weiters hab ich noch versucht ein functions.php file in den childtheme folder zu legen. Hier wird beschrieben, wie man das Problem eventuell lösen könnte. Nachdem ich bis jetzt keine Ahnung von Wordpress und dem aufbau von Plugins und Themes habe, hab ich erst mal folgendes versucht, aber ohne Erfolg:
<?php // register and enqueue the stylesheet.
add_action( ‘wp_enqueue_scripts’, ‘register_child_theme_styles’ );
function register_child_theme_styles() {
wp_register_style( ‘style’, get_stylesheet_uri() );
wp_enqueue_style( ‘style’ );
wp_register_style( ‘layout’, get_stylesheet_uri() + "/css" );
wp_enqueue_style( ‘layout’ );
}
?>
Alles anzeigen
Ich weiß im Moment leider nicht weiter. Hat jemand einen Tipp für mich? Liegt's am Definition Theme, das nicht sauber programmiert wurde? Kann man das trotzdem mit einem child theme lösen?
Danke schon mal im voraus!
lg,
Andi