ID ) ) { return; } // JS wp_register_script( 'pretty-photo', EASY_IMAGE_GALLERY_URL . 'includes/lib/prettyphoto/jquery.prettyPhoto.js', array( 'jquery' ), EASY_IMAGE_GALLERY_VERSION, true ); wp_register_script( 'fancybox', EASY_IMAGE_GALLERY_URL . 'includes/lib/fancybox/jquery.fancybox.min.js', array( 'jquery' ), EASY_IMAGE_GALLERY_VERSION, true ); wp_register_script( 'luminous', EASY_IMAGE_GALLERY_URL . 'includes/lib/luminous/dist/Luminous.min.js', array( 'jquery' ), EASY_IMAGE_GALLERY_VERSION, false ); // CSS wp_register_style( 'pretty-photo', EASY_IMAGE_GALLERY_URL . 'includes/lib/prettyphoto/prettyPhoto.css', '', EASY_IMAGE_GALLERY_VERSION, 'screen' ); wp_register_style( 'fancybox', EASY_IMAGE_GALLERY_URL . 'includes/lib/fancybox/jquery.fancybox.min.css', '', EASY_IMAGE_GALLERY_VERSION, 'screen' ); // create a new 'css/easy-image-gallery.css' in your child theme to override CSS file completely if ( file_exists( get_stylesheet_directory() . '/css/easy-image-gallery.css' ) ) { wp_register_style( 'easy-image-gallery', get_stylesheet_directory_uri() . '/css/easy-image-gallery.css', '', EASY_IMAGE_GALLERY_VERSION, 'screen' ); } else { wp_register_style( 'easy-image-gallery', EASY_IMAGE_GALLERY_URL . 'includes/css/easy-image-gallery.css', '', EASY_IMAGE_GALLERY_VERSION, 'screen' ); } // post type is not allowed, return if ( ! easy_image_gallery_allowed_post_type() ) { return; } // needs to load only when there is a gallery if ( easy_image_gallery_is_gallery() ) { wp_enqueue_style( 'easy-image-gallery' ); } $linked_images = true; $gutenberg_galleries = easy_image_gallery_if_gutenberg_block(); $known_lightboxes = array( 'pretty-photo', 'fancybox', 'luminous' ); if ( ! empty( $gutenberg_galleries ) ) { foreach ( $gutenberg_galleries as $value ) { if ( ! in_array( $value, $known_lightboxes, true ) ) { continue; } if ( 'luminous' !== $value ) { wp_enqueue_style( $value ); } wp_enqueue_script( $value ); } } // only load the JS if gallery images are linked or the featured image is linked if ( $linked_images ) { $lightbox = easy_image_gallery_get_lightbox(); // Scripts that we need to remove for proper plugin functionality wp_dequeue_script( 'magnific-popup' ); // OceanWP theme wp_dequeue_script( 'oceanwp-lightbox' ); // OceanWP theme switch ( $lightbox ) { case 'prettyphoto': // CSS wp_enqueue_style( 'pretty-photo' ); // JS wp_enqueue_script( 'pretty-photo' ); break; case 'fancybox': // CSS wp_enqueue_style( 'fancybox' ); // JS wp_enqueue_script( 'fancybox' ); break; case 'luminous': // JS wp_enqueue_script( 'luminous' ); break; default: break; } // allow developers to load their own scripts here do_action( 'easy_image_gallery_scripts' ); } } add_action( 'wp_enqueue_scripts', 'easy_image_gallery_scripts', 20 ); /** * Checking if we have the Easy Image Gallery Gutenberg block in the post content * * @since 1.4.0 */ function easy_image_gallery_if_gutenberg_block() { global $post; if ( ! function_exists( 'has_blocks' ) ) { return false; } $arr_lightboxes = array(); if ( has_blocks( $post->post_content ) ) { $blocks = parse_blocks( $post->post_content ); $arr_attrs = array_column( $blocks, 'attrs' ); if ( in_array( 'devrix/easy-image-gallery-block', array_column( $blocks, 'blockName' ) ) ) { $arr_lightboxes = array_column( $arr_attrs, 'lightbox_option' ); } } return array_unique( $arr_lightboxes ); } /** * JS * * @since 1.0 */ function easy_image_gallery_js() { if ( ! easy_image_gallery_allowed_post_type() ) { return; } //if ( is_singular() ) : ?> ]*>(.*)<\/script>/is', $js, $matches ) ) { $js = $matches[1]; } wp_print_inline_script_tag( trim( $js ) ); ?> ]*>(.*)<\/script>/is', $js, $matches ) ) { $js = $matches[1]; } wp_print_inline_script_tag( trim( $js ) ); ?>