admin管理员组

文章数量:1328037

I am developing a tool to print PHP debug messages on screen.

I would like to stop the wp_redirect() function from actually doing the redirect if the debug tool contains a message that it wants to display.

One way would be to check this before calling wp_redirect() at all, but it's preferable to have something like a before_redirect filter where I can decide to "go on" or "don't go".

I have seen the wp_redirect filter allows me to filter the redirect location.

I could say "go back to the same place" but that would be a new http request and the logs would be already lost.

I am developing a tool to print PHP debug messages on screen.

I would like to stop the wp_redirect() function from actually doing the redirect if the debug tool contains a message that it wants to display.

One way would be to check this before calling wp_redirect() at all, but it's preferable to have something like a before_redirect filter where I can decide to "go on" or "don't go".

I have seen the wp_redirect filter allows me to filter the redirect location.

I could say "go back to the same place" but that would be a new http request and the logs would be already lost.

Share Improve this question edited Jul 22, 2020 at 11:16 cjbj 15k16 gold badges42 silver badges89 bronze badges asked Jul 22, 2020 at 11:02 Álvaro FranzÁlvaro Franz 1,1001 gold badge9 silver badges31 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1

As you can see from the source code, wp_redirect always ends in a PHP header request, except if the location is empty, because then it doesn't know where to redirect. So you can indeed use the wp_redirect filter. If you return an empty string under certain circumstances, the redirect will not happen.

本文标签: Filter wpredirect() to stop redirect under certain condition