2121 * @return array|mixed The full settings array or a specific setting value.
2222 */
2323function ableplayer_get_settings ( $ setting = '' ) {
24- $ settings = get_option ( 'ableplayer_settings ' , ableplayer_default_settings () );
24+ $ settings = get_option ( 'ableplayer_settings ' , array () );
25+ $ settings = array_merge ( $ settings , ableplayer_default_settings () );
2526 if ( $ setting && isset ( $ settings [ $ setting ] ) ) {
2627 return $ settings [ $ setting ];
2728 }
@@ -333,6 +334,71 @@ function ableplayer_settings_form() {
333334 );
334335 ?>
335336 </p>
337+ <p>
338+ <?php
339+ ableplayer_settings_field (
340+ array (
341+ 'name ' => 'youtube_nocookie ' ,
342+ 'label ' => __ ( 'Set YouTube videos to use the nocookie parameter for increased privacy. ' , 'ableplayer ' ),
343+ 'type ' => 'checkbox-single ' ,
344+ )
345+ );
346+ ?>
347+ </p>
348+ <p>
349+ <?php
350+ ableplayer_settings_field (
351+ array (
352+ 'name ' => 'default_poster ' ,
353+ 'label ' => __ ( 'Set a default Poster image for videos. ' , 'ableplayer ' ),
354+ 'type ' => 'media-upload ' ,
355+ )
356+ );
357+ ?>
358+ </p>
359+ <p>
360+ <?php
361+ ableplayer_settings_field (
362+ array (
363+ 'name ' => 'default_speed ' ,
364+ 'label ' => __ ( 'Preferred speed control icon ' , 'ableplayer ' ),
365+ 'type ' => 'select ' ,
366+ 'default ' => array (
367+ 'animals ' => __ ( 'Animals: Tortoise and Hare ' , 'ableplayer ' ),
368+ 'arrows ' => __ ( 'Arrows ' , 'ableplayer ' ),
369+ )
370+ )
371+ );
372+ ?>
373+ </p>
374+ <p>
375+ <?php
376+ ableplayer_settings_field (
377+ array (
378+ 'name ' => 'hide_controls ' ,
379+ 'label ' => __ ( 'Hide controls when not interacting with player ' , 'ableplayer ' ),
380+ 'type ' => 'checkbox-single ' ,
381+ )
382+ );
383+ ?>
384+ </p>
385+ <p>
386+ <?php
387+ ableplayer_settings_field (
388+ array (
389+ 'name ' => 'default_heading ' ,
390+ 'label ' => __ ( 'Default hidden heading level ' , 'ableplayer ' ),
391+ 'type ' => 'select ' ,
392+ 'default ' => array (
393+ 'auto ' => 'Automatically set ' ,
394+ 'h2 ' => 'H2 ' ,
395+ 'h3 ' => 'H3 ' ,
396+ 'h4 ' => 'H4 ' ,
397+ )
398+ )
399+ );
400+ ?>
401+ </p>
336402 <p>
337403 <input type="submit" name="ableplayer_settings" class="button-primary" value="<?php esc_html_e ( 'Save Settings ' , 'ableplayer ' ); ?> "/>
338404 </p>
@@ -346,7 +412,31 @@ function ableplayer_settings_form() {
346412 <div class="inside">
347413 <form method="post" action="<?php echo esc_url ( admin_url ( 'admin.php?page=ableplayer-config#ableplayer-text ' ) ); ?> ">
348414 <input type="hidden" name="_wpnonce" value="<?php echo esc_attr ( wp_create_nonce ( 'ableplayer-nonce ' ) ); ?> " />
349-
415+ <?php
416+ // For video references, only collect URLs; parse source from there.
417+ // youtube-id, vimeo-id (required)
418+ // youtube-desc-id - separate, described video
419+ // vimeo-desc-id - separate, described video
420+ // youtube-nocookie - embed YouTube untracked for privacy.
421+ // id - unique ID. Required if you want it to be persistent.
422+ // autoplay - true/false
423+ // loop - true/false
424+ // playsinline - true/false. Setting 'false' will let some mobile devices use their own internal media players.
425+ // hidecontrols - true/false.
426+ // poster - URL for poster image. (Media selector)
427+ // width - value in pixels. (OMIT)
428+ // height - pixels (OMIT)
429+ // heading level
430+ // speed - animals/arrows.
431+ // start - media start time
432+ // volume - starting volume
433+ // seekinterval - travel period for forward/rewind.
434+ // nowplaying - true/false to include "selected track" section. [not clear what this does]
435+ // subtitles - upload
436+ // language - upload & name
437+ // audio description - upload
438+ // chapters - upload
439+ ?>
350440 <p>
351441 <input type="submit" name="save" class="button-primary" value="<?php esc_html_e ( 'Save Custom Text ' , 'ableplayer ' ); ?> "/>
352442 </p>
@@ -432,6 +522,11 @@ function ableplayer_default_settings() {
432522 'replace_video ' => 'false ' ,
433523 'replace_audio ' => 'false ' ,
434524 'replace_playlists ' => 'false ' ,
525+ 'youtube_nocookie ' => 'false ' ,
526+ 'default_poster ' => '' ,
527+ 'default_speed ' => 'animals ' ,
528+ 'hide_controls ' => 'false ' ,
529+ 'default_heading ' => 'auto ' ,
435530 );
436531
437532 return $ settings ;
0 commit comments