+ /**
+ * Filter rewrite rules used for "page" post type archives.
+ *
+ * @since 1.5.0
+ *
+ * @param array $page_rewrite The rewrite rules for the "page" post type.
+ */
+ $page_rewrite = apply_filters( 'page_rewrite_rules', $page_rewrite );
+
+ // Extra permastructs.
+ foreach ( $this->extra_permastructs as $permastructname => $struct ) {
+ if ( is_array( $struct ) ) {
+ if ( count( $struct ) == 2 )
+ $rules = $this->generate_rewrite_rules( $struct[0], $struct[1] );
+ else
+ $rules = $this->generate_rewrite_rules( $struct['struct'], $struct['ep_mask'], $struct['paged'], $struct['feed'], $struct['forcomments'], $struct['walk_dirs'], $struct['endpoints'] );
+ } else {
+ $rules = $this->generate_rewrite_rules( $struct );
+ }
+
+ /**
+ * Filter rewrite rules used for individual permastructs.
+ *
+ * The dynamic portion of the hook name, `$permastructname`, refers
+ * to the name of the registered permastruct, e.g. 'post_tag' (tags),
+ * 'category' (categories), etc.
+ *
+ * @since 3.1.0
+ *
+ * @param array $rules The rewrite rules generated for the current permastruct.
+ */
+ $rules = apply_filters( $permastructname . '_rewrite_rules', $rules );
+ if ( 'post_tag' == $permastructname ) {
+
+ /**
+ * Filter rewrite rules used specifically for Tags.
+ *
+ * @since 2.3.0
+ * @deprecated 3.1.0 Use 'post_tag_rewrite_rules' instead
+ *
+ * @param array $rules The rewrite rules generated for tags.
+ */
+ $rules = apply_filters( 'tag_rewrite_rules', $rules );
+ }
+
+ $this->extra_rules_top = array_merge($this->extra_rules_top, $rules);
+ }