Closed larsschellhas closed 6 years ago
Hierzu muss das Logo noch als Bilddatei unter dem passenden Pfad ../lib/images/logo.png beim Childtheme hinterlegt werden. Das könnte zu Rückwärts-Kompatibilitätsproblemen führen bei allen, die aktuell schon das Child-Theme verwenden! Dieses müsste dann in diesen Fällen aktualisiert werden.
Eine alternative Lösung wäre das Festlegen des Logos über den Customizer, wie es beim Header-Bild bereits geschieht. Allerdings geht das über meine Fähigkeiten gerade hinaus. Vielleicht findet Ihr da eine Lösung.
Ich würde hier vorschlagen, get_template_part zu nutzen, wenn das klappt. Denn die Funktion schaut erst im Childtheme nach der Datei und bei Nichtfinden nutzt er das Parenttheme. Wenn du dir das das nochmal anschauen magst, können wir das gern einbauen.
Dann müssten wir die header.php aber über get_template_part aufrufen, da die Logo-Datei kein Template ist, soweit ich das sehe. Oder zumindest müsste man einen Teil aus der header.php ausgliedern, oder?
Oh, du hast ja Recht, get_template_part bezieht sich nur auf php-Dateien. Ich meinte locate_template, mehr Infos findest du hier: https://developer.wordpress.org/reference/functions/locate_template/.
Damit müsste das Logo ladbar sein. Die Funktion gibt als Return einen absoluten Pfad zurück, es müsste also dann noch eine Ersetzung von get_home_path() auf home_url() passieren – sollte ganz einfach als str_replace funktionieren.
So, erledigt.
Danke dir!
Sorry, @larsschellhas, ich hatte dich hier auf die falsche Fährte geschickt. get_home_path() steht nur angemeldeten NutzerInnen zur Verfügung, daher macht das Update die Websites für nicht-angemeldete leider kaputt. Ich habe den Fehler eben gemeldet bekommen und selbst gefixed. Tut mir Leid!
Durch die Verwendung von
get_stylesheet_directory_uri()
anstelle vonget_template_directory_uri()
kann das im Childtheme hinterlegte Logo überschrieben werden und somit eine z.B. lokalisierte Logo-Variante verwendet werden.