WP_Rewrite::add_rewrite_tag( string $tag, string $regex, string $query )

Adds or updates existing rewrite tags (e.g. %postname%).


If the tag already exists, replace the existing pattern and query for that tag, otherwise add the new tag.

Top ↑

See also

  • WP_Rewrite::$rewritecode
  • WP_Rewrite::$rewritereplace
  • WP_Rewrite::$queryreplace

Top ↑



(string) (Required) Name of the rewrite tag to add or update.


(string) (Required) Regular expression to substitute the tag for in rewrite rules.


(string) (Required) String to append to the rewritten query. Must end in '='.

Top ↑

More Information

Add an element to the $rewritecode, $rewritereplace and $queryreplace arrays using each parameter respectively. If $tag already exists in $rewritecode, the existing value will be overwritten.

See also: add_rewrite_tag($tagname, $regex)

Top ↑


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

	public function add_rewrite_tag( $tag, $regex, $query ) {
		$position = array_search( $tag, $this->rewritecode, true );
		if ( false !== $position && null !== $position ) {
			$this->rewritereplace[ $position ] = $regex;
			$this->queryreplace[ $position ]   = $query;
		} else {
			$this->rewritecode[]    = $tag;
			$this->rewritereplace[] = $regex;
			$this->queryreplace[]   = $query;

Top ↑


Version Description
1.5.0 Introduced.

Top ↑

User Contributed Notes

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