Suche
Suche Menü

WordPress: Wie man Änderungen an der functions.php richtig macht!

Ftp-Programm Filezilla einrichten

Aus gegebenem Anlass schreibe ich heute über etwas technisches. Viele ambitionierte Blogger haben sich ziemlich toll in das ganze WordPress-System hineingefuchst und konnten ihr Blog durch Änderungen am Stylesheet und an den Template-Dateien sehr individuell anpassen.

Doch ich habe auch schon ganz oft einen NOTRUF bekommen, weil das ganze Blog plötzlich nicht mehr erreichbar war. Ein absoluter Panik-Moment.

Was war passiert?

Als Webdesigner, der seinen Job von der Pike auf gelernt hat (soweit das heute möglich ist), hat man einen bestimmten Arbeitsablauf, zu dem die Verwendung bestimmer Programme gehört. Programmierungen und Änderungen werden in einem Editor gemacht (ich verwende z.B. Espresso von MacRabbit) und im Anschluss per FTP-Programm auf den Server geladen. Mit dem Ftp-Programm kann man eine Verbindung zum Web-Hosting-Speicher herstellen und ganz einfach Daten in das Ordnerverzeichnis hoch- und runterladen, ändern und löschen. Das erfordert ein gewisses Grundverständnis des Prinzips, ist aber keine Zauberei.

Der Vorteil: Zum Einen eine übersichtliche und gewohnte Arbeitsumgebung, angepasst an die Bedürfnisse des Programmierers und zum Anderen: Es gibt immer eine lokale Kopie der Datei an der man arbeitet, und einzelne Arbeitsschritte können per cmd+z bzw. strg+z (Zurück-Button) wieder rückgängig gemacht werden, wenn mal etwas nicht gut aussieht oder man etwas kaputt gemacht hat.

Espresso von MacRabbit, HTML, CSS, PHP-Editor

Viele WordPress-Anwender benutzen jedoch ein vorinstalliertes System; sei es ein vom Web-Designer entwickeltes Blog oder ein bereits im Hosting enthaltenes, welches nur mit einem Klick aktiviert werden muss. In beiden Fällen hat der Anwender sein Blog nicht über FTP selbst installiert und sich damit selbst ein Bild von der Datenstruktur gemacht, sondern „es war einfach da und lief“.

Das Backend von WordPress macht es dem Anwender zuerst einmal leicht, Template-Dateien und CSS-Stylesheets zu ändern. Es gibt einen Editor in dem Änderungen an den Original-Dateien vorgenommen werden können und dann einfach abgespeichert werden.

Die CSS Dateien von WordPress im Backend ändern

Das kann ganz schön gefährlich sein. Während Änderungen am CSS keine großen Komplikationen hervorrufen und im schlimmsten Fall nur das Design ein wenig verschoben ist, können Änderungen an den dort abgelegten Template-Dateien das ganze Blog zerschießen.

Eine Datensicherung behalten

Natürlich kann und sollte man bei solchen Änderungen am Kern des Systems vorher eine Kopie der Datei machen. Auch das haben viele gemacht. Wenn dann etwas nicht klappt, dann kann man einfach die Kopie wieder in den Editor einfügen und abspeichern. Aber in einem Fall geht auch das nicht.

Die functions.php is das Herz des Templates

Die Lösung wenn die Functions.php nicht mehr geht (weisse Seite bei WordPress)

Hier gibt es den Schreckmoment. In vielen Anleitungen, die man im Web findet, steht nämlich nicht, das diese Datei ein kleines Sensibelchen ist. Dort wird einfach nur empfohlen, den entsprechenden Code in die functions.php zu kopieren und alles ist gut. Meist steht da aber nicht, dass diese Änderungen nicht online (also im Live-Backend) vorgenommen werden dürfen. Von diesem Bewusstsein gehen die Programmierer meist ganz selbverständlich aus.

Wenn man an dieser Stelle jedoch einen Fehler macht und sei es nur, dass man ein Semikolon zu wenig kopiert hat, streikt die Datei und das ganze Blog ist nicht erreichbar!

Die Lösung wenn die Functions.php nicht mehr geht (weisse Seite bei WordPress)

