我需要知道何时应该使用wp_redirect()?

时间:2014-02-27 23:08:42

标签: php wordpress apache

我正在使用wp_redirect()重定向到网址,但它会在下面给出警告并且不会重定向。我什么时候应该使用wp_redirect()?并且有人知道wp_redirect()是如何工作的吗?

**[Fri Feb 28 03:58:36 2014] [error] [client 127.0.0.1] PHP Warning:
  Cannot modify header information - headers already sent by (output
  started at /home/virgo/public_html/others/sites/wepay/wp-content/
  themes/twentythirteen/header.php:43) in /home/virgo/public_html/o
  thers/sites/wepay/wp-includes/pluggable.php on line 875, referer: 
  http://127.0.0.1/others/sites/wepay/?page_id=15**

1 个答案:

答案 0 :(得分:1)

标题需要先出现,因此您必须在任何输出之前放置它。这包括错误消息。如果您运行的某些代码存在生成通知的问题,则会阻止重定向运行。

看看这里:http://codex.wordpress.org/Plugin_API/Action_Reference

get_header是最新的一点。

我建议在设置WP之后再这样做,这样你就可以使用所有条件,包括使用$post但仍然很早。在我看来,最合适的钩子是'wp'。

function wpse_redirect() {
    if ( ENTER A CONDITIONAL ) {
        wp_redirect( 'redirect-location' );
        exit;
    }
}
add_action( 'wp', 'wpse_redirect' );