mirror of
https://github.com/WordPress/WordPress.git
synced 2024-12-22 17:18:32 +01:00
Improve the parameter names and inline documentation for add_rewrite_rule()
, WP_Rewrite::add_rule()
, and WP_Rewrite::add_external_rule()
.
Fixes #34197 Built from https://develop.svn.wordpress.org/trunk@34946 git-svn-id: http://core.svn.wordpress.org/trunk@34911 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
77ae65acdb
commit
db4f4c5538
@ -1541,56 +1541,54 @@ class WP_Rewrite {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a straight rewrite rule.
|
* Adds a rewrite rule that transforms a URL structure to a set of query vars.
|
||||||
*
|
*
|
||||||
* Any value in the $after parameter that isn't 'bottom' will be placed at
|
* Any value in the $after parameter that isn't 'bottom' will result in the rule
|
||||||
* the top of the rules.
|
* being placed at the top of the rewrite rules.
|
||||||
*
|
*
|
||||||
* @since 2.1.0
|
* @since 2.1.0
|
||||||
* @since 4.4.0 Array support was added to the `$redirect` parameter.
|
* @since 4.4.0 Array support was added to the `$query` parameter.
|
||||||
* @access public
|
* @access public
|
||||||
*
|
*
|
||||||
* @param string $regex Regular expression to match against request.
|
* @param string $regex Regular expression to match request against.
|
||||||
* @param string|array $redirect URL regex redirects to when regex matches request, or array
|
* @param string|array $query The corresponding query vars for this rewrite rule.
|
||||||
* of query vars and values.
|
* @param string $after Optional. Priority of the new rule. Accepts 'top'
|
||||||
* @param string $after Optional, default is bottom. Location to place rule.
|
* or 'bottom'. Default 'bottom'.
|
||||||
*/
|
*/
|
||||||
public function add_rule( $regex, $redirect, $after = 'bottom' ) {
|
public function add_rule( $regex, $query, $after = 'bottom' ) {
|
||||||
if ( is_array( $redirect ) ) {
|
if ( is_array( $query ) ) {
|
||||||
$external = false;
|
$external = false;
|
||||||
$redirect = add_query_arg( $redirect, 'index.php' );
|
$query = add_query_arg( $query, 'index.php' );
|
||||||
} else {
|
} else {
|
||||||
$index = false === strpos( $redirect, '?' ) ? strlen( $redirect ) : strpos( $redirect, '?' );
|
$index = false === strpos( $query, '?' ) ? strlen( $query ) : strpos( $query, '?' );
|
||||||
$front = substr( $redirect, 0, $index );
|
$front = substr( $query, 0, $index );
|
||||||
|
|
||||||
$external = $front != $this->index;
|
$external = $front != $this->index;
|
||||||
}
|
}
|
||||||
|
|
||||||
// "external" = it doesn't redirect to index.php
|
// "external" = it doesn't correspond to index.php
|
||||||
if ( $external ) {
|
if ( $external ) {
|
||||||
$this->add_external_rule( $regex, $redirect );
|
$this->add_external_rule( $regex, $query );
|
||||||
} else {
|
} else {
|
||||||
if ( 'bottom' == $after ) {
|
if ( 'bottom' == $after ) {
|
||||||
$this->extra_rules = array_merge( $this->extra_rules, array( $regex => $redirect ) );
|
$this->extra_rules = array_merge( $this->extra_rules, array( $regex => $query ) );
|
||||||
} else {
|
} else {
|
||||||
$this->extra_rules_top = array_merge( $this->extra_rules_top, array( $regex => $redirect ) );
|
$this->extra_rules_top = array_merge( $this->extra_rules_top, array( $regex => $query ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a rule that doesn't redirect to index.php.
|
* Adds a rewrite rule that doesn't correspond to index.php.
|
||||||
*
|
|
||||||
* Can redirect to any place.
|
|
||||||
*
|
*
|
||||||
* @since 2.1.0
|
* @since 2.1.0
|
||||||
* @access public
|
* @access public
|
||||||
*
|
*
|
||||||
* @param string $regex Regular expression to match against request.
|
* @param string $regex Regular expression to match request against.
|
||||||
* @param string $redirect URL regex redirects to when regex matches request.
|
* @param string $query The corresponding query vars for this rewrite rule.
|
||||||
*/
|
*/
|
||||||
public function add_external_rule($regex, $redirect) {
|
public function add_external_rule( $regex, $query ) {
|
||||||
$this->non_wp_rules[$regex] = $redirect;
|
$this->non_wp_rules[ $regex ] = $query;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -7,22 +7,25 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a straight rewrite rule.
|
* Adds a rewrite rule that transforms a URL structure to a set of query vars.
|
||||||
|
*
|
||||||
|
* Any value in the $after parameter that isn't 'bottom' will result in the rule
|
||||||
|
* being placed at the top of the rewrite rules.
|
||||||
*
|
*
|
||||||
* @since 2.1.0
|
* @since 2.1.0
|
||||||
* @since 4.4.0 Array support was added to the `$redirect` parameter.
|
* @since 4.4.0 Array support was added to the `$query` parameter.
|
||||||
*
|
*
|
||||||
* @global WP_Rewrite $wp_rewrite WordPress Rewrite Component.
|
* @global WP_Rewrite $wp_rewrite WordPress Rewrite Component.
|
||||||
*
|
*
|
||||||
* @param string $regex Regular Expression to match request against.
|
* @param string $regex Regular expression to match request against.
|
||||||
* @param string|array $redirect Page to redirect to, or array of query vars and values.
|
* @param string|array $query The corresponding query vars for this rewrite rule.
|
||||||
* @param string $after Optional. Location where to insert the new rule. Accepts 'top',
|
* @param string $after Optional. Priority of the new rule. Accepts 'top'
|
||||||
* or 'bottom'. Default 'bottom'.
|
* or 'bottom'. Default 'bottom'.
|
||||||
*/
|
*/
|
||||||
function add_rewrite_rule( $regex, $redirect, $after = 'bottom' ) {
|
function add_rewrite_rule( $regex, $query, $after = 'bottom' ) {
|
||||||
global $wp_rewrite;
|
global $wp_rewrite;
|
||||||
|
|
||||||
$wp_rewrite->add_rule( $regex, $redirect, $after );
|
$wp_rewrite->add_rule( $regex, $query, $after );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '4.4-alpha-34945';
|
$wp_version = '4.4-alpha-34946';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
Loading…
Reference in New Issue
Block a user