2016-11-10 4 views
0

function.phpにいくつかのコードがあります。私がアクションを使用してフックすると、関数は実行されませんが、フィルタにフックすると、なぜ誰かがベストプラクティスを説明することができますか?Wordpress filter Vs.アクション

ACTION

// ADD £40 ON SUCCESFUL SUBSCRIPTION PAYMENT (EXAMPLE 1) 
function custom_add_funds($user_id) { 

    // get current user's funds 
    $funds = get_user_meta($user_id, 'account_funds', true); 

    // add £40 
    $funds = $funds + 40; 

    // add funds to user 
    update_user_meta($user_id, 'account_funds', $funds); 

} 
add_action('processed_subscription_payment', 'custom_add_funds'); 

FILTER

// ADD £40 ON SUCCESFUL SUBSCRIPTION PAYMENT (EXAMPLE 2) 
function custom_add_funds_two($user_id) { 

    // get current user's funds 
    $funds = get_user_meta($user_id, 'account_funds', true); 

    // add £40 
    $funds = $funds + 40; 

    // add funds to user 
    update_user_meta($user_id, 'account_funds', $funds); 

} 
add_filter('processed_subscription_payment','custom_add_funds_two'); 

答えて

0

両方の機能は異なる機能を有しています。 アクションはイベントベースです。その場合にフォームまたはページのロードを送信した後に関数を呼び出す場合は、add_action関数を使用します。

フィルタは、現在のフローを変更するために使用されます。ページのようにコンテンツ "hello this my test content"が表示され、 "hello world this is yours test content"と表示する場合は、フィルタを使用します。詳細については

あなたは次のリンクを参照してくださいすることができます

Difference between add_filter versus add_action https://wordpress.stackexchange.com/questions/120339/difference-between-do-action-and-add-action

関連する問題