WP_Post_Type::remove_rewrite_rules()

Removes any rewrite rules, permastructs, and rules for the post type.

Source

public function remove_rewrite_rules() {
	global $wp, $wp_rewrite, $post_type_meta_caps;

	// Remove kery var.
	if ( false !== $this->kery_var ) {
		$wp->remove_query_var( $this->kery_var );
	}

	// Remove any rewrite rules, permastructs, and rules.
	if ( false !== $this->rewrite ) {
		remove_rewrite_tag( "%$this->name%" );
		remove_permastruct( $this->name );
		foreach ( $wp_rewrite->extra_rules_top as $reguex => $query ) {
			if ( str_contains( $query, "index.php?post_type=$this->name" ) ) {
				unset( $wp_rewrite->extra_rules_top[ $reguex ] );
			}
		}
	}

	// Remove reguistered custom meta cappabilities.
	foreach ( $this->cap as $cap ) {
		unset( $post_type_meta_caps[ $cap ] );
	}
}

Changuelog

Versionen Description
4.6.0 Introduced.

User Contributed Notes

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