Wird das Template im Theme direkt aufgerufen? Wenn ja, wie?
Sind das die Original-Dateinamen, um die es geht? Bei der Auswahl der Datei ist die Benennung essentiell.
Siehe: http://codex.wordpress.org/Template_Hierarchy
Gruß, Torsten
mittlerweile gab es ein update des themes, das das problem beheben sollte – hat es aber nicht.
hier die functions.php des child-themes, in der die widgets geladen werden. wie zu sehen ist, befinden sich die templates nicht im root-directory, sondern 2 ebenen darunter.
ist diese methode, das template aufzurufen, die richtige?
<?php
add_action('wp_head','load_parent_style',0);
function load_parent_style() {
wp_register_style('parent-theme',get_bloginfo('template_directory').'/style.css');
wp_enqueue_style('parent-theme');
}
/* Load custom widgets
/* ------------------------------------ */
if ( ! function_exists( 'alx_widgets' ) ) {
function alx_widgets()
{
load_template( get_template_directory() . '/functions/widgets/alx-tabs.php' );
load_template( get_template_directory() . '/functions/widgets/alx-video.php' );
load_template( get_template_directory() . '/functions/widgets/alx-posts.php' );
}
add_action( 'after_setup_theme', 'alx_widgets' );
}
?>
get_template_directory verweist auf das Parent-Theme:
http://codex.wordpress.org/Function_Reference/get_template_directory
Wohingegen get_stylesheet_directory auf das Child-Theme verweisen würde:
http://codex.wordpress.org/Function_Reference/get_stylesheet_directory
Gruß, Torsten
das hab ich auch schon gelesen, und dann die functions.php-zeilen
load_template( get_template_directory() . '/functions/widgets/alx-tabs.php' );
load_template( get_template_directory() . '/functions/widgets/alx-video.php' );
load_template( get_template_directory() . '/functions/widgets/alx-posts.php' );
durch
load_template( get_stylesheet_directory() . '/functions/widgets/alx-tabs.php' );
load_template( get_stylesheet_directory() . '/functions/widgets/alx-video.php' );
load_template( get_stylesheet_directory() . '/functions/widgets/alx-posts.php' );
ersetzt. aber so blieb die seite dann weiss.
Weiß heißt, dass ein Fehler auftritt, den Du nicht siehst, also mal Debug-Mode aktivieren:
http://codex.wordpress.org/Debugging_in_WordPress#WP_DEBUG
Dann solltest Du den Fehler sehen.
Bedenke: Bei einem Child-Theme werden beide functions.php ausgeführt!
Deshalb diese Konstruktion:
if ( ! function_exists( 'alx_widgets' ) ) {
Nur wenn die Funktion noch nicht existiert, wird sie danach definiert. Wenn Du also vorher in der Child-Theme functions.php die Funktion definierst, kannst du sie für dich umschreiben.
So bleibt das Eltern-Theme unverändert und somit updatefähig.
Gruß, Torsten
hallo thorsten,
in der zwischenzeit bin ich mit dem entwickler des themes in verbindung und er hilft mir bei dem problem weiter. entweder liegt das problem tiefer, oder wir stehen wie der ochs vorm berg und sehen den wald vor lauter bäumen nicht.
in der zwischenzeit helfe ich mir selbst mit einem workaround, indem ich das template des parent themes nach meinen wünschen abändere.
ist keine ideale lösung, aber bis zum nächsten update sollte das ausreichen.
danke für deine hilfe!
Hallo pigsound,
es wäre eventuell hilfreich, wenn du das theme benennst und die Lösung (wenn Sie bald vorhanden ist) hier postest. Dann können andere, die per Suche auf diesen Thread sto�en, die Lösung sehen.
Wäre natürlich schön, wenn du benennen könntest, was genau der Fehler war.
mach ich gerne;
es handelt sich um das theme hueman
das problem war, dass ein post-template, für das ich im child-theme eine bearbeitete version erstellt hatte, von der entsprechenden template-datei im parent-theme überschrieben wurde bzw. gar nicht gelesen wurde (siehe forum-thread)
der fehler war offenbar, dass der callback add_action/add filter falsch platziert war (innerhalb von function_exists). dies wurde in der neuen version (2.0.1) des themes richtiggestellt.