我正在使用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**
答案 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' );