W3cubDocs

/WordPress

WP_Rewrite::init()

Sets up the object’s properties.

Description

The ‘use_verbose_page_rules’ object property will be set to true if the permalink structure begins with one of the following: ‘%postname%’, ‘%category%’, ‘%tag%’, or ‘%author%’.

More Information

Set up the object, set $permalink_structure and $category_base from the database. Set $root to $index plus ‘/’. Set $front to everything up to the start of the first tag in the permalink structure. Unset all other properties.

Source

File: wp-includes/class-wp-rewrite.php

public function init() {
		$this->extra_rules         = array();
		$this->non_wp_rules        = array();
		$this->endpoints           = array();
		$this->permalink_structure = get_option( 'permalink_structure' );
		$this->front               = substr( $this->permalink_structure, 0, strpos( $this->permalink_structure, '%' ) );
		$this->root                = '';

		if ( $this->using_index_permalinks() ) {
			$this->root = $this->index . '/';
		}

		unset( $this->author_structure );
		unset( $this->date_structure );
		unset( $this->page_structure );
		unset( $this->search_structure );
		unset( $this->feed_structure );
		unset( $this->comment_feed_structure );

		$this->use_trailing_slashes = ( '/' === substr( $this->permalink_structure, -1, 1 ) );

		// Enable generic rules for pages if permalink structure doesn't begin with a wildcard.
		if ( preg_match( '/^[^%]*%(?:postname|category|tag|author)%/', $this->permalink_structure ) ) {
			$this->use_verbose_page_rules = true;
		} else {
			$this->use_verbose_page_rules = false;
		}
	}

Changelog

Version Description
1.5.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_rewrite/init