An diesem Punkt wird der Admin aus dem Blog ausgesperrt und es gibt keine Möglichkeit durch den Browser zurück ins Blog zu gelangen, egal ob mit dem Zurück-Button oder dem Versuch, das Backend neu aufzurufen, das Blog ist erstmal weg.

Was tun?

Das, was von Anfang an richtig gewesen wäre: Ein FTP-Programm ist dann meistens die einzige Rettung.

Anleitung: Änderungen an WordPress-Blogs richtig machen

Als erstes wird ein FTP-Programm benötigt.

Dieses bekommt man kostenlos bei https://filezilla-project.org/. Es wird der „Filezilla Client“ benötigt.

Die Software herunterladen und installieren. Das ist je nach Betriebssystem unterschiedlich.

Beim ersten Start der Software sieht es dann so aus:

Ftp-Programm Filezilla frisch installiert

Dann müssen einige Einstellungen vorgenommen werden.

Dafür benötigt ihr die Zugangsdaten aus euerem Hosting-Paket. Meist bekommt man diese per E-Mail bei der Anmeldung. Ansonsten kann man auch im Kundenbereich nachsehen.

Es wird der FTP-Host benötigt. Dieser ist von Anbieter zu Anbieter unterschiedlich, bei vielen Anbietern ist es der Domain-Name.

Zusätzlich wird ein FTP-Benutzername und das Passwort benötigt.

Diese Angaben in die Felder auf der rechten Seite einfügen.

Das Eingabe-Fenster öffnet sich bei Datei > Servermanager

Ftp-Programm Filezilla einrichten

Dann mit dem Sever verbinden.

Als nächstes sehr ihr eine Verzeichnisstruktur die der des Ordnersystems auf eurem Rechner verdächtig ähnelt.

Das ist auch kein Wunder, denn ein Webserver ist auch im Prinzip nichts anderes als ein Computer mit Dateien und Ordnern.

Ftp-Programm Filezilla verbunden

Und jetzt?

Im Idealfall habt ihr natürlich ein Backup eurer functions.php gemacht, bevor ihr euch aus dem Blog ausgesperrt habt?

Super!

Dann habt ihr es jetzt einigermassen leicht. Öffnet einen Texteditor. Den mit dem wenigsten Schnickschnack. Auf dem PC ist es Notepad (liegt bei „Zubehör“) auf dem Mac ist es TextEdit ( Bei Textedit unter „Einstellungen“ die Option „reiner Text“ auswählen.)

Dann die Sicherung eurer functions.php dort hineinkopieren und als functions.php abspeichern. Einigermassen logisch, oder ? ;-)

Was ist, wenn es kein Backup gibt?

Wenn ihr blöderweise kein Backup gemacht habt, wird es jetzt ein bisschen komplizierter. Ihr müsst nämlich euer Template neu herunterladen. Angenommen, es ist das WordPress-Standard-Theme „TwentyTwelve“:

Auf http://wordpress.org/themes/ könnt ihr euer Template erneut herunterladen. Alle Themes, die man im Backend installieren kann, können auch an dieser Stelle heruntergeladen werden. Mit der Suchfunktion kommt ihr weiter.

Das twentyTwelve Theme von WordPress herunterladen

Das Theme herunterladen und ggf. die Zip-Datei auspacken.  Wenn ihr den Template-Ordner öffnet, liegt die functions.php auf der ersten Ebene. Das ist bei jedem Template so. Einige kompliziertere Templates haben noch weitere Funktions-Dateien, das klammern wir aber an dieser Stelle aus.

Jetzt wechselt ihr zurück zum FTP-Programm. Dort muss man sich nämlich bis zum Template Ordner durchklicken.

Wenn ihr beim ersten Öffnen des Programms einen Ordner wie z.B. httpdocs oder public_html oder etwas ähnliches seht, das ist der Ordner in dem die Website liegt. Einfach mal reinklicken. Meist kommt gleich danach die Wordpress-Installation

Wenn Ihr euch  den Screenshot des FTP-Servers anseht sehr ihr diese drei Ordner (bei mir liegen sie im Verzeichnis public_html/werbung)

  • wp-admin
  • wp-content
  • wp-includes

Ftp-Programm Filezilla verbunden

