2016-04-04 13 views
0

ファイルが特定のCPTに添付されているときにメールを送信したいと思いますが、add_attachmentをフックにすることはできません。実際、ダッシュボードのフック(例えばpost_updatedなど)を動作させることはできません。管理サイドフックが機能しない(WordPress)

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

注:以下のコードは、ファイルが投稿に添付されたまたはポストが更新されるたび何もしません、私の添付ファイルがAdvanced Custom Fieldsプラグインで作成したfileフィールドです。

+0

ACFのどのバージョンあなたは、4または5を使用していますか? – giraff

答えて

0

ACFが通常のWordPressと同じ動作を起こすかどうかわかりません。ここにあなたのコードのACFのバージョンは次のとおりです。


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'); 
} 

しかし、あなたの場合には、フックacf/update_value/type=fileは、あなたのタスクを簡素化します:


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

ありがとう、しかし何も起こりません。あなたが提供した最初のコードであっても、自分の投稿を保存しても何もしません。 – drake035

+0

"die()"でもう一度試してください。 JSはおそらくバックエンドで実行されないためです。 – giraff

関連する問題