Inventory_Presser_Slider::include_scripts( array $instance, string $widget_id )

Enqueues stylesheets and JavaScripts


Parameters Parameters

$instance

(array) (Required) The widget settings.

$widget_id

(string) (Required) The unique widget ID.


Top ↑

Return Return

(void)


Top ↑

Source Source

File: includes/widget/class-widget-inventory-slider.php

	protected function include_scripts( $instance, $widget_id ) {
		// Need flexslider scripts and styles.
		wp_enqueue_style( 'flexslider' );
		wp_enqueue_style( 'invp-flexslider' );
		wp_enqueue_style( 'invp-slider' );

		// Spin-up script.
		wp_enqueue_script( 'invp-slider' );

		// Generate unique slider ID from widget ID.
		$slider_id = 'widget-slider-' . sanitize_html_class( $widget_id );

		// Initialize the global config object only once.
		static $config_initialized = false;
		if ( ! $config_initialized ) {
			wp_add_inline_script(
				'invp-slider',
				'if (typeof window.invpSliderConfigs === "undefined") { window.invpSliderConfigs = {}; }',
				'before'
			);
			$config_initialized = true;
		}

		// Store this widget's configuration in the global object.
		wp_add_inline_script(
			'invp-slider',
			'window.invpSliderConfigs["' . esc_js( $slider_id ) . '"] = ' . wp_json_encode(
				array(
					'showcount' => $instance['showcount'] ?? 3,
					'sliderId'  => $slider_id,
				)
			) . ';',
			'before'
		);
	}