WordPress: vom Einstieg bis zur Entwicklung · Modul 2: PHP-Grundlagen für WordPress

Lektion 3 von 5Übung 15 Min.

Funktionen und Arrays

Lernziele
  • eigene Funktionen mit Parametern, Rückgabewerten und Typen schreiben
  • Namenskonflikte in WordPress mit Präfixen vermeiden
  • indizierte und assoziative Arrays nutzen
  • Arrays mit den wichtigsten Array-Funktionen verarbeiten

Funktionen und Arrays sind das tägliche Handwerkszeug in WordPress. Fast jede Aufgabe – eine Liste von Kursen aufbereiten, einen Preis berechnen, Einstellungen speichern, eine Abfrage an die Datenbank schicken – besteht aus Funktionen, die Arrays entgegennehmen und zurückgeben. WordPress selbst stellt tausende Funktionen bereit, und nahezu jede Einstellung wird als Array übergeben, etwa die Optionen beim Registrieren eines Inhaltstyps. Diese Lektion zeigt, wie Sie eigene Funktionen schreiben, Arrays aufbauen und mit den wichtigsten Array-Funktionen arbeiten.

1. Funktionen

Definition 3.1
Funktion
Ein benannter Codeblock, der eine Aufgabe erledigt. Er kann Eingaben (Parameter) entgegennehmen und ein Ergebnis zurückgeben (Rückgabewert). Funktionen machen Code wiederverwendbar, lesbarer und testbar.
DurchlaufEine Funktion mit Parametern und Rückgabe
preis.php
1<?php
2function studio_kurspreis( float $grundpreis, bool $mitglied = false ): float {
3 if ( $mitglied ) {
4 return round( $grundpreis * 0.8, 2 );
5 }
6 return $grundpreis;
7}
8
9echo studio_kurspreis( 19.90 );
10echo ' / ';
11echo studio_kurspreis( 19.90, true );

Variablen

Ausgabe

 
Schritt 1/5: Die Funktion bekommt zwei Parameter: einen Preis (float) und optional, ob jemand Mitglied ist (bool, Standard false). Nach dem Doppelpunkt steht der Rückgabetyp.

Zwei Regeln sind in WordPress besonders wichtig. Erstens: Funktionsnamen müssen eindeutig sein, denn alle Plugins und Themes teilen sich einen gemeinsamen Namensraum. Heißt eine Funktion in zwei Plugins gleich, bricht die Website mit einem Fehler ab. Deshalb bekommen Funktionen ein eindeutiges Präfix, etwa „studio_“, oder liegen in einem eigenen Namespace, wie die nächste Lektion zeigt. Zweitens: Typen für Parameter und Rückgabewerte machen Code verständlicher und fangen Fehler früh ab.

ÜbungGut oder schlecht gestaltete Funktion?
  1. function kurs_preis( int $kurs_id ): float { … }

  2. Eine Funktion namens get_data() in einem Plugin

  3. Eine Funktion, die Preis berechnet, E-Mail verschickt und HTML ausgibt

  4. function studio_freie_plaetze( int $kurs_id ): int

0 von 4 eingeschätzt

2. Arrays

Ein Array fasst mehrere Werte zusammen. Es gibt zwei Formen: indizierte Arrays, deren Elemente über Zahlen ab 0 angesprochen werden, und assoziative Arrays, deren Elemente über Namen angesprochen werden. In WordPress sind assoziative Arrays allgegenwärtig, weil sie Einstellungen lesbar machen. Arrays lassen sich beliebig verschachteln, etwa eine Liste von Kursen, die jeweils Titel, Plätze und Preis enthalten.

Arrays in PHP
1<?php
2$tage = [ 'Mo', 'Mi', 'Fr' ]; // indiziert: $tage[0] ist 'Mo'
3
4$kurs = [ // assoziativ
5 'titel' => 'Yoga am Morgen',
6 'frei' => 3,
7 'preis' => 19.90,
8];
9echo $kurs['titel']; // Yoga am Morgen
10
11$kurs['frei'] = 2; // Wert ändern
12$kurs['raum'] = 'Studio 1'; // neuen Schlüssel hinzufügen
13echo count( $kurs ); // 4
VorhersageWas steht in $tage[1]?
tage.php
1<?php
2$tage = [ 'Mo', 'Mi', 'Fr' ];
3$tage[] = 'So';
4echo $tage[1] . ' und ' . $tage[3];
Was gibt dieser Code aus? Wählen Sie eine Antwort.

3. Arrays verarbeiten

PHP bringt viele Funktionen mit, um Arrays zu filtern, umzuwandeln und zu sortieren. Zusammen mit kurzen Pfeilfunktionen (fn) lassen sich damit Aufgaben elegant lösen, die sonst lange Schleifen bräuchten. Probieren Sie die wichtigsten aus:

LaborArray-Funktionen auf eine Kursliste anwenden
['titel' => 'Yoga', 'frei' => 3, 'preis' => 19]
['titel' => 'Pilates', 'frei' => 0, 'preis' => 22]
['titel' => 'Meditation', 'frei' => 8, 'preis' => 12]
array_filter
[
  [
    'titel' => 'Yoga',
    'frei' => 3,
    'preis' => 19
  ],
  [
    'titel' => 'Meditation',
    'frei' => 8,
    'preis' => 12
  ]
]
1<?php
2$ergebnis = array_filter( $kurse, fn( $k ) => $k['frei'] > 0 );
array_filter: Behält nur Elemente, für die die Bedingung wahr ist – hier Kurse mit freien Plätzen.
Arrays zählen ab 0. Funktionen bekommen in WordPress ein eindeutiges Präfix oder einen Namespace. Und für Listen gilt: filtern, umwandeln, sortieren – mit array_filter, array_map und usort statt langer Schleifen.

