WordPress Redirects debuggen

Redirects in WordPress sind oft schwer zu debuggen, da man oft nicht weiß, in welchem Plugin sich der Aufruf von wp_redirect() versteckt.

Diese PHP Funktion hängt an den X-Redirect-By Eintrag im Header die Datei, die Zeile und die Funktion an, die wp_redirect() aufgerufen hat.

add_filter('x_redirect_by', 'wpdev_filter_x_redirect_by', 999,3);
function wpdev_filter_x_redirect_by($x_redirect_by, $status, $location ){

	$stack = debug_backtrace( DEBUG_BACKTRACE_PROVIDE_OBJECT, 4);
	$entry = $stack[3];
	$file = explode('\\', $entry['file']);
	$file = $file[count($file)-1];
	$x_redirect_by .= ' - file:'.$file.' - line:'.$entry['line'].' - function:'.$entry['function'];

	return $x_redirect_by;
}

Die Information kann man sich dann in der Entwickler-Console bequem im Browser anschauen.

WordPress Redirects debuggen