Wie Sie ein WordPress-Programmierer werden

Meine struk­tur­lo­sen Tipps wie Sie WordPress Programmierer wer­den können.

  • Sind Sie neu­gie­rig, in die­sen Corona-Zeiten das Programmieren zu lernen?
  • Wollen Sie Ihre Fähigkeiten ver­bes­sern oder Ihr Gehalt aufbessern?
  • Oder sind Sie ein­fach nur neugierig?

Ich wer­de mein Bestes tun, um zu erklä­ren, wie Sie es anpa­cken kön­nen, und es Ihnen leicht genug zu machen.

 

1. Überlegen Sie, WARUM Sie programmieren lernen wollen

Dies ist die wich­tigs­te Entscheidung, die Sie tref­fen müs­sen, und gibt den Ton an, wel­che Methode für Sie die bes­te ist, um pro­gram­mie­ren zu ler­nen. Denn es besteht ein gro­ßer Unterschied zwi­schen einer Person, die weiß, wie man pro­gram­miert, und einer, die ein Programmierer ist.

Wollen Sie ein Programmierer sein?

  • Den gan­zen Tag mit Code arbeiten.
  • Dokumentation, Funktionen, Filter und Hooks nachschlagen.
  • Vorhandenen Code aktua­li­sie­ren und reparieren.

Wollen Sie ein Entwicklungsunternehmen leiten?

  • Mit Kunden und dem Tagesgeschäft zu tun haben.
  • Einige Dinge selbst im Code reparieren.
  • Spezifizieren Sie die Anforderungen für Auftragsprogrammierer, die die­se für Sie aus­füh­ren sollen.

Möchten Sie Ihr eige­nes Unternehmen führen?

  • Konzentrieren Sie sich auf den Umsatz und den Betrieb Ihres Unternehmens.
  • Konzentrieren Sie sich auf Kunden und Produktmanagement.
  • Outsourcen Sie alle Programmier- und Entwicklungsbereiche.

Letztendlich kommt es dar­auf an, was Sie mit Ihren Programmierfähigkeiten tat­säch­lich zu leis­ten geden­ken. Wollen Sie der best­mög­li­che Programmierer sein und mit der Zeit immer mehr Programmierkenntnisse erwer­ben? Oder gera­de so viel, dass Sie ein­fa­che Aufgaben erle­di­gen kön­nen, aber alles ande­re auslagern?

Wer die Antwort auf die­se Fragen nicht kennt, ver­geu­det viel Zeit, weil er sei­ne Prioritäten nicht rich­tig setzt. Ihre Tage wer­den auch von Konflikten geprägt sein, weil Sie nicht wis­sen, wie Sie Ihren Kunden hel­fen kön­nen, oder nicht wis­sen, wie Sie sich selbst hel­fen kön­nen. Hahahah.

Zum Glück weiß ich schon die Antwort für Sie… 😉.

 

2. Planen Sie Ihren Lernprozess im Bereich der Programmierung.

Wenn Sie ein "ech­ter" pro­fes­sio­nel­ler Programmierer wer­den wol­len, besu­chen Sie ein Coding Bootcamp.

  • Es gibt vie­le gute und schlechte.
  • Sie unter­schei­den sich in Qualität, Kosten, Themenbereich, Job-Netzwerk und Job-Garantie.

Ich habe kei­nes die­ser Programme absol­viert, kann also nicht mit Sicherheit über sie spre­chen. Ich kann nur anek­do­ti­sche Ratschläge von Freunden, Mitbewohnern und Arbeitskollegen wei­ter­ge­ben, die sol­che Bootcamps absol­viert haben.

Man muss eine Menge recher­chie­ren, um her­aus­zu­fin­den, wel­ches das rich­ti­ge für einen ist. Bei man­chen kann man bes­ser ler­nen, und man bekommt viel Unterstützung. Einige sind mehr spe­zia­li­siert als ande­re. Was Sie davon haben, hängt davon ab, was Sie dafür tun. Sie soll­ten sich dar­auf ein­stel­len, dass Sie 4–6 Monate lang täg­lich 12–16 Stunden arbei­ten. Viel lesen, ler­nen, üben.

Den meis­ten ernst­haf­ten Programmierern gefällt nicht ein­mal die Idee von WordPress. Es ist ihnen zu lang­wei­lig und zu wenig her­aus­for­dernd. Wirklich talen­tier­te, genia­le Programmierer bevor­zu­gen viel mehr Backend-las­ti­ge Anwendungen mit viel Data Science und was nicht alles. Sie sehen WordPress auf die glei­che Weise, wie vie­le WordPress-Entwickler Wix sehen (zu begrenzt und unflexibel/langweilig).

Vor die­sem Hintergrund sind vie­le Coding-Bootcamps wirk­lich dar­auf aus­ge­legt (oder wer­den zumin­dest so ver­mark­tet), Sie auf die rea­le Welt des Programmierens vor­zu­be­rei­ten… wo Sie mit genia­len Programmierern kon­kur­rie­ren, die für Google arbei­ten. Wo die Besten der Besten unter den super­jun­gen Kids aus der gan­zen Welt ein­flie­gen. Viel mehr moder­ne Sprachen/Bibliotheken.

Das bedeu­tet, dass die meis­ten Coding-Bootcamps Ihnen viel mehr bei­brin­gen, als Sie eigent­lich für WordPress benö­ti­gen, und vie­le leh­ren nicht ein­mal WordPress-spe­zi­fi­sche Programmierung. Sie wer­den viel Zeit damit ver­brin­gen, Dinge zu ler­nen, die Sie fast nie für WordPress ver­wen­den wer­den. Überwältigend und ein Overkill.

Wenn Sie selbst pro­gram­mie­ren ler­nen wol­len, soll­ten Sie einen WordPress-spe­zi­fi­schen Lernweg wählen.

98% von Ihnen, die die­sen Leitfaden lesen, wer­den die­ser Definition ent­spre­chen. Sie wol­len eigent­lich kein Programmierer sein. Sie wol­len nur ler­nen, wie man für WordPress-spe­zi­fi­sche Aufgaben pro­gram­miert. Das ist eigent­lich viel ein­fa­cher und WordPress ist bereits dafür aus­ge­legt. Nicht nur für Endbenutzer, son­dern auch für Entwickler ist es ein­fach, Dinge zu ändern.