4. Funktionen in WordPress

WordPress stellt für fast jede Aufgabe fertige Funktionen bereit. Beiträge holt get_posts(), Metadaten liest get_post_meta(), Einstellungen get_option(), die aktuelle Adresse home_url(). Viele Funktionen haben eine Variante mit „the_“, die direkt ausgibt, und eine mit „get_“, die den Wert zurückgibt: the_title() gibt den Titel aus, get_the_title() liefert ihn zur Weiterverarbeitung. Die offizielle Referenz auf developer.wordpress.org beschreibt jede Funktion mit Parametern, Rückgabewerten und Beispielen – der wichtigste Nachschlageort für jede WordPress-Entwicklung.

Tab. 3.1Häufig genutzte WordPress-Funktionen
FunktionLiefert
get_posts( $args )Array von Beiträgen nach Kriterien
get_post_meta( $id, $schluessel, true )einzelnes Feld eines Beitrags
get_option( $name, $standard )gespeicherte Einstellung
wp_get_current_user()angemeldeten Benutzer
current_user_can( $recht )true, wenn der Benutzer das Recht hat
get_the_title( $beitrag )Titel als Text (ohne Ausgabe)

5. Anonyme Funktionen und Callbacks

In WordPress übergibt man häufig Funktionen an andere Funktionen – sogenannte Callbacks. Hooks funktionieren genau so: add_action( 'init', … ) bekommt eine Funktion, die WordPress zum passenden Zeitpunkt aufruft. Das kann der Name einer vorhandenen Funktion als Text sein, eine anonyme Funktion oder, seit PHP 7.4, eine kurze Pfeilfunktion mit fn. Anonyme Funktionen sind praktisch, haben aber einen Nachteil: Man kann sie später nicht mit remove_action wieder entfernen, weil sie keinen Namen haben. Für Code, den andere Plugins eventuell abschalten möchten, sind benannte Funktionen oder Methoden daher besser.

6. Ein Beispiel

Ein Fahrradladen möchte auf der Werkstattseite eine Preisliste anzeigen, die aus einer Einstellung gelesen wird. Die Einstellung ist ein assoziatives Array mit Leistung und Preis. Eine Funktion studio_preisliste() holt es mit get_option, filtert mit array_filter alle Leistungen ohne Preis heraus, sortiert mit uasort nach Preis und gibt mit einer foreach-Schleife eine Tabelle aus, in der jeder Wert mit esc_html maskiert wird. Die Werkstatt pflegt die Preise in einer Einstellungsseite, und die Tabelle aktualisiert sich automatisch – Modul 4 zeigt, wie so eine Einstellungsseite entsteht.

7. Häufige Fragen

Was ist der Unterschied zwischen echo und return? echo gibt einen Wert sofort aus, er landet im HTML der Seite. return gibt einen Wert an den Aufrufer zurück, der ihn weiterverarbeiten kann. Funktionen sollten in der Regel Werte zurückgeben und nicht selbst ausgeben – dann lassen sie sich flexibler einsetzen, etwa in einer REST-Antwort statt auf einer Seite.

Warum schreibt WordPress so oft array( … ) statt [ … ]? Beides ist gleichwertig. Die lange Schreibweise stammt aus älteren PHP-Versionen und findet sich noch in viel bestehendem Code. In neuem Code ist die kurze Schreibweise mit eckigen Klammern üblich und gut lesbar.

Wie finde ich heraus, was in einem Array steckt? Mit print_r() oder var_dump() lässt sich der Inhalt ausgeben, in WordPress am besten im Debug-Log statt auf der Seite, etwa mit error_log( print_r( $kurs, true ) ). Modul 5 zeigt, wie man das Debug-Log einrichtet und liest.

8. Übung zum Selbermachen

Schreiben Sie in WordPress Playground eine Funktion studio_kursliste(), die ein Array von Kursen entgegennimmt und einen HTML-Text zurückgibt. Nutzen Sie array_filter, um nur Kurse mit freien Plätzen zu behalten, usort, um nach Preis zu sortieren, und array_map, um aus jedem Kurs ein Listenelement zu machen. Setzen Sie die Elemente anschließend mit implode zu einer Liste zusammen. Geben Sie die Liste über einen Filter unter jedem Beitrag aus. Achten Sie auf ein Präfix im Funktionsnamen und auf Typangaben für Parameter und Rückgabewert. Diese Übung verbindet alle Themen der Lektion und zeigt, wie viel sich mit wenigen Zeilen erreichen lässt.

Quellen und weiterführende Literatur
  1. [1]The PHP Group (2026): PHP Manual – Functions; Arrays; Array Functions; Arrow Functions. php.net/manual.
  2. [2]WordPress.org (2026): Code Reference. developer.wordpress.org/reference.
  3. [3]WordPress.org (2026): Plugin Handbook – Best Practices: Prefix Everything.
  4. [4]WordPress.org (2026): PHP Coding Standards.

Stand: September 2026, WordPress 7.1, PHP 8.3. Kursmaterial der Klarwerk Akademie. WordPress entwickelt sich schnell – maßgeblich ist die aktuelle Dokumentation auf developer.wordpress.org.

Abschlussquiz

Drei Fragen – dann ist die Lektion geschafft.

Frage 1 von 3

Welcher Index hat das erste Element eines Arrays?