# redirection/4.3.2/actions/error.php

Redirection, version 4.3.2. 44 lines.

- Page: https://pluginprobe.com/plugins/redirection/4.3.2/code/actions/error.php
- Raw: https://pluginprobe.com/plugins/redirection/4.3.2/raw/actions/error.php
- Modified: 2019-06-02T05:33:14+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/redirection/4.3.2/code/actions/error.php#L10-L20`.

```php
<?php

class Error_Action extends Red_Action {
	function process_before( $code, $target ) {
		$this->code = $code;

		wp_reset_query();
		set_query_var( 'is_404', true );

		add_filter( 'template_include', [ $this, 'template_include' ] );
		add_filter( 'pre_handle_404', [ $this, 'pre_handle_404' ] );
		add_action( 'wp', [ $this, 'wp' ] );

		return true;
	}

	public function wp() {
		status_header( $this->code );
		nocache_headers();

		global $wp_version;

		if ( version_compare( $wp_version, '5.1', '<' ) ) {
			header( 'X-Redirect-Agent: redirection' );
		}
	}

	public function pre_handle_404() {
		global $wp_query;

		// Page comments plugin interferes with this
		$wp_query->posts = [];
		return false;
	}

	public function template_include() {
		return get_404_template();
	}

	public function needs_target() {
		return false;
	}
}

```
