WordPress Custom template: wp_redirect () não funciona no modelo

 

Solutions Collecting From Web of "WordPress Custom template: wp_redirect () não funciona no modelo"

Os redirecionamentos são executados pela saída de headers HTTP, wp_redirect() apenas adiciona alguns bits em cima dele por flexibilidade.

Os headers só são destinados a serem usados antes de qualquer saída para uma página, pois é assim que a resposta HTTP está estruturada.

Hipoteticamente, poderia funcionar em modelo se você certificar-se de que ele triggers antes de qualquer saída. Praticamente, é uma prática normal lidar com redirecionamentos em um gancho apropriado, antes que qualquer modelo / saída seja alcançado. O gancho comum para usar é template_redirect .

Como eu sei, você pode usar o wp_redirect antes que o conteúdo seja enviado para o navegador. Você deve usar ganchos para isso.

Mas você pode usar a function de header PHP

 if ( TRUE ) { header( "Location: " . home_url() ); die(); } 

Mas eu não tenho 100% de certeza é que este header (Localização) vai te fazer problema com “headers já enviados”

tente este código,

 get_header(); global $current_user; get_currentuserinfo(); if(is_user_logged_in()){ // content for login user } else { $url = 'http://example.com'; wp_redirect($url); exit(); }