block_core_navigation_link_maybe_urldecode()
Decodes a url if it's encoded, returning the same url if not.
No Hooks.
Returns
String. $url Returns the decoded url.
Usage
block_core_navigation_link_maybe_urldecode( $url );
- $url(string) (required)
- The url to decode.
Changelog
| Since 6.2.0 | Introduced. |
block_core_navigation_link_maybe_urldecode() block core navigation link maybe urldecode code WP 7.0
function block_core_navigation_link_maybe_urldecode( $url ) {
$is_url_encoded = false;
$query = parse_url( $url, PHP_URL_QUERY );
$query_params = wp_parse_args( $query );
foreach ( $query_params as $query_param ) {
$can_query_param_be_encoded = is_string( $query_param ) && ! empty( $query_param );
if ( ! $can_query_param_be_encoded ) {
continue;
}
if ( rawurldecode( $query_param ) !== $query_param ) {
$is_url_encoded = true;
break;
}
}
if ( $is_url_encoded ) {
return rawurldecode( $url );
}
return $url;
}