diff --git a/includes/core/class-form.php b/includes/core/class-form.php index 6a3b74d4..beb43872 100644 --- a/includes/core/class-form.php +++ b/includes/core/class-form.php @@ -775,6 +775,7 @@ if ( ! class_exists( 'um\core\Form' ) ) { $form[ $k ] = sanitize_textarea_field( $form[ $k ] ); } break; + case 'oembed': case 'url': $f = UM()->builtin()->get_a_field( $k ); diff --git a/includes/core/um-filters-fields.php b/includes/core/um-filters-fields.php index e6446382..78211b89 100644 --- a/includes/core/um-filters-fields.php +++ b/includes/core/um-filters-fields.php @@ -22,6 +22,30 @@ function um_edit_label_all_fields( $label, $data ) { add_filter( 'um_edit_label_all_fields', 'um_edit_label_all_fields', 10, 2 ); +/** + * Outputs a oEmbed field + * + * @param string $value + * @param array $data + * + * @return string + */ +function um_profile_field_filter_hook__oembed( $value, $data ) { + if ( empty( $value ) ) { + return ''; + } + $responce = wp_oembed_get( $value ); + if ( empty( $responce ) ) { + $value = '' . esc_html( $value ) . ''; + } else { + $value = $responce; + } + + return $value; +} +add_filter( 'um_profile_field_filter_hook__oembed', 'um_profile_field_filter_hook__oembed', 99, 2 ); + + /** * Outputs a SoundCloud track *