56 lines
1.4 KiB
PHP
56 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* Jetpack Plugin.
|
|
*
|
|
* @package visual-portfolio
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* Class Visual_Portfolio_3rd_Jetpack
|
|
*/
|
|
class Visual_Portfolio_3rd_Jetpack {
|
|
/**
|
|
* Visual_Portfolio_3rd_Jetpack constructor.
|
|
*/
|
|
public function __construct() {
|
|
// Fix conflict with lazy loading.
|
|
add_filter( 'jetpack_lazy_images_skip_image_with_attributes', array( $this, 'jetpack_lazy_images_skip_image_with_attributes' ), 15, 2 );
|
|
|
|
add_action( 'wp_enqueue_scripts', array( $this, 'wp_enqueue_scripts' ), 20 );
|
|
}
|
|
|
|
/**
|
|
* We need to init the Jetpack lazy loading manually after Visual Portfolio AJAX completed.
|
|
*/
|
|
public function wp_enqueue_scripts() {
|
|
$wp_scripts = wp_scripts();
|
|
$jetpack_ll_handler = 'jetpack-lazy-images';
|
|
|
|
if ( ! isset( $wp_scripts->registered[ $jetpack_ll_handler ] ) ) {
|
|
return;
|
|
}
|
|
|
|
Visual_Portfolio_Assets::register_script( 'visual-portfolio-3rd-jetpack', 'build/assets/js/3rd/plugin-jetpack' );
|
|
|
|
$wp_scripts->registered[ $jetpack_ll_handler ]->deps[] = 'visual-portfolio-3rd-jetpack';
|
|
}
|
|
|
|
/**
|
|
* Skip Jetpack lazy loading when data-src attribute added to image.
|
|
*
|
|
* @param boolean $return skip lazy Jetpack.
|
|
* @param array $attributes image attributes.
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function jetpack_lazy_images_skip_image_with_attributes( $return, $attributes ) {
|
|
return isset( $attributes['data-src'] );
|
|
}
|
|
}
|
|
|
|
new Visual_Portfolio_3rd_Jetpack();
|