WP_Post_Type::remove_rewrite_rules()publicWP 4.6.0

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

Метод класса: WP_Post_Type{}

Хуков нет.

Возвращает

null. Ничего (null).

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

$WP_Post_Type = new WP_Post_Type();
$WP_Post_Type->remove_rewrite_rules();

Заметки

  • Global. WP_Rewrite. $wp_rewrite WordPress rewrite component.
  • Global. WP. $wp Current WordPress environment instance.
  • Global. Массив. $post_type_meta_caps Used to remove meta capabilities.

Список изменений

С версии 4.6.0 Введена.

Код WP_Post_Type::remove_rewrite_rules() WP 6.5.2

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

	// Remove query var.
	if ( false !== $this->query_var ) {
		$wp->remove_query_var( $this->query_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 $regex => $query ) {
			if ( str_contains( $query, "index.php?post_type=$this->name" ) ) {
				unset( $wp_rewrite->extra_rules_top[ $regex ] );
			}
		}
	}

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