• ich habe in meinem child theme für die darstellung von posts in einem widget ein paar änderungen vorgenommen und diese bearbeitete template.php im child theme genau in der gleichen hierarchie-anordnung hochgeladen wie im original theme. trotzdem wird aber das original-template.php des original themas für die ausführung des post templates aufgerufen.
    ich hab schon die cache geleert, schreibweise und code auf fehler überprüft – jetzt weiss ich einfach nicht mehr weiter. sämtliche anderen child theme dateien werden hingegen aussgeführt, nur dieses eine nicht. >:-/
    woran kann es liegen, dass mein child theme template.php ignoriert wird?

Ansicht von 9 Antworten – 1 bis 9 (von insgesamt 9)
  • 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

    Thread-Starter pigsound

    (@pigsound)

    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

    Thread-Starter pigsound

    (@pigsound)

    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

    Thread-Starter pigsound

    (@pigsound)

    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.

    Thread-Starter pigsound

    (@pigsound)

    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.

    Hallo pigsound,

    vielen Dank.

Ansicht von 9 Antworten – 1 bis 9 (von insgesamt 9)
  • Das Thema „[Gelöst] child theme template für post widget wird "ignoriert"“ ist für neue Antworten geschlossen.