Adventskalender Tag 10 – Rekursion in Hooks verhindern

Der heutige Adventskalenderbeitrag richtet sich speziell an die Entwickler unter uns, die mit Rekursionen zu kämpfen haben. Angenommen, wir befinden uns innerhalb eines save_post-Hook-Kontext und möchten aus welchen Gründen auch immer wp_update_post() nutzen, sieht die Funktion in etwa so aus:

Das Problem hierbei ist, dass wp_update_post() den ‘ save_post’-Hook triggert. Damit befinden wir uns in einer Endlosschleife. Absichern können wir das Ganze, indem wir einfach eine temporär definierte Konstante nutzen:

Dieses Beispiel kann man nutzen, um andere mögliche Rekursionen, wie zum Beispiel bei wp_update_user(), zu nutzen.

Beitrag teilen

Author Avatar

Thomas ist Senior-WordPress-Entwickler bei der Inpsyde GmbH, der aber auch über den Tellerand hinaus schaut und sprachunabhängig entwickeln kann. Der 1985 geborene Wahl-Düsseldorfer macht in seiner Freizeit Musik, spielt Spiele, kocht gern und verbringt seine Zeit am liebsten mit seiner Frau.

Auch interessant:

WooCommerce Projekte vorgestellt: Die Beer Ambassadors - Bierspezialitäten im Abo

von Michael Firnkes

Die Beer Ambassadors haben einen ganz besonderen Onlineshop auf die Beine gestellt - mit WooCommerce und German Market. Wir haben die beiden Gründer Thoma ...

Weiterlesen
dsgvo plugins woocommerce

Die Übersicht: 5 DSGVO Plugins für WordPress und WooCommerce

von Michael Firnkes

Auch nach dem Inkrafttreten der EU-Datenschutzverordnung suchen viele Portal- und Shopbetreiber nach einer Lösung, um die gesetzlichen Anforderungen zu er ...

Weiterlesen

International erfolgreich - so kannst du deinen Shop übersetzen lassen

von Tony Hoyer

Wer seine Produkte auch außerhalb Deutschlands verkaufen möchte, kommt um eine Übersetzung seines Shops nicht herum. Ich zeige dir verschieden Möglichk ...

Weiterlesen
wordcamp woocommerce

Unser Rückblick zum WordCamp Retreat in Soltau - Das neue Standardformat?

von Patrick Posner

Gerade noch war ich mit vielen tollen Menschen aus der Community im Gespräch - und schon schreibe ich meinen Recap zum WordCamp Soltau Retreat. Über eine ...

Weiterlesen

Kommentare

1 Kommentar

  1. #1

    Und was ist wenn schon ein anderes Plugin oder Theme die gleiche globale Variable definiert hat? Autsch…

    Was halten wir denn davon:

    Durch das

    wird die Variable

    beim ersten Aufruf der Funktion einmalig mit dem Wert initialisiert der die Funktion

    zurück gibt (z.B. 1)
    Wird die Funktion erneut aufgerufen, gibt die Funktion

    einen um 1 erhöhte Wert zurück, die Variable

    hingegen hat den gleichen Wert wie beim ersten Aufruf.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Du kannst folgende HTML Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">