Solange Sie die grund­le­gen­den Programmierkonzepte und die Terminologie ver­ste­hen, kön­nen Sie in WordPress gut "pro­gram­mie­ren", ohne ein erfah­re­ner Programmierer zu sein. Die Dokumentation ist ein­fach genug. Das CMS ist so fle­xi­bel auf­ge­baut, dass kom­ple­xe Dinge mit Einstellungen (für Endbenutzer) und Funktionen/Filtern (für Entwickler) erreicht wer­den können.

Sie kön­nen alles, was Sie brau­chen, mit einer Mischung aus grund­le­gen­den Programmierkenntnissen und Anleitungen für bestimm­te Aufgaben erler­nen. Sie soll­ten auch ler­nen, wie ande­re die glei­chen Aufgaben anders erle­di­gen (und war­um). Von dort aus kön­nen Sie mit der Zeit alle Lücken für sich selbst füllen.

Machen Sie sich kei­ne Gedanken über Ihr Alter oder ande­re Zweifel. Ich hat­te immer das Gefühl, dass ich schon zu alt bin, wenn ich mit 25 noch kein Rockstar-Coder bin. Aber die­ses Denken ist albern. Wenn Sie über­haupt neu­gie­rig dar­auf sind, haben Sie viel­leicht mehr natür­li­che Begabung dafür, als Sie denken.

 

3. Wo lernt man die Grundlagen des Programmierens?

Machen Sie sich nicht ver­rückt, weil Sie alles ler­nen und sich mer­ken müs­sen. Sie müs­sen nur genug ler­nen, um:

  • Zu erken­nen, um wel­che Sprache es sich handelt.
  • Zu wis­sen, was die­se Sprache kann.
  • Die Dokumentation die­ser Sprache nachzuschlagen.

Und das war's! Wenn Sie die­se Dinge wis­sen, kön­nen Sie vie­le Dinge pro­gram­mie­ren, ohne genau zu wis­sen oder sich dar­an zu erin­nern, wie man pro­gram­miert. Nehmen Sie zum Beispiel Klempnerarbeiten. Ich bin viel­leicht kein lizen­zier­ter Klempner… aber wenn ich die Terminologie eines U‑Verbindungsrohrs, eines Inbusschlüssels und ande­rer Teile ken­ne, kann ich auf Google/Youtube nach­schla­gen und Dinge selbst repa­rie­ren, indem ich einer Anleitung folge.

Das Programmieren ist sehr ähnlich…

  • Der Kunde hat ein Problem oder möch­te etwas in sei­nem Menü ändern.
  • Ich prü­fe den Menücode, um zu sehen, in wel­cher Sprache er ist.
  • Ahhh, ich sehe, dass es eine Kombination aus CSS für das Styling und JS für die Animation ist.
  • Dann lese ich mir den Code durch, um zu sehen, wel­chen Teil ich bear­bei­ten muss. In eini­gen Fällen ist es nur eine Frage der Änderung von Rot zu Blau oder von 200px zu 100px. In ande­ren Fällen muss ich das Verhalten der Programmierfunktion ändern und wer­de in der Dokumentation nach­schla­gen müs­sen. Das war's!

Wenn Sie so weit gekom­men sind, ist die Arbeit schon sehr ein­fach. Was ist also der schwie­ri­ge Teil der Programmierung? Das Schwierige ist, den rich­ti­gen Teil des Codes zu fin­den, den man bear­bei­ten möch­te. Einfache Dinge sind leicht zu fin­den. Sie kön­nen den Code in 2 Minuten fin­den. Komplexe Dinge brau­chen viel mehr Zeit, man muss sich durch den Code lesen und den Funktionen in vie­len Verzeichnissen und Dateien fol­gen. In vie­len Fällen muss man die Dokumentation lesen, um zu wis­sen, wo etwas ist. Und wenn man dann end­lich am Ziel ist, kann man ent­schei­den, wie man den Code ändern will.

Zu Ihrer Information: Aus die­sem Grund sind Sauberkeit und Organisation ein wich­ti­ger Teil des Programmierens. Gute Programmierer struk­tu­rie­ren die Dinge so, dass sie leicht zu fin­den sind, ohne dass man sich jede Zeile des Codes durch­le­sen muss. Die ande­re Hälfte der Arbeit besteht dar­in, dass Sie genü­gend Erfahrung sam­meln, um Code schnell lesen zu kön­nen. Wenn Sie kei­ne Erfahrung haben, wer­den Sie vie­le Stunden damit ver­brin­gen, vie­le Zeilen zu lesen, ohne zu ver­ste­hen, was jedes ein­zel­ne Bit bewirkt. Wenn Sie erfah­ren sind oder sehr gut wis­sen, wie Entwickler Dinge struk­tu­rie­ren, wer­den Sie in der Lage sein zu erra­ten, wo sich der Code (den Sie bear­bei­ten müs­sen) befin­det, und zwar allein anhand der Verzeichnis- und Dateinamen.

