最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

How to re-enable a filter after disabling with __return_false

matteradmin9PV0评论

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

comment list (0)

  1. No comments so far