Shortcodes: prevent registration of invalid shortcode names.
Adds unit tests. Props miqrogroove. Fixes #34090. Built from https://develop.svn.wordpress.org/trunk@34745 git-svn-id: http://core.svn.wordpress.org/trunk@34710 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
82f244414e
commit
d8179a2a1f
|
@ -88,6 +88,19 @@ $shortcode_tags = array();
|
||||||
*/
|
*/
|
||||||
function add_shortcode($tag, $func) {
|
function add_shortcode($tag, $func) {
|
||||||
global $shortcode_tags;
|
global $shortcode_tags;
|
||||||
|
|
||||||
|
if ( '' == trim( $tag ) ) {
|
||||||
|
$message = __( 'Invalid shortcode name. Empty name given.' );
|
||||||
|
_doing_it_wrong( __FUNCTION__, $message, '4.4.0' );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( 0 !== preg_match( '@[<>&/\[\]\x00-\x20]@', $tag ) ) {
|
||||||
|
$message = sprintf( __( 'Invalid shortcode name: %s Do not use spaces or reserved chars: & / < > [ ]' ), $tag );
|
||||||
|
_doing_it_wrong( __FUNCTION__, $message, '4.4.0' );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$shortcode_tags[ $tag ] = $func;
|
$shortcode_tags[ $tag ] = $func;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '4.4-alpha-34744';
|
$wp_version = '4.4-alpha-34745';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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