Yoast\WP\SEO\Helpers

Redirect_Helper{}Yoast 1.0

A helper object for redirects.

Хуков нет.

Использование

$Redirect_Helper = new Redirect_Helper();
// use class methods

Методы

  1. public do_safe_redirect( $location, $status = 302, $reason = 'Yoast SEO' )
  2. public do_unsafe_redirect( $location, $status = 302, $reason = 'Yoast SEO' )
  3. public remove_header( $header )
  4. public set_header( $header )

Код Redirect_Helper{} Yoast 22.4

class Redirect_Helper {

	/**
	 * Wraps wp_redirect to allow testing for redirects.
	 *
	 * @codeCoverageIgnore It only wraps a WordPress function.
	 *
	 * @param string $location The path to redirect to.
	 * @param int    $status   The status code to use.
	 * @param string $reason   The reason for the redirect.
	 *
	 * @return void
	 */
	public function do_unsafe_redirect( $location, $status = 302, $reason = 'Yoast SEO' ) {
		// phpcs:ignore WordPress.Security.SafeRedirect -- intentional, function has been renamed to make unsafe more clear.
		\wp_redirect( $location, $status, $reason );
		exit;
	}

	/**
	 * Wraps wp_safe_redirect to allow testing for safe redirects.
	 *
	 * @codeCoverageIgnore It only wraps a WordPress function.
	 *
	 * @param string $location The path to redirect to.
	 * @param int    $status   The status code to use.
	 * @param string $reason   The reason for the redirect.
	 *
	 * @return void
	 */
	public function do_safe_redirect( $location, $status = 302, $reason = 'Yoast SEO' ) {
		\wp_safe_redirect( $location, $status, $reason );
		exit;
	}

	/**
	 * Sets a header.
	 * This is a tiny helper function to enable better testing.
	 *
	 * @codeCoverageIgnore It only wraps a WordPress function.
	 *
	 * @param string $header The header to set.
	 *
	 * @return void
	 */
	public function set_header( $header ) {
		\header( $header );
	}

	/**
	 * Removes a header.
	 * This is a tiny helper function to enable better testing.
	 *
	 * @codeCoverageIgnore It only wraps a WordPress function.
	 *
	 * @param string $header The header to remove.
	 *
	 * @return void
	 */
	public function remove_header( $header ) {
		\header_remove( $header );
	}
}