add_rewrite_tag( string $tag, string $regex, string $query = '' )

Add a new rewrite tag (like %postname%).


Description

The $query parameter is optional. If it is omitted you must ensure that you call this on, or before, the ‘init’ hook. This is because $query defaults to "$tag=", and for this to work a new query var has to be added.


Parameters

$tag

(string) (Required) Name of the new rewrite tag.

$regex

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

$query

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

Default value: ''


Source

File: wp-includes/rewrite.php

function add_rewrite_tag( $tag, $regex, $query = '' ) {
	// validate the tag's name
	if ( strlen( $tag ) < 3 || $tag[0] != '%' || $tag[ strlen($tag) - 1 ] != '%' )
		return;

	global $wp_rewrite, $wp;

	if ( empty( $query ) ) {
		$qv = trim( $tag, '%' );
		$wp->add_query_var( $qv );
		$query = $qv . '=';
	}

	$wp_rewrite->add_rewrite_tag( $tag, $regex, $query );
}


Changelog

Changelog
Version Description
WP-2.1.0 Introduced.