Skip to content

Commit 2be6aaf

Browse files
committed
Initial global settings.
1 parent ce4015f commit 2be6aaf

File tree

1 file changed

+97
-2
lines changed

1 file changed

+97
-2
lines changed

src/inc/settings.php

Lines changed: 97 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
* @return array|mixed The full settings array or a specific setting value.
2222
*/
2323
function 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

Comments
 (0)