admin管理员组

文章数量:1024080

I can disable a filter as follows:

add_filter( 'send_password_change_email', '__return_false' );

This may be a trivial question, but I can't find an answer for it... can I re-enable the filter with the following?

add_filter( 'send_password_change_email', '__return_true' );

If not, how can I re-enable a filter?

I can disable a filter as follows:

add_filter( 'send_password_change_email', '__return_false' );

This may be a trivial question, but I can't find an answer for it... can I re-enable the filter with the following?

add_filter( 'send_password_change_email', '__return_true' );

If not, how can I re-enable a filter?

Share Improve this question edited Apr 12, 2019 at 13:49 mistertaylor asked Apr 12, 2019 at 13:38 mistertaylormistertaylor 6411 gold badge6 silver badges20 bronze badges 3
  • Just comment out or remove this line. – nmr Commented Apr 12, 2019 at 13:55
  • For this specific instance, I want to disable sending the standard WP password changed email while a function runs and then re-enable it. – mistertaylor Commented Apr 12, 2019 at 14:42
  • put remove_filter( 'send_password_change_email', '__return_false' ); at the end of the function? – majick Commented Apr 12, 2019 at 15:32
Add a comment  | 

1 Answer 1

Reset to default 3

When you add functions to the same handle without specifying the priority, they are executed in the order of addition. Every time you try to send an email, all the hooked functions will be called in the order in which they were added.

To turn on email sending while a function runs, you can:

  • remove __return_false from filter at the beginning of the function and add again at the end,
  • add __return_true to filter (will be executed as second and override previous result) at the beginning of the function and remove it at the end.

Example:

function my_function() 
{
    add_filter( 'send_password_change_email', '__return_true' );
    //
    // sending an email about password change enabled
    //
    remove_filter( 'send_password_change_email', '__return_true' );
}

I can disable a filter as follows:

add_filter( 'send_password_change_email', '__return_false' );

This may be a trivial question, but I can't find an answer for it... can I re-enable the filter with the following?

add_filter( 'send_password_change_email', '__return_true' );

If not, how can I re-enable a filter?

I can disable a filter as follows:

add_filter( 'send_password_change_email', '__return_false' );

This may be a trivial question, but I can't find an answer for it... can I re-enable the filter with the following?

add_filter( 'send_password_change_email', '__return_true' );

If not, how can I re-enable a filter?

Share Improve this question edited Apr 12, 2019 at 13:49 mistertaylor asked Apr 12, 2019 at 13:38 mistertaylormistertaylor 6411 gold badge6 silver badges20 bronze badges 3
  • Just comment out or remove this line. – nmr Commented Apr 12, 2019 at 13:55
  • For this specific instance, I want to disable sending the standard WP password changed email while a function runs and then re-enable it. – mistertaylor Commented Apr 12, 2019 at 14:42
  • put remove_filter( 'send_password_change_email', '__return_false' ); at the end of the function? – majick Commented Apr 12, 2019 at 15:32
Add a comment  | 

1 Answer 1

Reset to default 3

When you add functions to the same handle without specifying the priority, they are executed in the order of addition. Every time you try to send an email, all the hooked functions will be called in the order in which they were added.

To turn on email sending while a function runs, you can:

  • remove __return_false from filter at the beginning of the function and add again at the end,
  • add __return_true to filter (will be executed as second and override previous result) at the beginning of the function and remove it at the end.

Example:

function my_function() 
{
    add_filter( 'send_password_change_email', '__return_true' );
    //
    // sending an email about password change enabled
    //
    remove_filter( 'send_password_change_email', '__return_true' );
}

本文标签: How to reenable a filter after disabling with returnfalse