WP_Rewrite::set_permalink_structure()publicWP 1.5.0

Sets the main permalink structure for the site.

Will update the 'permalink_structure' option, if there is a difference between the current permalink structure and the parameter value. Calls WP_Rewrite::init() after the option is updated.

Fires the permalink_structure_changed action once the init call has processed passing the old and new values

Method of the class: WP_Rewrite{}

Hooks from the method

Return

null. Nothing (null).

Usage

global $wp_rewrite;
$wp_rewrite->set_permalink_structure( $permalink_structure );
$permalink_structure(string) (required)
Permalink structure.

Changelog

Since 1.5.0 Introduced.

WP_Rewrite::set_permalink_structure() code WP 6.4.3

public function set_permalink_structure( $permalink_structure ) {
	if ( $this->permalink_structure !== $permalink_structure ) {
		$old_permalink_structure = $this->permalink_structure;
		update_option( 'permalink_structure', $permalink_structure );

		$this->init();

		/**
		 * Fires after the permalink structure is updated.
		 *
		 * @since 2.8.0
		 *
		 * @param string $old_permalink_structure The previous permalink structure.
		 * @param string $permalink_structure     The new permalink structure.
		 */
		do_action( 'permalink_structure_changed', $old_permalink_structure, $permalink_structure );
	}
}