Skip to content

Commit 7c1e74b

Browse files
committed
Make Ableplayer load deferred, only enqueue Vimeo if enabled or used in shortcode.
1 parent 5e32908 commit 7c1e74b

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

src/ableplayer.php

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ function ableplayer_enqueue_scripts() {
5454
// Register/enqueue other dependencies.
5555
$cookie_js = ( $debug ) ? '/js.cookie.js' : '/js.cookie.min.js';
5656
wp_enqueue_script( 'js-cookie', plugins_url( 'thirdparty', __FILE__ ) . $cookie_js, array(), $version, true );
57-
wp_enqueue_script( 'vimeo', 'https://player.vimeo.com/api/player.js', array(), $version, true );
57+
if ( 'true' === ableplayer_get_settings( 'vimeo' ) ) {
58+
wp_enqueue_script( 'vimeo', 'https://player.vimeo.com/api/player.js', array(), $version, true );
59+
}
5860
wp_enqueue_style( 'ableplayer-video', plugins_url( 'assets', __FILE__ ) . '/css/media.css', array(), $version );
5961
$media_js = ( $debug ) ? 'media.js' : 'media.min.js';
6062
wp_register_script(
@@ -112,7 +114,16 @@ function ableplayer_enqueue_scripts() {
112114
* @return {array}
113115
*/
114116
$dependencies = apply_filters( 'ableplayer_dependencies', $dependencies, $debug );
115-
wp_enqueue_script( 'ableplayer', $js_dir, $dependencies, $version, true );
117+
wp_enqueue_script(
118+
'ableplayer',
119+
$js_dir,
120+
$dependencies,
121+
$version,
122+
array(
123+
'in_footer' => true,
124+
'strategy' => 'defer',
125+
)
126+
);
116127
wp_enqueue_style( 'ableplayer', $css_dir, array(), $version );
117128
}
118129
add_action( 'wp_enqueue_scripts', 'ableplayer_enqueue_scripts' );
@@ -434,6 +445,13 @@ function ableplayer_shortcode( $atts, $content = null ) {
434445
$atts,
435446
'ableplayer'
436447
);
448+
// If vimeo ID is set, enqueue the vimeo player.
449+
if ( $all_atts['vimeo-id'] ) {
450+
$debug = ( SCRIPT_DEBUG || ABLEPLAYER_DEBUG ) ? true : false;
451+
$version = ABLEPLAYER_VERSION;
452+
$version = ( $debug ) ? $version . '-' . wp_rand( 1000, 9999 ) : $version;
453+
wp_enqueue_script( 'vimeo', 'https://player.vimeo.com/api/player.js', array( 'ableplayer' ), $version, true );
454+
}
437455

438456
$source = '';
439457
$datasource = '';

0 commit comments

Comments
 (0)