Ich kann PHP, habe aber kaum Ahnung von WordPress. Wie nehme ich Änderungen am besten vor?

Ich möchte gerne meine Website ein wenig anpassen und kann eigentlich in PHP programmieren, aber Begriffe wie functions.php, Child Theme sind mir bisher fremd. Wie geht man da am besten vor?

Als Anwender sollst du dir zur Gestaltung deiner Website ein hübsches Theme aussuchen und über Design > Customizer im Rahmen der vom Entwickler vorgegebenen Einstellungsoptionen an deine Bedürfnisse anpassen. Zusätzliche Funktionalität – z.B. ein Kontaktformular – kannst du dann über kostenfrei erhältliche Plugins ergänzen, alles ohne eine Zeile zu programmieren.

Für Anwender, denen die Einstellungsoptionen im Customizer nicht reichen, gibt es verschiedene Wege, doch zu einer mehr an die eigenen Bedürfnisse angepassten Darstellung zu kommen. Der Übergang zum Programmieren ist dann fließend:

  • „Vielzweck-Themes“ (Multipurpose-Themes) stellen dir deutlich mehr Einstellungsoptionen für alle möglichen Darstellungselemente zur Verfügung. Nachtteil ist, dass bei jedem neuen Abruf einer Website dutzende Optionen erst abgerufen und dann gerendert werden müssen, was sich negativ auf die Performance auswirkt, aber dafür eben auch mehr Gestaltungsmöglichkeiten bietet.
  • Page Builder erlauben komplexere Gestaltung, sind aber als Ergänzung zur Grundfunktionalität von WordPress häufig ebenfalls schlechter für die Performance und haben unter Umständen den negativen Effekt, dass sie nicht mit anderen Page Buildern kompatibel sind und beim Deaktivieren des Page Builder Plugins auch die Inhalte nicht mehr aufbereitet werden können. Der neue Blockeditor, der mit WordPress 5.0 eingeführt wurde, soll Abhilfe schaffen, indem er einerseits komplexere Layouts ermöglicht, andererseits als Grundfunktionalität zur Verfügung steht und damit der „Aussperr-Effekt“ wegfällt.
  • Im Customizer kannst du Zusätzliches CSS eingeben und so die Gestaltung eines Themes von kleinen Details (einer Akzentfarbe hier, einem Abstand dort) bis zu recht umfangreichen Änderungen beeinflussen. Da die CSS-Regeln über den Customizer in der Datenbank gespeichert werden, gehen sie bei Updates des Themes nicht verloren.
  • Du kannst natürlich auch dein eigenes Theme entwickeln. Allerdings ist, wenn du semantisch korrektes HTML verwenden, auf allen gängigen Browsern nutzbares CSS verwenden, die Webseiten barrierefrei gestalten möchtest, alle Vorgaben für die Entwicklung von WordPress-Themes einhalten möchtest, etc. die Entwicklung eines Themes so komplex, dass die Entwicklung vermutlich recht aufwändig (und damit teuer) wird. Meistens ist es sinnvoller, auf bereits vorhandene Themes aufzusetzen und ergänzend Templates mit abweichender Programmierung einzusetzen. Das heißt dann …
  • Child Themes. Wie Child Themes erstellt werden, wurde bereits so häufig ausführlichst beschrieben, dass du mit einer einfachen Abfrage in der Suchmaschine deiner Wahl auf Anhieb eine hübsche Anleitung finden solltest. Child Themes erhalten nur ergänzende/abweichende Templates und werden zusätzlich zur Vorgabe, dem so genannten Parent Theme (einem normalen WordPress-Theme, auf das sich das Child Theme als Vorlage bezieht) gespeichert. Durch dieses Konzept werden Änderungen bei Updates des Parent Themes nicht überschrieben. Möchtest du also z.B. eine eigene Funktion zur Gestaltung deiner Website hinzufügen, kannst du ein Child Theme anlegen und dort in dem für Funktionen vorgesehenen Template functions.php weitere Funktionen anhängen.
  • Sollte es sich hingegen um eine ergänzende Funktionalität handeln, hat die im Theme nichts verloren – die Funktionalität geht sonst verloren, wenn du die Gestaltung ändern möchtest und dazu ein andere Theme auswählst. Ergänzende Funktionalität gehört in ein eigenes Plugin. Die grundlegenden Voraussetzungen zur Erstellung eines eigenen Plugins wurden ebenfalls im Web sehr gut dokumentiert. Außerdem steht dir auch hierfür unter https://developer.wordpress.org/plugins/ ein eigenes Handbuch zur Verfügung.
  • Manchmal möchte man nur eine winzig kleine Funktion hinzufügen und das Erstellen eines Child Themes oder eigenen Plugins erscheint unverhältnismäßig. In diesem Fall empfehle ich gerne das Plugin Code Snippets, mit dem du rasch kleine „Code-Schnipsel“ (so die deutsche Übersetzung) hinzufügen und wahlweise für Front- und/oder Backend aktivieren kannst.

So viele Möglichkeiten …

Wenn du bereits Erfahrungen mit PHP hast, dich aber bisher mit der Programmierung in WordPress wenig auskennst, möchte ich dir gerne das Buch „WordPress für Entwickler – Crashkurs“ von David Remer (ISBN-13 978-3749429080) empfehlen. David ist ein sehr erfahrener Programmierer, super netter Kerl und jemand, der knapp und doch sehr anschaulich die mitunter komplexen Programmier-Eigenheiten von WordPress erklären kann. Einen besseren, günstigeren und schnelleren Einstieg kenne ich im Moment nicht.