Das Hook-System
Zu verstehen, wie diese Hooks genau funktionieren, kann in der Vorüberlegung, welche Applikation zum Einsatz kommen soll, eine große Rolle spielen. Auf die „Haken“ greift der WordPress-Core zu, um interne Funktionen aufzurufen. Gleichzeitig können zusätzliche Funktionen an diesen Punkten einhaken. Damit bleibt der Code überschaubar, besser nachvollziehbar und man kann mit eigenen Ideen eingreifen, ohne den Core anzufassen. Auf diesem Wege können Funktionen darüber hinaus schnell, einfach und unkompliziert aktiviert oder deaktiviert werden.
Hooks sind das klassische System, um Funktionen zu ändern. Man unterscheidet zwischen Action- und Filter-Hooks. Die Filter-Hooks ermöglichen den Zugriff auf spezifizierte Daten zum Filtern; Inhalt oder Text lassen sich so schnell ändern und wieder ausgeben.
Die Action-Hooks ermöglichen via „add_action()“ das Hinzufügen und Entfernen von Funktionen, die eine Core-Datei von WordPress auslöst. Mit dem Aufruf einer bestimmten Funktion des Core wird dann die jeweilige Funktion mitgenutzt, die auf den entsprechen Hook referenziert.
add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1);
Listing 2
Man kann in Erweiterungen auch eigene Hooks setzen, die auf der API von WordPress basieren.
Eine dritte Möglichkeit, in das System einzugreifen, besteht darin, Funktionen vollständig zu ersetzen. Alle Funktionen, die diese Möglichkeit bieten und die für Plugin-Autoren interessant sind, findet man in der Datei „wp-includes/pluggable.php“. Der dort enthaltene Code sucht im System nach gleichnamigen Funktionen und wendet dann statt des Originals das alternative Skript im Core an.
if ( !function_exists('set_current_user') ) : ...
Listing 3
Dies ist insbesondere dann interessant, wenn man WordPress mit anderen Systemen verbinden will und beispielsweise in beiden Systemen auf eine User-Tabelle zugreifen will.
WordPress Stack
Um Erweiterungen für WordPress zu erstellen, ob über die Plugin- oder Themeschnittstelle eingebunden, ist es von großem Nutzen, wenn man den Prozess kennt, den die Applikation beim Aufruf durchläuft. So lassen sich die entsprechenden Konstanten und Variablen gezielt nutzen.
In folgendem Bild ist der Prozess schematisch dargestellt. Darin ist die jeweils entscheidende Datei enthalten, die die Konstanten und Variablen enthält. Konstanten werden nach dem PHP-Coding-Standard in Großbuchstaben geschrieben, Variablen bekommen ein Dollarzeichen vorangestellt. Ebenso finden sich Hinweise auf entscheidende Funktionen und Hooks des jeweiligen Bereichs. Hooks erkennt man daran, dass sie über die Funktion „do_action()“ im Core hinterlegt sind.
Bitte beachte unsere Community-Richtlinien
Sorry, bin nicht immer online und danke vielmals den Technikern - ja, diese neue Möglichkeit gibt es seit 2.8 und sollte vom User nicht angefasst werden (In der Regel macht das nix, sie werden neu erzeugt). Die Transient-Funktion lässt temporäre Daten in der DB zu, wobei sich der Bestand je nach Definition entfernt, WP kümmert sich darum.
Vielen Dank für Deine Antwort. Ja, sie stammen von der Transient API und da ich so einige Feeds über meine Blogroll hole erhalte ich pro Feed 4 solche Einträge. Eigentlich sollten sie sich auch selbst wieder löschen, was sie aber nur hin und wieder tun und so schwillt die Options Tabelle auch recht unnett an. Deshalb habe ich mich die Tage entschieden - nach vorheriger Datensicherung - sie einfach mal zu löschen und zu kucken was passiert. Alles paletti. Sie legen sich zwar wieder an, wie Du geschrieben hast, aber es schadet auch nicht sie hin und wieder komplett rauszulöschen, um nicht gar so viele davon anzusammeln.
Vielleicht hilft diese Info ja auch jemanden, der in Zukunft hier vorbei kommt. Aber bitte vor dem Löschen immer eine Datensicherung machen, so dass im Notfall einfach nur wieder die Tabelle zurückgespielt werden kann. Man kann ja nie wissen ;-)
@Crazy Girl:
Der Autor ist momentan leider nicht erreichbar, deshalb habe ich unsere Techniker gefragt. Die Einträge stammen von der Transient API und können ignoriert werden. Das ist ein temporärer Cache, der irgendwann verfällt. Du kannst sie wohl auch löschen - sie tauchen aber erneut auf.
Ich habe in meiner Wordpress Options Tabelle ziemlich viele Einträge für _transient_feed... _transient_feed_mod... _transient_timeout_feed... und _transient_timeout_feed_mod...
Zusammengerechnet dürfte da ein paar Hundert dabei rauskommen.
Kann ich die, evtl. bis auf den jeweils neuesten Eintrag, einfach löschen?