Wp_redirect y envío de variables
¿Cómo enviar algunas variables con wp_redirect() desde el archivo functions.php en la carpeta de mi tema?
if ( $post_id ) {
$variable_to_send = '1';
wp_redirect( home_url() . '?status=' . $variable_to_send );
exit;
}
Y en la página de inicio capturaré la variable en una condición if-else para mostrar alguna confirmación o no dependiendo si $variable_to_send
= '1' o no.
¿Cómo hacer esto en WordPress?

Llegando tarde a esta discusión, pero la "forma Wordpress" de hacerlo sería usando add_query_arg
de la siguiente manera:
if ( $post_id ) {
wp_redirect( esc_url( add_query_arg( 'variable_to_send', '1', home_url() ) ) );
exit;
}
Esto iniciará una redirección a http://mi.sitio-web/?variable_to_send=1
. Podrás capturar la variable luego, en la página de inicio (o página de blog, dependiendo de cómo tengas configurado tu home_url()
) accediendo a $_GET['variable_to_send']
en tu código PHP.
Si vas a hacer esto en functions.php
, asegúrate de engancharlo a init
o a un hook similarmente temprano, de lo contrario obtendrás un error de "Headers already sent".
Espero que esto ayude a alguien que se encuentre con esta publicación.

Me temo que no puedes hacerlo de esta manera.
wp_redirect
es una forma elegante de enviar el encabezado Location
y el segundo argumento de esta función es el estado de la solicitud, no una variable personalizada. (404, 301, 302, etc.).
Puedes enviar algunas variables como parámetros GET. Entonces puedes hacer algo como esto:
if ( $post_id ) {
$variable_to_send = '1';
wp_redirect( home_url() .'?my_variable='.$variable_to_send );
exit;
}
Luego puedes usar estas variables como $_GET['my_variable']
o registrarla como una variable GET personalizada.

Necesitas usar add_query_arg para hacerlo al estilo WordPress.
