diff --git a/src/wp-includes/functions.php b/src/wp-includes/functions.php index de0042ff32..0962da02f8 100644 --- a/src/wp-includes/functions.php +++ b/src/wp-includes/functions.php @@ -5077,7 +5077,9 @@ function wp_allowed_protocols() { if ( empty( $protocols ) ) { $protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn', 'tel', 'fax', 'xmpp', 'webcal', 'urn' ); + } + if ( ! did_action( 'wp_loaded' ) ) { /** * Filters the list of protocols allowed in HTML attributes. * @@ -5085,7 +5087,7 @@ function wp_allowed_protocols() { * * @param array $protocols Array of allowed protocols e.g. 'http', 'ftp', 'tel', and more. */ - $protocols = apply_filters( 'kses_allowed_protocols', $protocols ); + $protocols = array_unique( (array) apply_filters( 'kses_allowed_protocols', $protocols ) ); } return $protocols;