Was machen all die verschiedenen Programmiersprachen?

  • HTML dient der Strukturierung von Seitenlayout und Inhaltshierarchie. Die Abschnitte des Seiteninhalts sind in die Tags <hea­der>, <body> und <foo­ter> ver­packt. Der Seiteninhalt selbst ist in Tags wie <h1>, <p> und <b> ver­packt. Diese Tags tei­len den Browsern mit, wie der Inhalt ange­zeigt wer­den soll, und den Suchmaschinen, wie sie die Bedeutung des Inhalts ein­stu­fen sollen.
  • CSS ist für die Gestaltung der HTML-Ausgabe zustän­dig. Damit kön­nen Sie Farben und Bilder ein­fü­gen und den Inhalt in ver­schie­de­nen Layouts ver­schie­ben. Außerdem kön­nen Sie Inhalte für ver­schie­de­ne Mediengeräte (Desktop, Tablet, Handy) umge­stal­ten bzw. in der Größe anpas­sen. HTML und CSS gel­ten von Natur aus als "sta­tisch", was bedeu­tet, dass sich auf der Website nie etwas ändert.
  • PHP ist für die Ausführung von Funktionen und die Eingabe/Ausgabe von Daten über Datenbanken gedacht. Funktionen ermög­li­chen beding­te Ereignisse wie z.B.: WENN der Benutzer dies tut, dann tue das. Das Eingeben und Ausgeben von Daten ist es, was Websites zu Webanwendungen macht. Es han­delt sich nicht mehr um eine sta­ti­sche Broschüre, son­dern sozu­sa­gen um ein Programm. Man kann sich anmel­den, Daten ändern, die Darstellung im Frontend ver­än­dern und vie­le ande­re Funktionen nut­zen. Die beding­ten Anzeigeeigenschaften machen PHP-Websites "dyna­misch".
  • JAVASCRIPT ermög­licht Live-Interaktivität. Damit kön­nen Sie HTML- und CSS-Inhalte live ändern, ohne die Seite neu laden zu müs­sen. Dadurch wer­den Websites eher zu einer Anwendung als zu einer Website, indem Dinge ani­miert wer­den oder sich Inhalte sofort ändern, wenn sie ange­klickt wer­den, anstatt eine Seite neu zu laden. Dies ist sinn­voll für Dinge, die sich bes­ser als Animation dar­stel­len las­sen (z. B. eine Diashow-Galerie, die Anzahl der Artikel im Einkaufswagen, ein aus­klapp­ba­res Akkordeon oder ein Spiel).

Wenn Sie nach ver­schie­de­nen Programmiersprachen suchen, die Sie erler­nen möch­ten, wer­den Sie oft auf eine Reihe von Fachbegriffen sto­ßen, die Ihnen den Kopf ver­dre­hen. Ich wer­de sie anspre­chen und erklä­ren, ob sie aus WordPress-Sicht nütz­lich sind oder nicht.

  • ReactJS, NodeJS, VueJS, Angular, jQuery – sind belieb­te Javascript-Bibliotheken, ‑Engines, ‑Umgebungen oder ‑Frameworks, die auf Javascript basie­ren. Sie wer­den ver­wen­det, um leis­tungs­star­ke Unternehmensanwendungen (wie eBay) zu erstel­len. Für WordPress müs­sen Sie sie nicht ler­nen, es sei denn, Sie pla­nen, eige­ne Anwendungen zu erstel­len. (Ich schla­ge vor, es erst ein­mal sein zu lassen.)
  • Bootstrap, Tailwind – belieb­te CSS-Frameworks, mit denen Sie Ihre Designarbeit beschleu­ni­gen und/oder eine ein­heit­li­che CSS-Gestaltung für Ihre WordPress-Seiten errei­chen kön­nen. Sie sind nur für erfah­re­ne Entwickler nütz­lich, die vie­le benut­zer­de­fi­nier­te Themes erstel­len, oder für Anfänger, die CSS nicht von Grund auf neu schrei­ben wol­len. Aber als Anfänger müs­sen Sie sie nicht unbe­dingt lernen.
  • Python, Perl, Ruby on Rails (RoR), Laravel, Django – ande­re belieb­te Sprachen, die für die Entwicklung von Unternehmensanwendungen ver­wen­det wer­den, wie z. B. Webhosting-Kontrollfelder und ande­re CMS-Plattformen. Für WordPress brau­chen Sie die­se Sprachen nicht zu lernen.

Im Allgemeinen ist WordPress sehr ein­fach: benö­tigt nur PHP, MYSQL, HTML, CSS, JS. Aus die­sem Grund bli­cken höhe­re Entwickler dar­auf her­ab. PHP wirkt in der Tat bar­ba­risch im Vergleich zu den moder­ne­ren Sprachen/Frameworks. Sicher, WordPress kann mit kom­ple­xe­ren JS (durch React) erwei­tert wer­den, aber das ist ein ganz ande­res Thema und nicht annä­hernd das, was die meis­ten Menschen jemals tun werden.

Grundlegende Programmierkurse zum Erlernen der Syntax.

  • Beginnen Sie mit HTML/CSS bei freecodecamp.org.
  • Sie kön­nen hier auch PHP und Javascript ler­nen, aber ich emp­feh­le es nicht. Ich den­ke, Video-Tutorials sind einfacher.
  • W3schools – eine groß­ar­ti­ge Quelle, um die rich­ti­ge Syntax zu ler­nen und hilf­rei­che Referenzen für grund­le­gen­de Programmiersprachen nachzuschlagen.

