Enqueue/Dequeue Scripte und Styles

/*
 *	Enqueue/Dequeue Scripte und Styles
 *  ermittelbar durch Query Monitor
 */
add_action( 'wp_enqueue_scripts', 'enqueue_dequeue', 9999 );
function enqueue_dequeue()
{

	$load_scripts = false;
	if ( is_singular() ) {
		$post = get_post();

		//
		// Contact-Form-7
		//
		$shortcodes = [
			'contact-form-7',
		];
		$scripts    = [
			'contact-form-7',
			'swv',
		];
		$styles     = [
			'contact-form-7',
		];
		dequeueUnused( $post, $shortcodes, $scripts, $styles );
		
		
		//
		// gridmaster 
		//
		//
		$shortcodes = [
			'gridmaster',
		];
		$scripts    = [
			'gridmaster-frontend',
		];
		$styles     = [
			'gridmaster-frontend',
		];
		dequeueUnused( $post, $shortcodes, $scripts, $styles );
		
		
		//
		// dflip 
		//
		//
		$shortcodes = [
			'dflip',
		];
		$scripts    = [
			'dflip-script',
		];
		$styles     = [
			'dflip-style',
		];
		dequeueUnused( $post, $shortcodes, $scripts, $styles );


		//
		// testimonial_slider 
		//
		//
		$shortcodes = [
			'tss_testimonial_slider ',
			'tss_item text',
		];
		$scripts    = [
			'owl-carousel',
		];
		$styles     = [
			'owl-carousel',
		];
		dequeueUnused( $post, $shortcodes, $scripts, $styles );
		
		
		// Commonsbooking
		//
		$shortcodes = [
			'commonsbooking_tag',
			'cb_bookings',
			'cb_locations',
			'cb_items',
			'cb_map',
			'cb_items_table',
		];
		$scripts    = [
			'cb-scripts-vendor',
			'cb-scripts-public',
			'cb-scripts-daterangepicker',
			'cb-scripts-moment',
			'cb-scripts-select2',
		];
		$styles     = [
			'cb-styles-vendor',
			'cb-styles-public',
			'cb-styles-daterangepicker',
			'cb-styles-select2',
		];
		dequeueUnused( $post, $shortcodes, $scripts, $styles );


		//
		// UsersWP
		//
		$shortcodes = [
			'uwp_register',
			'uwp_login',
			'uwp_account',
			'uwp_forgot',
			'uwp_reset',
			'uwp_change',
			'uwp_profile',
			'uwp_users',
		];
		$scripts    = [
			'userswp',
			'select2',
			'bootstrap-js-bundle',
		];
		$styles     = [
			'ayecode-ui',
			'font-awesome',
		];
		dequeueUnused( $post, $shortcodes, $scripts, $styles );
	}
}

function dequeueUnused( $post, $shortcodes, $scripts, $styles )
{

	$load_scripts = false;
	if ( is_singular() ) {

		foreach ( $shortcodes as $shortcode ) {
			if ( has_shortcode( $post->post_content, $shortcode ) ) {
				$load_scripts = true;
			}
		}
	}
	if ( ! $load_scripts ) {
		foreach ( $scripts as $script ) {
			wp_dequeue_script( $script );
		}
		foreach ( $styles as $style ) {
			wp_dequeue_style( $style );
		}
	}
}