@@ -27,10 +27,10 @@ function ableplayer_generate( $format = 'shortcode' ) {
2727 $ string = '' ;
2828 $ array = array ();
2929 $ shortcode = 'ableplayer ' ;
30- $ keys = array ( 'youtube-id ' , 'vimeo-id ' , 'media-id ' , 'youtube-desc-id ' , 'youtube-sign-src ' , 'vimeo-desc-id ' , 'media-desc-id ' , 'media-asl-id ' , 'poster ' , 'captions ' , 'subtitles ' , 'descriptions ' , 'chapters ' , 'autoplay ' , 'loop ' , 'playsinline ' , 'hidecontrols ' , 'heading ' , 'speed ' , 'start ' , 'volume ' , 'seekinterval ' );
30+ $ keys = array ( 'youtube-id ' , 'vimeo-id ' , 'media-id ' , 'media-id-url ' , ' media-desc-id-url ' , ' media-asl-id-url ' , ' youtube-desc-id ' , 'youtube-sign-src ' , 'vimeo-desc-id ' , 'media-desc-id ' , 'media-asl-id ' , 'poster ' , 'captions ' , 'subtitles ' , 'descriptions ' , 'chapters ' , 'autoplay ' , 'loop ' , 'playsinline ' , 'hidecontrols ' , 'heading ' , 'speed ' , 'start ' , 'volume ' , 'seekinterval ' );
3131 $ post = map_deep ( $ _POST , 'sanitize_text_field ' );
3232
33- if ( empty ( $ post ['youtube-id ' ] ) && empty ( $ post ['vimeo-id ' ] ) && empty ( $ post ['media-id ' ] ) ) {
33+ if ( empty ( $ post ['youtube-id ' ] ) && empty ( $ post ['vimeo-id ' ] ) && empty ( $ post ['media-id ' ] ) && empty ( $ post [ ' media-id-url ' ] ) ) {
3434 return array (
3535 'message ' => __ ( 'You must specify at least one media source ' , 'ableplayer ' ),
3636 'type ' => 'error ' ,
@@ -44,6 +44,9 @@ function ableplayer_generate( $format = 'shortcode' ) {
4444 if ( 'heading ' === $ key && ableplayer_get_settings ( 'default_heading ' ) === $ v ) {
4545 continue ;
4646 }
47+ if ( str_contains ( $ key , '-url ' ) ) {
48+ $ key = str_replace ( '-url ' , '' , $ key );
49+ }
4750 if ( '' !== $ v ) {
4851 if ( in_array ( $ key , array ( 'captions ' , 'subtitles ' , 'descriptions ' , 'chapters ' ), true ) ) {
4952 $ v .= ableplayer_shortcode_track ( $ key , $ post );
@@ -178,6 +181,7 @@ function ableplayer_generator_fields( $data ) {
178181 'youtube ' => 'YouTube ' ,
179182 'vimeo ' => 'Vimeo ' ,
180183 'local ' => 'Local ' ,
184+ 'media ' => 'URL ' ,
181185 ),
182186 ),
183187 'generator '
@@ -221,6 +225,43 @@ function ableplayer_generator_fields( $data ) {
221225 );
222226 ?>
223227 </p>
228+ <p class="media-sources media">
229+ <?php
230+ ableplayer_settings_field (
231+ array (
232+ 'name ' => 'media-id-url ' ,
233+ 'label ' => __ ( 'URL Source ' , 'ableplayer ' ),
234+ 'type ' => 'url ' ,
235+ 'atts ' => array (
236+ 'placeholder ' => 'https://example.com ' ,
237+ ),
238+ ),
239+ 'generator '
240+ );
241+ ableplayer_settings_field (
242+ array (
243+ 'name ' => 'media-desc-id-url ' ,
244+ 'label ' => __ ( 'URL for Audio Described Source ' , 'ableplayer ' ),
245+ 'type ' => 'url ' ,
246+ 'atts ' => array (
247+ 'placeholder ' => 'https://example.com ' ,
248+ ),
249+ ),
250+ 'generator '
251+ );
252+ ableplayer_settings_field (
253+ array (
254+ 'name ' => 'media-asl-id-url ' ,
255+ 'label ' => __ ( 'URL for Sign Language Source ' , 'ableplayer ' ),
256+ 'type ' => 'url ' ,
257+ 'atts ' => array (
258+ 'placeholder ' => 'https://example.com ' ,
259+ ),
260+ ),
261+ 'generator '
262+ );
263+ ?>
264+ </p>
224265 <p class="media-sources vimeo">
225266 <?php
226267 ableplayer_settings_field (
0 commit comments