2016-04-30 11 views
0

Ich möchte versuchen, Hook, eine Update-Aktion meiner benutzerdefinierten Felder. Wenn ein bestimmtes benutzerdefiniertes Feld aktualisiert wird, möchte ich das Datum anzeigen.Aktualisierte_postmetaparameter geben nichts zurück

In meinem functions.php:

function add_date_war($meta_id, $object_id, $meta_key, $meta_value) 
{ 
    echo 'test : ' . $meta_key; 
    if($meta_key == 'relics') 
    { 
     echo date('d-m-Y'); 
    } 
} 
add_action('updated_postmeta', 'add_date_war', 10, 4); 

und auf meinem front_page.php:

do_action('updated_postmeta'); 

Die Funktion das Echo zurück, aber ich weiß nicht, warum $ meta_key (oder alle anderen params) sind leer.

Wenn Sie einen Vorschlag haben?

Antwort

0

do_action übergeben auch Parameter, die diesen Haken akzeptieren Parameter registrieren. Zum Beispiel:

//something insert data into database 
$save_meta_id = 1; 
$object_id = 5; 
$meta_key = 'meta_key_name'; 
$meta_value = 'something'; 
do_action('updated_postmeta', $save_meta_id, $object_id, $meta_key, $meta_value); 

Register mit Aktion Haken akzeptieren 4 parametars

add_action('updated_postmeta', 'add_date_war', 10, 4); 
function($meta_id, $obj_id, $meta_key, $meta_value){ 
    echo $meta_id; // 1 
    echo $obj_id; // 5 
    echo $meta_key; // meta_key_name 
    echo $meta_value; // something 
}