2016-04-04 18 views
0

Ich möchte eine E-Mail senden, wenn eine Datei an eine bestimmte CPT angeschlossen ist, aber ich kann nicht add_attachment Haken Arbeit machen. Tatsächlich kann ich keinen Armaturenbrett-Haken (wie post_updated) arbeiten lassen. Der folgende Code tut nichts, wenn eine Datei an einem Pfosten angebracht ist oder Post wird aktualisiert:Admin-Side-Hooks funktionieren nicht (WordPress)

add_action('add_attachment', 'goldorak'); 
add_action('post_updated', 'goldorak'); 
function goldorak() { 
    echo 'Fired!'; 
    echo "<script>alert('Fired!');</script>"; 
} 

Hinweis: meine Befestigung ist ein file Feld mit Advanced Custom Fields-Plugin erstellt.

+0

Welche Version von ACF sind Sie mit, 4 oder 5? – giraff

Antwort

0

Ich bin nicht sicher, ACF feuert die gleichen Aktionen wie die normale Wordpress. Hier ist die ACF Version des Codes:


add_action('acf/save_post', 'goldorak', 15); // The saving is done with priority 10, so 15 is after the save to DB, 5 before it. 
function goldorak() { 
    die('test'); 
} 

Aber in Ihrem Fall der Haken acf/update_value/type=file würde Ihre Aufgabe vereinfachen:


add_action('acf/update_value', 'acf_hook_update_value', 1, 3); 

function acf_hook_update_value($new_value, $post_id, $field_options) { 
    $key = $field_options['key']; // internal key name 
    $name = $field_options['name']; // pretty name 

    $old_value = get_field($key, $this->post_id, false); 
    $new_value = stripslashes($new_value); 

    if ($new_value != $old_value) { 
     die('test'); // Do something ... 
    }  
} 
+0

Danke, aber nichts passiert. Selbst der erste Code, den du zur Verfügung gestellt hast, macht beim Speichern meines Posts nichts. – drake035

+0

Versuchen Sie es erneut mit dem "Die()". Weil das JS wahrscheinlich nicht im Backend ausgeführt wird. – giraff

Verwandte Themen