wordpress: add_action: warum der zweite Parameter ein Array anstelle eines Funktionsnamens ist

8

Ich versuche ein Wordpress-Plugin zu erstellen, ich habe ein Plugin gefunden, das oops-Konzepte verwendet, meine Frage ist, warum der zweite Parameter in der Funktion add_action ein Array anstelle eines Funktionsnamens ist

  

add_action ('admin_menu', array (& amp; $ this,   'my_menu'));

my_menu ist eine Funktion in derselben Klasse, bitte hilf mir

Danke

    
Thomas John 01.06.2011, 16:17
quelle

2 Antworten

9

Weil das zweite Argument ein Rückruf sein muss . (und add_action verwendet intern call_user_func_array ).

Für Funktionen können wir einfach ihren Namen als String übergeben, aber das können wir mit Objektmethoden nicht machen, oder?

Also wird ein Array mit 2 Elementen übergeben, zuerst das Objekt und dann die Methode, die aufgerufen werden soll: -

array( $object, 'method' )

Oh, und du kannst das unnütze '& amp;' sicher entfernen, PHP4-Tage sind jetzt weg.

    
Salman Abbas 01.06.2011 16:57
quelle
0

@Thomas John, du hast Recht bezüglich des zweiten Arguments in add_action auch in wordpress org hast nichts dazu gesagt, also lass es mich jetzt wissen, wir können Array als zweites Argumentarray übergeben ($ this, 'method').

Beschreibung: Wenn das Objekt eine Klasse erstellt, ruft der Konstruktor automatisch auf und Ihre Aktion wird ausgeführt.

WARUM ES ERFORDERLICH IST in WordPress wie man die Klasse in add_action in kurzer add_action erstellt oder initialisiert, indem man auf eine Klassenüberprüfung unter Beispiel

verweist %Vor%

Referenzieren einer Klasse mit add_action ().

    
Hiren Kubavat 31.10.2015 08:59
quelle

Tags und Links