diff --git a/includes/core/um-filters-fields.php b/includes/core/um-filters-fields.php index ec453756..2c23ad9d 100644 --- a/includes/core/um-filters-fields.php +++ b/includes/core/um-filters-fields.php @@ -32,10 +32,20 @@ add_filter( 'um_edit_label_all_fields', 'um_edit_label_all_fields', 10, 2 ); */ function um_profile_field_filter_hook__soundcloud_track( $value, $data ) { - if ( ! is_numeric( $value ) ) { - return __( 'Invalid soundcloud track ID', 'ultimate-member' ); + if ( !is_numeric( $value ) ) { + # if we're passed a track url: + if ( preg_match( '/https:\/\/soundcloud.com\/.*/', $value ) ) { + $value = '
+ +
'; + return $value; + } else { + # neither a track id nor url: + return __( 'Invalid soundcloud track ID', 'ultimate-member' ); + } } - + + # if we're passed a track id: $value = '
';