Dies sind die WordPress-Ordner. Nun klickt ihr euch durch bis auf

/public_html/werbung/wp-content/themes/

Das ist der Template-Ordner. Hier liegt euer Theme. Dort nun das entsprechende Template auswählen und in den Ordner gehen.

Jetzt habt ihr es fast geschafft.

Als letzten Schritt nun entweder das Backup eurer functions.php in den Ordner laden oder die functions.php aus dem zuvor heruntergeladenen Ordner.

Fertig.

Wenn ihr nun euer Blog aufruft, sollte alles so sein, wie es war.

Bonus-Tipp: Jetzt wo ihr eure Internetseite per FTP geöffnet habt, ist es der ideale Zeitpunkt für ein Backup. Dafür legt ihr euch auf einem Rechner einen Ordner an, den ihr dann auf der linken Verzeichnisseite von Filezilla auswählen könnt. In diesen Odner kopiert ihr dann alle drei WordPress-Ordner hinein. Damit macht ihr dann ein Backup aller Templates, Plugins und der hochgeladenen Bilder.

Wenn ihr nun mal wieder an der Seite bastelt, könnt ihr das erstmal in den lokalen Dateien machen (auch hier macht eine Sicherungskopie Sinn!) und diese danach wie erlernt hochladen. Das spart Mühe und schont die Nerven ;-)

signatur

Follow my blog with Bloglovin

Author:

Ich bin Daniela Müller, Web-Designerin und Frontend-Entwicklerin aus Flensburg. Hier schreibe ich über Wordpress, HTML und CSS für alle, die noch ein paar Tricks und Kniffe übers Bloggen lernen möchten und vor allem für all jene, die sich bisher noch nicht an Wordpress ran getraut haben. In meiner Freizeit nähe, stricke, backe und koche ich und probiere Neues aus. Mein Kreativ-Code: www.cozy-and-cuddly.de

