A WordPress-centric search engine for devs and theme authors



add_rewrite_tag ›

Since2.1.0
Deprecatedn/a
add_rewrite_tag ( $tag, $regex, $query = '' )
Parameters: (3)
  • (string) $tag Name of the new rewrite tag.
    Required: Yes
  • (string) $regex Regular expression to substitute the tag for in rewrite rules.
    Required: Yes
  • (string) $query Optional. String to append to the rewritten query. Must end in '='. Default empty.
    Required: No
    Default: (empty)
Defined at:
Codex:

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

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



Source

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 );
}