Ticket #19871: 19871.diff
File 19871.diff, 2.0 KB (added by , 13 years ago) |
---|
-
wp-includes/rewrite.php
24 24 /** 25 25 * Add a new tag (like %postname%). 26 26 * 27 * Warning: you must call this on init or earlier, otherwise the query var 28 * addition stuff won't work. 27 * The $query parameter is optional. If it is omitted you must ensure that 28 * you call this on, or before, the 'init' hook. This is because $query defaults 29 * to "$tagname=", and for this to work a new query var has to be added. 29 30 * 31 * @see WP_Rewrite::add_rewrite_tag() 30 32 * @since 2.1.0 31 33 * 32 * @param string $tagname 33 * @param string $regex 34 * @param string $tagname Name of the new rewrite tag. 35 * @param string $regex Regular expression to substitute the tag for in rewrite rules. 36 * @param string $query String to append to the rewritten query. Must end in '='. Optional. 34 37 */ 35 function add_rewrite_tag( $tagname, $regex) {36 // validation38 function add_rewrite_tag( $tagname, $regex, $query = '' ) { 39 // validate the tagname 37 40 if ( strlen($tagname) < 3 || $tagname[0] != '%' || $tagname[strlen($tagname)-1] != '%' ) 38 41 return; 39 42 40 $qv = trim($tagname, '%');43 global $wp_rewrite, $wp; 41 44 42 global $wp_rewrite, $wp; 43 $wp->add_query_var($qv); 44 $wp_rewrite->add_rewrite_tag($tagname, $regex, $qv . '='); 45 if ( empty( $query ) ) { 46 $qv = trim( $tagname, '%' ); 47 $wp->add_query_var( $qv ); 48 $query = $qv . '='; 49 } 50 51 $wp_rewrite->add_rewrite_tag( $tagname, $regex, $query ); 45 52 } 46 53 47 54 /** … … 1137 1144 } 1138 1145 1139 1146 /** 1140 * A ppend or update tag, pattern, and query for replacement.1147 * Add or update existing rewrite tags (e.g. %postname%). 1141 1148 * 1142 1149 * If the tag already exists, replace the existing pattern and query for 1143 1150 * that tag, otherwise add the new tag, pattern, and query to the end of the 1144 1151 * arrays. 1145 1152 * 1146 * @internal What is the purpose of this function again? Need to finish long1147 * description.1148 *1149 1153 * @since 1.5.0 1150 1154 * @access public 1151 1155 *