30 Kommentare Schreibe einen Kommentar

  1. Jaaaaa, als hättest Du das nur für mich geschrieben … ich würde sagen, das ist DER Defibrillator-Artikel für alle WP-Blogger!!! DANKE♥

  2. Nun Ja, Du hast möglicherweise einen klitzekleinen Teil dazu beigetragen ;-)
    Aber ich habe auch noch andere Blogs wiederbelebt in der letzten Zeit!

  3. Hallo Daniela, vielen Dank auch noch mal für diesen hilfreichen Artikel. Dumdidum, wen meinst Du bloß in Deinem Post ;-) Werde mir jetzt mal Filezilla runterladen und mir Deinen Artikel ausgedrucken. Mal schauen, ob ich das alles hinkriege. GLG, Melanie

  4. Hihi… Du bist nicht die Einzige.
    Ich hatte schon so einige sonntägöiche Notfälle damit ;-)

    Alles Liebe!

  5. Wohoo… gerettet! Danke!

    Hab (fast) alles falsch gemacht was ging, aber zum Glück kanntest du die Abgründe, in die ich geraten bin – und nicht nur die, sondern auch noch den Ausweg.

    Tausend Dank! :)

  6. Vielen Vielen Dank!!! Mein Kopf qualmt, aber es hat FUNKTIONIERT!!! ;-)

  7. SUPER! Das hast Du sehr schön erklärt.

    Für einen eigenen GRAVATAR habe ich von WP.org einen tollen Tipp, der tatsächlich funktioniert:

    In die functions.php des themes folgenden Code einfügen:

    add_filter( ‚avatar_defaults‘, ’newgravatar‘ );

    function newgravatar ($avatar_defaults) {

    $myavatar = get_bloginfo(‚template_directory‘) . ‚/images/my-gravatar.jpg‘;

    $avatar_defaults[$myavatar] = „Mein eigener“;

    return $avatar_defaults;

    }

    Und natürlich einen eigenen Gravatar anlegen (32x32px) und ins Theme oder Child-Theme-Verzeichnis hochladen.

    Herzliche Grüße

    Michael

  8. Einer des besten WordPress Artikel der Welt! :)

    Danke dir!

    LG

    Sarah

  9. Hallo liebe Daniela,

    danke dieses Artikels habe ich gerade meinen Blog „repariert“-> Vielen Dank- ich habe dich über Ellen Heinecke von den Benefiz Bloggern gefunden!

    Vielen Dank für diesen tollen und sehr verständlichen Artikel!

  10. Hallo,

    ich habe versucht auf meinem WordPressblog in der functions.php etwas einzufügen. Darauf kam die Fehlermeldung: Fatal error: Call to undefined function add_action() in /home/www/wordpressmallorca/wp-includes/functions.php on line 40 .

    Darauf hin habe ich das Eingefügte wieder gelöscht, aber die Fehlermeldung blieb. Dann habe ich alle WP-Dateien über FileZilla neu hoch geladen und nun kommt die Fehlermeldung:

    Fatal error: Call to undefined function add_action() in /home/www/wordpressmallorca/wp-includes/functions.php on line 50 .

    Auch verschiedene Versuche die functions.php getrennt neu hochzuladen bringen die gleiche Fehlermeldung. Was kann ich machen? Die Seite http://ferienhausmallorca2000.de ist auch nicht mehr aufrufbar.

    Habe nun nach deiner Anleitung nochmals die Datei extra hochgeladen, aber das gleiche Ergebnis.

  11. Hallo Peter!
    Also Du hast Dir dir Original Functions.php von WordPress heruntergeladen?
    Ist die Datei vielleicht schreibgeschützt?
    Versuche mal folgendes.
    Gehe per FTP in den Ordner wp-content/plugins und benenne den Ordner „plugins“ um in „_plugins“ und versuche dann erneut die Seite aufzurufen. Manchmal liegt der Fehler auch in einem Plugin.

  12. Liebe Daniela,

    wow vielen Dank für den tollen Artikel! Er beschreibt ziemlich genau unser Problem hier. Ich weiß nicht genau, ob das hier die richtige Stelle ist, Fragen zu stellen, aber wir sind ziemlich verzweifelt :D

    Haben nämlich alles gemacht und es funktioniert immer noch nicht.

    Im Prinzip haben wir nur versucht, eine andere Schriftart in unseren Blog (Moka Theme von Elmastudio) einzubauen. Leider haben wir das direkt im WP editor online gemacht, was sich als keine gute Idee entpuppt hat (Blutige Anfänger eben). Jetzt haben wir uns an Filezilla rangewagt und eigentlich alles wichtige gefunden (dank deiner Anleitung), die fehlerhafte functions.php mit der ursprünglichen functions.php aus dem Theme ersetzt und gehofft…aber auf der Seite hat sich nichts getan.

    :( Was könnten wir denn noch falsch gemacht haben?

    Eine Antwort oder ein neuer Anstoß wäre grade Gold wert.

    Lieben Dank!

  13. Hallo Daniela, ich würde sagen dein Artikel hat mir den A… gerettet!!! Ich bin dir unglaublich dankbar dafür! Habe heute Mittag eine kleine Panikattacke erlitten doch durch deine Hilfe funktioniert jetzt alles wieder!!!

    vielen Dank dafür!!

  14. Hallo Daniela,

    das ist endlich mal eine hilfreiche WP Anleitung. Die meisten Anleitungen die man im Netz findet, setzen immer so viel Fachkenntnis voraus, da sind Fehler für einen Anfänger vorprogrammiert. Danke dir!

  15. Hallo, Daniela,

    danke für deinen Blog. Leider geht es bei mir nicht so einfach; denn ich habe ein gekauftes Theme (Blue Diamond), aber keinerlei Belege mehr (die Seite hat vor 1,5 Jahren meine Tochter eingerichtet).

    Ich verstehe aber auch überhaupt nicht, warum ich das machen muss. Denn ich habe NICHTS geändert – ich schwöre – und das Them zeigt mir die falsche Schriftfamilie an (statt ABeeZee) eine Times?. Das Merkwürdige: in der „style-custom.css“ wird der Font richtig eingetragen, auch wenn ich Änderungen im Admin-Panel vornehme. ABER das hat gar keine Auswirkungen! Wenn ich die Datei umbenenne, dann nimmt das Theme korrekt die Daten aus der „style.css“.

    Ich hatte vorher das Problem, dass ich mich gar nicht mehr einloggen konnte. FEhlermeldungen in der functions.php. Da war aber nix falsch, erst recht nicht in der ersten Zeile. Die Lösung (durch viel Sucherei): Datei geöffnet, in Ansi codiert, dann klappte alles wieder. Da muss man als Laie aber erst mal drauf kommen. Und ich fühle mich unwohl, wenn ohne mein Zutun solche Sachen passieren.

    Frage: Gibt es eine Datei, die vor den beiden genannten *.css geladen wird und die korrekte Ausführung der „style-custom.css“ verhindert?

    Danke, wenn du dir die Zeit zum Antworten nimmst,

    clemens

  16. Hallo, noch einmal,

    ich habe jetzt den Ursprung des Übels gefunden, aber keine Lösung:

    Wenn ich mir den Quellcode meiner Hauptseite angucke, so steht dort die Zeile:

    und der führt ins Nirvana. Klar, dass dann irgendeine Schrift genommen wird. Ich hab keine Ahnung, wie so was passieren kann – und v.a. wie ich es ändern kann.

    Soweit mein Beitrag zur Lösungsfindung, auf den ich alleine NIEMALS gekommen wäre.

    Danke nochmals, Clemens

  17. Pingback: Wordpress Login geht plötzlich nicht: “Access Denied” | Seiten-Wechsel | Werbewerkstatt - Werbeagentur und Webdesign, Wordpress Expertin

  18. Hallo Daniela,

    noch ein kleiner Hinweis bzw vlt. eher eine Ergänzung:

    Es gibt sehr einfach zu bedienende Backup Plugins, welche die komplette Seite wahlweise bzw. wünschenswerterweise als Zip Datei an allen möglichen Orten speichert (Clouds wie Dropbox, Windows Live oder auch Google Drive etc.

    Natürlich auch wahlweise im Webaccount, wenn genug Webspace vorhanden ist, oder einfach auf die eigene Festplatte.

    Bei einem kleinen Crash bzw, wenn man weiss, an welcher Datei es liegt, zieht man sich die einfach aus der Zip und dann via FTP auf den Server. (Ob man bei Filezilla direkt aus der Zip heraus kopieren kann weiss ich nicht, da ich schon seit über 20 Jahren mit Dateimanagern wie Total Commander arbeite. Ansonsten erst entpacken, dann hochladen.)

    Bei großen Crashs kopiert man halt den Inhalt der Zip Datei auf den Server.

    Wichtig wäre noch zu erwähnen, dass man ein Backup-plugin auswählt, was Zeitgesteuerte Backups machen kann, also je nach Bedarf halt täglich, wöchentlich oder jährlich.

    So braucht man sich nicht selbst um die Backups zu kümmern, denn sind wir mal ehrlich…

    Wer macht händisch jede Woche ein Backup seiner Homepage und Zipt die auch noch… ;)

    LG,

    Chris

  19. Das ist eine gute Anregung! Jedoch, wenn man im backend an der Functions.php rumgefummelt hat, ist es erstmal zu spät
    Liebe Grüße Daniela Müller

  20. Na wie beschrieben lädt man diese dann via FTP von dem letzten ZIP Backup auf den Server hoch, und violá. :)

    LG,

    Chris

  21. Vielen Dank! Ohne Scheiss …vielen, vielen Dank ^^

  22. Ich kann dir nicht genug danken… Du hast mich gerettet!!!!
    DANKE DANKE DANKE!!!!

  23. Oh mein Gott!! Danke, danke, danke!!!
    Hast mir mit diesem Beitrag das Leben (bzw. den Blog) gerettet!!!

    BIG BIG THANKS!!

  24. Vielen lieben Dank für diese ausführliche Anleitung. Ich hatte mich schon auf der Beerdigung meines Blogs gesehen, aber er lebt wieder :) Ganz großen Dank!

  25. Hallo Daniela, vielen Dank für den tollen Artikel! Du hast mich davor gerettet, einfach mal so ganz naiv an meinem functions.php-Problem herumzufummeln. Ich habe die Empfehlung bekommen, wenn ich etwas ändern möchte, das doch einfach dort zu machen, aber jetzt sehe ist, dass das doch wesentlich komplexer ist.
    Herzliche Grüße,
    Johanna

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


Abonniere unseren Newsletter!