Es ist so ein­fach, dass es jeder ler­nen kann. Sehr unter­halt­sam und fes­selnd. Sie kön­nen inner­halb eines Tages (oder sogar einer Stunde) genug ler­nen, um funk­ti­ons­fä­hig zu sein. Machen Sie sich nicht die Mühe, sich all die ver­schie­de­nen Möglichkeiten von HTML und CSS zu mer­ken. Alles, was Sie wirk­lich wis­sen müs­sen, ist:

  • HTML setzt Inhalte in offe­ne und geschlos­se­ne Klammern wie <p> und </p>.
  • CSS for­ma­tiert Dinge ent­spre­chend ihrer Selektorklasse (.hea­der-bar) oder ID (#news­let­ter-side), und legt Stile in die­sem Format an { style: setting; }
  • CSS kann inline im HTML-Code plat­ziert wer­den oder über ein sepa­ra­tes CSS-Stylesheet, das oben im HTML-Code oder in der PHP-Datei für die Initialisierung des Themas (z. B. header.php) ein­ge­fügt wird.
  • Machen Sie sich nicht die Mühe, sich an CSS-Grid oder Flexbox zu wagen. Es gibt groß­ar­ti­ge Referenzen, die Sie nach­schla­gen kön­nen, wenn Sie sie tat­säch­lich brauchen.
  • Kümmern Sie sich auch nicht um CSS-Variablen oder Frameworks. Sie wer­den wahr­schein­lich noch kein CSS von Grund auf schrei­ben, um das zu brau­chen. Und wenn Sie ein­mal so weit sind, wer­den Sie es sowie­so intui­tiv verstehen.

Lernen Sie PHP mit Hilfe von Youtube-Tutorials.

Die meis­ten PHP-Kurse sind viel zu lang und unin­ter­es­sant. Sie ver­su­chen "tea­ching by doing", aber das hilft nicht viel, wenn das, was sie tun, nichts mit WordPress zu tun hat. Ich mag auch kei­ne PHP-Bücher. Sie sind zu sehr wie PHP-Glossare geschrie­ben und las­sen die hilf­rei­chen mensch­li­chen Kommentare ver­mis­sen, die man bei Videokursen erhält.

Alles, was Sie wirk­lich brau­chen, ist ein Überblick über die Möglichkeiten von PHP. Ein kon­zep­tio­nel­les Verständnis von Variablen, Funktionen, Anweisungen und Schleifen. Das war's!

Damit allein kön­nen Sie bereits vie­le manu­el­le CSS-Styling- und PHP-Bedingungsfunktionen aus­füh­ren. Auch gut genug, um Templates und Fork-Plugins zu hacken und eige­ne ACF-Blöcke zu erstellen.

Lernen Sie Javascript aus Youtube-Tutorials.

  • Ich mag auch Dani Krossing für grund­le­gen­de JS-Kurse.
  • Aus Sicht des Endbenutzers ist Javascript ähn­lich wie PHP (mit Funktionen und Variablen) und auch CSS (mit Auswirkungen auf das Styling).

Ich per­sön­lich den­ke, dass man das Erlernen von Javascript als Programmieranfänger aus­las­sen kann. Sie kön­nen Grundkurse bele­gen, um sich einen Überblick zu ver­schaf­fen. Aber in der all­täg­li­chen Programmierarbeit wer­den Sie JS nicht annä­hernd so oft ver­wen­den, es sei denn, Sie erstel­len benut­zer­de­fi­nier­te Plugins. Solange Sie ein all­ge­mei­nes Gefühl dafür haben, wie JS funk­tio­niert, kön­nen Sie bei Bedarf Code-Referenzen nach­schla­gen. Der größ­te Teil Ihrer JS-Nutzung (als Anfänger) ist nur für Live-Styling-Effekte und nicht für anwen­dungs­ar­ti­ge Funktionen.

WordPress-Programmierungs-Tutorials.

  • Die meis­ten von ihnen sind auf die Erstellung eines eige­nen Themes ausgerichtet.
  • Einige ver­wen­den Underscores oder ande­re Starter-Themes.
  • Einige ver­wen­den Child-Themes, die auf einem Framework basie­ren (wie Genesis).

WordPress-Programmiertutorials gehen fast immer davon aus, dass Sie bereits wis­sen, wie man pro­gram­miert, und sich nun mit der Logik des WordPress-Themes ver­traut machen wol­len. Sie brin­gen Ihnen nicht wirk­lich bei, wie man programmiert.

Sie sind gut geeig­net, um zu ler­nen (wie man benut­zer­de­fi­nier­te Themes erstellt) und ein Gefühl für das zu bekom­men, was gelehrt wird, aber Sie müs­sen viel mehr wis­sen. Es gibt vie­le Details und Nuancen bei der Erstellung eines benut­zer­de­fi­nier­ten Themes, die in die­sen Tutorials nicht behan­delt wer­den. Ich emp­feh­le, sich mit die­sen Tutorials die Grundlagen anzu­eig­nen und dann ande­re bestehen­de Themes/Child-Themes auf dem Markt zu stu­die­ren, um einen wirk­li­chen Eindruck von all den ande­ren Dingen zu bekom­men. Lesen Sie den Code sorg­fäl­tig und Sie wer­den sehen, was ich meine.

 

4. Grundlagen der WordPress-Programmierung

Dieser Teil wird Ihnen hel­fen, sich mit WordPress ver­traut zu machen. Ein Programmierer zu sein, reicht nicht aus. Nur weil Sie wis­sen, wie man pro­gram­miert, heißt das noch lan­ge nicht, dass Sie auch wis­sen, wie man Dinge in WordPress macht, oder wie man sie auf die "WordPress-Art" macht.

WordPress-spe­zi­fi­sche Programmierungen, die Sie ken­nen sollten:

  • WordPress-Template-Hierarchie und Template-Hierarchie-Diagramm – Hier erfah­ren Sie, wie Sie Template-Dateien bear­bei­ten und wie Sie Ihre eige­nen Template-Dateien rich­tig benen­nen können.
  • WordPress-Funktionsreferenz – ent­hält alle Funktionen, die im WordPress-Kern ent­hal­ten sind. Nützlich zu wis­sen, so dass Sie ein­fach vor­han­de­ne Funktionen ver­wen­den kön­nen, anstatt Ihre eige­nen von Grund auf neu zu schreiben.
  • WordPress-Code-Referenz – eine gute all­ge­mei­ne Lektüre, um alles über die Funktionen, Klassen, Hooks und Methoden des WordPress-Kerns zu erfahren.
  • Theme-Dokumentation – Lesen Sie die Dokumentation Ihres Themes, um zu erfah­ren, wo wich­ti­ge Dateien abge­legt sind. Auch um zu wis­sen, wel­che Funktionen, Filter und Hooks es bereits hat (nur bei Themes für Entwickler üblich).
  • Lesen Sie alle Dateien Ihres Themes durch – begin­nen Sie mit index.php. Sie wird ent­we­der Funktionen oder ande­re Dateien auf­ru­fen. Wenn sie eine Funktion auf­ruft, sehen Sie in der Funktion nach, was sie tut und wel­che Datei sie auf­ruft. Wenn sie eine Datei auf­ruft, navi­gie­ren Sie zu die­ser Datei und sehen Sie nach, wel­che Funktionen und Dateien sie eben­falls auf­ruft. Machen Sie dies so lan­ge, bis Sie alle Dateien gele­sen haben. Sie wer­den dann genau ver­ste­hen, was jede Datei tut.

Wenn Sie nicht der Typ sind, der zum Spaß Wörterbücher liest, dann machen Sie sich nicht die Mühe, all die­se Dateien zu lesen und ler­nen Sie ein­fach nach und nach. Wenn Sie genug Kunden haben, ler­nen Sie das alles von selbst. Sie wer­den über­rascht sein, wie viel Sie im Vorbeigehen aufnehmen.

Tipps zu Programmier-Tools und Workflow.

Auswahl des rich­ti­gen Code-Editors (auch "IDE" genannt). Sie haben 3 Möglichkeiten:

  • Visual Studio Code – wäh­len Sie die­sen, wenn Sie nicht wis­sen, was Sie tun und Anleitungen fol­gen. Die meis­ten Leute benut­zen das.
  • Atom – schön und ein­fach. Saubere Atmosphäre und hübsch.
  • Sublime – kos­tet Geld, ist aber groß­ar­tig und leicht­ge­wich­tig. Hardcode-Entwickler mögen das.

Andere Workflow-Tools:

  • GitHub – machen Sie sich damit ver­traut. Es hat 2 Hauptfunktionen… zum einen kön­nen Sie Code in ein zen­tra­les Repository stel­len, der dann dort ver­wal­tet wer­den kann (Änderungen ver­fol­gen) und zu dem auch ande­re Teammitglieder oder Partner bei­tra­gen können.
  • Local von FlyWheel – fan­tas­ti­sche, super­ein­fa­che Desktop-Anwendung, um WordPress lokal auf Ihrem Computer zu betrei­ben. Bietet auch eine exter­ne URL, wenn Sie sie mit Kunden tei­len möchten.
  • hosts.cx – ermög­licht es Ihnen, zu Testzwecken eine belie­bi­ge Domain auf eine belie­bi­ge IP-Adresse zu verweisen.

5. Allgemeine Übungen für WordPress-Anfänger.

HTML-Inhalte bear­bei­ten (oder korrigieren).

  • Ändern Sie hart kodier­ten Text in Template-Dateien.
  • CSS-Selektoren in Template-Dateien ändern oder hinzufügen.
  • HTML-Inhalte in Beiträgen oder Widgets bearbeiten.

Mit HTML-Kenntnissen kön­nen Sie begin­nen, den Quellcode zu lesen (kli­cken Sie mit der rech­ten Maustaste auf eine belie­bi­ge Webseite und wäh­len Sie "Quelltext anzei­gen") und zu ver­ste­hen, wie sich der Inhalt und das Styling des Frontends im Backend-Code wider­spie­geln. Sie bekom­men eine Vorstellung davon, wel­che Dinge an wel­cher Stelle ange­passt wer­den müssen.

Sie kön­nen HTML-Inhalte im WordPress-Backend oder in den php-Dateien des Themas bearbeiten.

CSS-Styling ändern.

  • Ändern Sie das Styling für Text, Bilder oder Inhaltscontainer.
  • Ändern Sie Farben, Größen oder ande­re visu­el­le Effekte.
  • Ändern Sie das Animationsverhalten bei Mausverschiebung.
  • Hinzufügen von benut­zer­de­fi­nier­ten CSS-Selektoren oder IDs in Gutenberg-Blöcken.

Wenn Sie über CSS-Kenntnisse ver­fü­gen, kön­nen Sie mit ver­schie­de­nen CSS-Styling-Möglichkeiten spie­len. Klicken Sie mit der rech­ten Maustaste auf ein belie­bi­ges Element auf der Webseite und kli­cken Sie auf "Untersuchen", und ver­su­chen Sie dann, die CSS-Optionen zu ändern, um die Dinge vor­über­ge­hend neu zu gestal­ten. Wenn Ihnen die Änderungen gefal­len, über­tra­gen Sie sie ein­fach offi­zi­ell in Ihr Theme-Stylesheet oder in den Customizer > Zusätzliches CSS, um sie dau­er­haft zu machen.

Kopieren und Einfügen von PHP-Schnipseln in die Datei functions.php.

  • Nützlich für Codeschnipsel, die die Funktionalität des WordPress-Cores, des Themes oder des Plugins ändern.
  • Erstellen ein­fa­cher Plugins, anstatt sich auf die functions.php-Schnipsel zu beschränken.

Alle WordPress-Funktionen wer­den über die functions.php-Datei in Ihrem Theme-Verzeichnis oder über ein WordPress-Plugin aus­ge­führt. Der glei­che Code funk­tio­niert an bei­den Stellen. Der ein­zi­ge Unterschied besteht dar­in, dass es bei umfang­rei­chem Funktionscode wahr­schein­lich bes­ser ist, die­sen über ein sepa­ra­tes Plugin hin­zu­zu­fü­gen (auf die­se Weise ist es viel über­sicht­li­cher und "Best Practice"). Das ande­re Problem ist, dass alles, was Sie in Ihre functions.php ein­fü­gen, ver­lo­ren geht, wenn Sie Ihr Theme wechseln.

Es erfor­dert zwar kei­ne PHP-Kenntnisse, um Schnipsel in die Datei functions.php zu kopie­ren, aber das Wissen hilft Ihnen zu ver­ste­hen, was die ein­zel­nen Schnipsel bewir­ken und sicher­zu­stel­len, dass sie nicht mit­ein­an­der in Konflikt gera­ten. Es ist auch nütz­lich, um Ordnung zu hal­ten und zu wis­sen, wann Sie unbe­nutz­te Snippets löschen können.

Änderungen an Ihrem WordPress-Theme vornehmen.

  • Änderungen am Inhalt – öff­nen Sie die php-Datei und fügen Sie einen belie­bi­gen Teil hin­zu, löschen Sie ihn oder ändern Sie ihn.
  • Bearbeitung von Widgets – Hinzufügen oder Entfernen von Widget-Positionen. Vergessen Sie nicht, das Styling anzupassen.
  • Bearbeiten von Seiten Templates – Bearbeiten Sie bestehen­de Vorlagen oder fügen Sie neue hin­zu, die neue Layouts und ein neu­es Styling ent­hal­ten. Auch nütz­lich, wenn Sie benut­zer­de­fi­nier­te Seitenvorlagen für Ihre benut­zer­de­fi­nier­ten Beitragstypen erstel­len müssen.

Die größ­te Herausforderung besteht hier dar­in, her­aus­zu­fin­den, wel­che Dateien Sie bear­bei­ten müs­sen. Das geht am ein­fachs­ten, wenn Sie die Dokumentation Ihres Themes lesen. Wenn das nicht hilft, kön­nen Sie eines die­ser Plugins ver­wen­den, die Ihnen zei­gen, wel­che Template-Dateien ver­wen­det wer­den und wel­che Hooks ver­wen­det wer­den.

Erstellen Sie einen benutzerdefinierten Beitragstyp / Custom Post Type.

  • Ich per­sön­lich bevor­zu­ge ACF Pro und bin damit am bes­ten ver­traut. Große Benutzergruppe mit vie­len ange­se­he­nen Entwicklern, viel offi­zi­el­le und inof­fi­zi­el­le Dokumentation, groß­ar­ti­ge Leistung.
  • Ich mag auch die Ausstrahlung von Meta Box. Es ist viel güns­ti­ger als ACF Pro und erle­digt eini­ge Aufgaben einfacher.
  • Toolset und ande­re sind sicher auch gut, aber ich ken­ne mich mit ihnen kaum aus.

Sobald Sie Ihre eige­nen CPTs erstel­len, befin­den Sie sich prak­tisch schon im Bereich der Erstellung Ihrer eige­nen Plugins. Schließlich bie­ten Plugins ent­we­der benut­zer­de­fi­nier­te Inhalte, benut­zer­de­fi­nier­tes Design oder benut­zer­de­fi­nier­te Funktionen.

Die Erstellung eines Post Types erfor­dert die Registrierung des Post Types, ent­we­der über die functions.php des Themes oder als sepa­ra­tes Plugin, dann die Erstellung der Frontend Template Datei und natür­lich das dazu­ge­hö­ri­ge CSS. Folgen Sie ein­fach den Anleitungen und Sie wer­den es bald herausfinden!

Erstellen Sie einen benut­zer­de­fi­nier­ten Gutenberg-Block.

  • Ähnlich wie bei der Erstellung eines CPTs.
  • Registrieren Sie Ihren Gutenberg-Block und erstel­len Sie dann die Template-Datei und die dazu­ge­hö­ri­gen CSS-Stile.
  • Es gibt ein paar zusätz­li­che Details, wie z. B. die Entscheidung, wie Ihr Gutenberg-Block im Backend ange­zeigt wer­den soll: Name, Symbol, Ausrichtung und Breitenoptionen.
  • Es gibt vie­le hilf­rei­che Anleitungen.

Dies zu ler­nen ist sehr nütz­lich, um Kunden von auf­ge­bläh­ten Pagebuildern zu ent­wöh­nen. Es ist auch nütz­lich, um Ihre eige­nen klei­nen benut­zer­de­fi­nier­ten Inhaltsblöcke zu erstel­len, die bes­ser zu Ihren Bedürfnissen passen.

Verwendung von Themes und Plugins in Entwicklerqualität.

Zu die­sem Zeitpunkt soll­ten Sie gut genug sein, um Entwickler-Plugins zu ver­wen­den, die eher schlank und unge­stylt auf­ge­baut sind und Ihnen viel Flexibilität bei ihrer Verwendung und Gestaltung bieten.

Entwicklerfreundliche Themes bie­ten auch eine Menge Flexibilität, die Themes für Einsteiger nicht bie­ten. Vor allem die Möglichkeit, den all­ge­mei­nen Stil der Vorlage schnell zu bear­bei­ten und dann je nach Bedarf zusätz­li­che Elemente hin­zu­zu­fü­gen und zu fil­tern. Der ande­re gro­ße Vorteil (und mög­li­cher­wei­se der wah­re Vorteil) ist, dass Sie jetzt in einer Gemeinschaft mit weit­aus erfah­re­ne­ren Entwicklern sind und ein bes­se­res Gespür dafür haben, wie Profis Dinge tun.

Ich hof­fe, dass Sie bei jeder Gelegenheit, die sich Ihnen bie­tet, die Dinge auf die "Neuling"- oder die "Entwickler"-Weise tun, von nun an letz­te­re wäh­len. Lassen Sie sich die Gelegenheit zum Lernen nicht entgehen 😉 .

Forking von Themes und Plugins.

Nehmen Sie bereits exis­tie­ren­des Material und bear­bei­ten Sie es nach Lust und Laune. Entfernen Sie alles, was Sie nicht wol­len, und fügen Sie Dinge hin­zu, die Sie mögen. Benennen Sie Dinge in Ihren eige­nen Firmennamen um oder ver­se­hen Sie sie mit einem Whitelabel.

Erstellen Sie Ihr eigenes Theme.

Bitte sei­en Sie vor­sich­tig. Verwandeln Sie Ihre Kunden-Website nicht in die­se Frankenstein-Website, die nie aktua­li­siert wird. Underscores ist groß­ar­tig, um zu ler­nen, aber ich habe nur sehr sel­ten eine sau­be­re, maß­ge­schnei­der­te Seite gese­hen. Meistens han­delt es sich um einen unor­dent­li­chen Haufen unge­nutz­ten Codes und ein Rattennest aus einer functions.php-Datei.

Der bes­te Weg, ein eige­nes Theme zu erstel­len, ist, ein Framework (Genesis oder GeneratePress) zu ver­wen­den und dann mit einem Child-Theme zu begin­nen, das ähn­lich aus­sieht wie das, was Sie wol­len. Dann hacken Sie vor­sich­tig von dort aus. Sie kön­nen sicher­lich ler­nen, wie man von Grund auf zu schrei­ben, aber Sie wer­den vie­le Stunden bla­sen sich mit typi­schen Boilerplate-Code ver­traut zu machen. Ich wür­de sagen, lesen Sie sich die Arbeit von 2–3 ver­schie­de­nen Entwicklern von Child-Themes durch, um ein Gefühl dafür zu bekom­men, was Sie brau­chen und wo Sie Dinge plat­zie­ren soll­ten. Viel Glück…es ist eine Menge Arbeit!

 

5. Was ist das Schwierigste am Programmieren lernen?

Von den Informationen über­wäl­tigt zu werden.

Der größ­te Stress für mich war das Gefühl, dass ich mir alles mer­ken muss­te, weil ich sonst das, was ich gera­de gelernt hat­te, für immer ver­lie­ren wür­de. Das war auch der Grund, war­um ich im Laufe der Jahre so oft auf­ge­hört und neu ange­fan­gen habe.

Wenn ich mei­nem jün­ge­ren Ich Tipps geben könn­te, wür­de ich mich damit trös­ten, dass ich sagen wür­de: "Alles, was du ler­nen musst, ist, wie man Code liest. Mach dir kei­ne Gedanken über das Schreiben." Wenn man weiß, wie man Code liest und eine all­ge­mei­ne Vorstellung davon hat, was die ein­zel­nen Bits bewir­ken, ist das schon die hal­be Arbeit!

Bei den meis­ten Problemen, die eine Codekorrektur erfor­dern, ver­bringt man 50–75 % der Zeit damit, die rich­ti­ge Datei und die rich­ti­ge Codezeile zu fin­den, und die rest­li­che Zeit damit, sie zu schrei­ben und zu tes­ten. Selbst wenn Sie nicht gut genug sind, um den Code neu zu schrei­ben, spart die ein­fa­che Weitergabe die­ses Teils an Ihren Entwickler des­sen Zeit (und Ihre Kosten) enorm!

Keinen Mentor zu haben.

Unabhängig davon, wie gut Sie selbst pro­gram­mie­ren kön­nen, brau­chen Sie einen Mentor oder jeman­den, an den Sie Ihre Fragen wei­ter­ge­ben kön­nen. Natürlich gibt es Programmierforen, Stack Exchange und so wei­ter, aber es hilft wirk­lich viel mehr, einen befreun­de­ten Entwickler zu haben, der auf der glei­chen Plattform arbei­tet, weiß, was man tut, und der einem bes­se­re Referenzen geben kann.

Ich wür­de sogar sagen, dass man bei bestimm­ten Aspekten der Programmierung über­haupt nicht selbst Hand anle­gen soll­te… denn dadurch lernt man vie­le fal­sche Vorgehensweisen und prägt sich die­se ver­se­hent­lich ein. Besser ist es, sich direkt an die bes­te Lösung zu machen, damit der über­füll­te Kopf kei­ne Chance hat, sich etwas ande­res einzuprägen!

Unterscheidung zwi­schen PHP-Funktionen und WordPress-Funktionen.

Sie wer­den oft in Momente gera­ten, in denen Sie vie­le Möglichkeiten sehen, die glei­che Aufgabe zu erle­di­gen. Die inte­grier­te PHP-Methode, die WordPress-Methode oder sogar eine Methode, die von Ihrem Theme zur Verfügung gestellt wird. Im Idealfall wür­de ich nur die WordPress- oder Theme-Option wählen.

Zu wis­sen, dass es vie­le Methoden gibt, hilft Ihnen auch zu ver­ste­hen, war­um vie­le Anleitungen nicht genau für Ihre Website geeig­net sind.

Lernen, wie man nach "Best Practices" programmiert.

Die meis­ten Leute sind viel­leicht ver­sucht zu sagen, dass das Merken von Syntax oder Befehlen der schwie­rigs­te Teil ist, aber das ist wirk­lich nur für Anfänger. Mit Fehlerprotokollen kön­nen Sie die­se Probleme leicht lösen. Am schwie­rigs­ten war es für mich, zu ver­ste­hen, wie die Dinge codiert wer­den sollten.

Wie man so schön sagt, ist die gro­ße Stärke von PHP auch sei­ne Schwäche. Es funk­tio­niert auch, wenn man nicht per­fekt pro­gram­miert. Das lässt viel Spielraum für unor­dent­li­chen Code, der eines Tages kaputt geht, wenn man die 50.000ste (Stroh-)Zeile hin­zu­ge­fügt hat.

Aber was bedeu­tet es, nach "Best Practices" zu pro­gram­mie­ren? Es bedeu­tet, dass Sie so pro­gram­mie­ren, wie es für ande­re WordPress-Programmierer logisch ist. Es muss für ande­re Leute leicht zu ver­ste­hen und zu kor­ri­gie­ren sein. Es muss ein all­ge­mei­ner Standard von Programmierprinzipien befolgt wer­den, aber auch eine belieb­te Methode, Dinge zu platzieren.

Stellen Sie sich vor, Sie wür­den ein Problem mit der Klimaanlage in Ihrem Haus behe­ben. Sie wür­den erwar­ten, dass sich die Luftkanäle an der Decke befin­den und der Zähler irgend­wo auf der Rückseite des Hauses. Es wäre jedoch ärger­lich und zeit­auf­wän­dig, wenn sich die Luftkanäle im Keller und der Kondensator im Vorgarten des Nachbarn befin­den wür­den. Sicherlich funk­tio­niert es trotz­dem, aber es dau­ert län­ger, es zu repa­rie­ren, wenn man nicht der ursprüng­li­che Installateur mit genau­en Details war.

Wie kön­nen wir also ler­nen, wie man für ande­re programmiert?

Lernen Sie, andere (bessere) WordPress-Programmierer zu kopieren.

Wenn Sie nicht wis­sen, was Sie tun, kön­nen Sie damit begin­nen, zu ler­nen, wie man ande­re Programmierer kopiert. Lesen Sie sich den Code ver­schie­de­ner Programmierer durch und kopie­ren Sie den, der Ihnen am bes­ten gefällt. Sie wer­den dazu nei­gen, den Code in bestimm­ten Verzeichnissen, Dateien und Namenssystemen zu orga­ni­sie­ren. Guter Code ist orga­ni­siert, leicht zu ver­ste­hen und macht Sinn. Sauber und effizient!

Mit der Zeit wer­den Sie Ihren Stil mehr­mals anpas­sen, da Ihre Fähigkeiten mit jedem Projekt wach­sen. Sie ler­nen, war­um bestimm­te Funktionen und Template-Dateien auf eine bestimm­te Weise orga­ni­siert wer­den soll­ten. Sie wer­den ler­nen, wel­che Teile des Codes in eine eige­ne Datei aus­ge­la­gert wer­den soll­ten (damit sie spä­ter leich­ter zu aktua­li­sie­ren sind) und wel­che Teile in eine lan­ge Datei gewor­fen wer­den kön­nen (und nur sel­ten aktua­li­siert werden).

Es wird nicht lan­ge dau­ern, bis Sie erken­nen, wel­che Programmierer die Dinge rich­tig machen und wel­che nicht, so dass Sie sich fra­gen: "WTF? Kennt sich die­ser Programmierer über­haupt mit WordPress aus?!" Sie wer­den auch eini­ge, wie ich sie nen­ne, "über­vor­sich­ti­ge" Programmierer sehen, die Dinge unnö­ti­ger­wei­se in vie­le Dateien auf­tei­len. Hahaha.

Wie auch immer, mit der Zeit wer­den Sie ein bes­se­res Gefühl dafür ent­wi­ckeln, wie pro­fes­sio­nel­le WordPress-Programmierer arbei­ten. Und kannst ihren Stil in dei­ner Arbeit wider­spie­geln. Sie wis­sen genau, wel­ches Verzeichnis und wel­ches Code-Layout Sie ver­wen­den müs­sen und wo Sie die Freiheit haben, die Dinge auf Ihre Weise zu organisieren.

 

6. Wie man als Anfänger in der Programmierung weiter kommt

Anfänger (BASIC) vs. Fortgeschrittene (INTERMEDIATE) vs. Profis (ADVANCED) Programmierer:

Anfängerprogrammierer sind für mich alle, die ein­fach nur pro­gram­mie­ren, um bereits vor­han­de­nen Code zu repa­rie­ren oder zu bear­bei­ten. Sie sind gut dar­in, schnel­le CSS-Korrekturen vor­zu­neh­men, ein­fa­che PHP-Funktionen zu regis­trie­ren und Entwickleranleitungen zu befol­gen. Ihre größ­te Herausforderung ist die Geschwindigkeit. Sie kön­nen die meis­ten Dinge tun, aber kom­ple­xe Aufgaben dau­ern län­ger, da sie mehr Zeit damit ver­brin­gen, Funktionen/Hooks zu recher­chie­ren, die sie sich noch nicht ver­in­ner­licht haben.

Fortgeschrittene Programmierer sind für mich die­je­ni­gen, die Dinge (Themes und Plugins) zu 100% von Grund auf pro­gram­mie­ren kön­nen. Und das auch oft genug tun. Da ich nicht alles von Grund auf neu pro­gram­mie­re – das ist mir zu zeit­auf­wän­dig -, betrach­te ich mich auch nicht als fort­ge­schrit­te­nen Programmierer. Ihre größ­ten Herausforderungen sind, vor­sich­tig zu sein (Funktionen ein­zu­schrän­ken, um war­tungs­in­ten­si­ven Code zu ver­mei­den) und über­mä­ßig kor­rekt zu sein (zu viel Zeit zu ver­schwen­den, um Dinge so rich­tig zu machen).

Fortgeschrittene Programmierer sind für mich die­je­ni­gen, die kom­mer­zi­el­le Themes und Plugins ent­wi­ckeln. Die bes­ten von ihnen sind über die "ein­fa­che" Kundenarbeit hin­aus­ge­wach­sen und betrei­ben eher ein kom­mer­zi­el­les Softwareunternehmen oder eine Dienstleistung. Sie sind sehr gut im Programmieren und kön­nen so gut wie alles machen. Ihre größ­te Herausforderung ist es, so zu pro­gram­mie­ren, dass ande­re Programmierer (vor allem fort­ge­schrit­te­ne Programmierer) es ver­ste­hen kön­nen, und eine Strategie zu ent­wi­ckeln, damit künf­ti­ger Code leicht in das System passt (und nicht viel umge­schrie­ben wer­den muss).

Hören Sie nie auf, den Code ande­rer Leute zu lesen:

Es macht mir beson­ders viel Spaß, den Code ande­rer Leute zu stu­die­ren. Es ist ein biss­chen so, als wür­de man die per­sön­li­che Poesie von jeman­dem sehen und die klei­nen Nuancen erken­nen. Die Hälfte der Zeit sehe ich Dinge, bei denen ich den­ke: "Igitt! Das wür­de ich ganz anders machen!" und die ande­re Hälfte der Zeit sehe ich Dinge, bei denen ich den­ke: "Wow! Daran habe ich nie gedacht!"

Ich ler­ne immer so viel, wenn ich auch nur die kleins­ten und ein­fachs­ten Codestücke sehe. Es gibt immer mehr zu lernen.

Erforschen Sie kom­ple­xe­re WordPress-Aufgaben:

  • Mehr JS-Sachen – ver­su­chen Sie, mehr von Ihrem eige­nen JS zu schrei­ben, anstatt sich auf Bibliotheken zu verlassen.
  • RestAPI – Erstellen Sie dyna­mi­sche Anwendungsseiten.
  • React und Headless-Projekte – jetzt kom­men wir der Sache schon näher.

Der ein­fachs­te Weg, wie ich es aus­drü­cken könn­te, ist, Lösungen zu schaf­fen, die es nicht gibt. Geben Sie nicht ein­fach auf, wenn etwas in der Dokumentation nicht vor­han­den ist. Versuchen Sie, einen eige­nen ele­gan­ten Weg zu fin­den, Dinge zu ändern. Eine gute Programmierung besteht nicht nur aus Korrektheit, son­dern auch aus Cleverness!

Suchen Sie sich einen Job als Programmierer und arbei­ten Sie mit ande­ren Programmierern zusammen.

Das öff­net Ihnen die Tür zu grö­ße­ren und kom­ple­xe­ren Projekten, ohne den Stress, allein dafür ver­ant­wort­lich zu sein. Sie wer­den auch mit talen­tier­te­ren Programmierern zusam­men­ar­bei­ten. Sie wer­den mit zeit­spa­ren­de­ren Tools und Arbeitsabläufen ver­traut gemacht. Sie wer­den mit mehr Sprachen und Bibliotheken kon­fron­tiert. Ich kann mir kei­nen schnel­le­ren Weg zur Verbesserung vorstellen.

 

 

Über Ferkan Saglamsoy

Über Ferkan Saglamsoy

Ein Allrounder – Web-Strategie, Blogging, Sys-Admin, Tech-Unternehmer, Designer, Kreativkopf, Marketingspezialist. Über 10 Jahre WordPress Design, Entwicklung, Hosting, Geschwindigkeitsoptimierung, Produktberater, Marketing, Monetarisierung. Das alles mache ich.

Über Ferkan Saglamsoy

Über Ferkan Saglamsoy

Ein Allrounder – Web-Strategie, Blogging, Sys-Admin, Tech-Unternehmer, Designer, Kreativkopf, Marketingspezialist. Über 10 Jahre WordPress Design, Entwicklung, Hosting, Geschwindigkeitsoptimierung, Produktberater, Marketing, Monetarisierung. Das alles mache ich.

Schreiben Sie einen Kommentar