WP_Taxonomy::add_rewrite_rules()

In this article

Adds the necessary rewrite rules for the taxonomy.

Source

public function add_rewrite_rules() {
	/* @var WP $wp */
	global $wp;

	// Non-publicly queryable taxonomies should not register query vars, except in the admin.
	if ( false !== $this->query_var && $wp ) {
		$wp->add_query_var( $this->query_var );
	}

	if ( false !== $this->rewrite && ( is_admin() || get_option( 'permalink_structure' ) ) ) {
		if ( $this->hierarchical && $this->rewrite['hierarchical'] ) {
			$tag = '(.+?)';
		} else {
			$tag = '([^/]+)';
		}

		add_rewrite_tag( "%$this->name%", $tag, $this->query_var ? "{$this->query_var}=" : "taxonomy=$this->name&term=" );
		add_permastruct( $this->name, "{$this->rewrite['slug']}/%$this->name%", $this->rewrite );
	}
}

Changelog

VersionDescription
4.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.