最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

How to re-enable a filter after disabling with __return_false

programmeradmin2浏览0评论

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' );
}
发布评论

评论列表(0)

  1. 暂无评论