Der zweite Parameter einer Woocommerce-Hooked-Funktion gibt NULL anstelle eines Objekts zurück
Lesezeit: 2 Minuten
Sam Ritter
In der Woocommerce-Dokumentation wird die woocommerce_get_price_html Filterhaken befindet sich in get_price_html() -Methode soll einen Rückruf entgegennehmen, der bis zu akzeptiert zwei Parameterein Preis und ein Produkt.
Aber wenn ich versuche, auf das Produkt zuzugreifen, erhalte ich eine NULL anstelle des WC_Product-Objekts.
Das ist mir gerade eingefallen, aber nimmt add_filter keinen Parameter, der angibt, wie viele Parameter der Rückruf braucht?
– Benutzer10957435
11. März 2019 um 1:52 Uhr
@Chipster warum ja, tut es! Und dieser Parameter ist standardmäßig auf 1 gesetzt, was deutlich macht, warum ich NULL für meinen zweiten Parameter erhalten habe. Vielen Dank!
– Sam Ritter
11. März 2019 um 12:13 Uhr
Sie müssen die 2 Parameter, die Sie für diesen Hook verwenden, in Ihrer Hook-Funktion direkt nach der Hook-Priorität auf diese Weise deklarieren:
Danke! Warum ist es besser, Ihre Funktion zu benennen, anstatt eine anonyme zu erstellen?
– Sam Ritter
11. März 2019 um 20:29 Uhr
@SamRitter Weil es erlaubt, eine lesbare und verwendbare Referenz für die Hook-Funktion festzulegen, die (später) weiter verwendet werden kann. Es ist eine gute Angewohnheit, genau wie das Kommentieren, Formatieren Ihres Codes oder das Hinzufügen verständlicher Variablennamen … Auch wenn Sie den Hook wiederverwenden müssen und erneut eine anonyme Funktion verwenden, erhalten Sie einen Fehler.
– LoicTheAztec
11. März 2019 um 20:35 Uhr
mujunur
Es gibt 3 Stellen, an denen dieser Filter eingehakt ist. Drei davon haben zwei Parameter.
Das ist mir gerade eingefallen, aber nimmt add_filter keinen Parameter, der angibt, wie viele Parameter der Rückruf braucht?
– Benutzer10957435
11. März 2019 um 1:52 Uhr
@Chipster warum ja, tut es! Und dieser Parameter ist standardmäßig auf 1 gesetzt, was deutlich macht, warum ich NULL für meinen zweiten Parameter erhalten habe. Vielen Dank!
– Sam Ritter
11. März 2019 um 12:13 Uhr