PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.5.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.5.0
4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Integrations / Elementor / ElementorCoreBlockStylesService.php
surecart / app / src / Integrations / Elementor Last commit date
Conditions 1 year ago Documents 1 year ago DynamicTags 4 months ago Widgets 2 months ago assets 4 months ago ElementorBlockAdapterService.php 4 months ago ElementorCoreBlockStylesService.php 1 year ago ElementorDocumentsService.php 1 year ago ElementorDynamicTagsService.php 1 year ago ElementorEditorService.php 1 year ago ElementorFseScriptLoaderService.php 1 year ago ElementorServiceProvider.php 8 months ago ElementorShortcodeService.php 1 year ago ElementorTemplatesService.php 4 months ago ElementorWidgetsService.php 8 months ago
ElementorCoreBlockStylesService.php
73 lines
1 <?php
2
3 namespace SureCart\Integrations\Elementor;
4
5 /**
6 * Elementor core block styles service.
7 * This service is responsible for enqueuing core block styles for our product page
8 * as Elementor dequeues them in certain cases resulting in broken styles.
9 */
10 class ElementorCoreBlockStylesService {
11 /**
12 * Whether core block styles are enqueued.
13 *
14 * @var array
15 */
16 protected $enqueued = [
17 'wp-block-library' => false,
18 'wp-block-library-theme' => false,
19 ];
20
21 /**
22 * Bootstrap the service.
23 *
24 * @return void
25 */
26 public function bootstrap() {
27 // check if core block styles are (should be)enqueued.
28 add_action( 'wp_enqueue_scripts', [ $this, 'areCoreBlockStylesEnqueued' ], 900 );
29 // enqueue core block styles if they have been dequeued for our product page.
30 add_action( 'wp_enqueue_scripts', [ $this, 'maybeEnqueueCoreBlockStyles' ], 9999 );
31 }
32
33 /**
34 * Check if core block styles are originally enqueued.
35 * That way we know if we need to re-enqueue them.
36 *
37 * @return void
38 */
39 public function areCoreBlockStylesEnqueued() {
40 $this->enqueued = [
41 'wp-block-library' => wp_style_is( 'wp-block-library', 'enqueued' ),
42 'wp-block-library-theme' => wp_style_is( 'wp-block-library-theme', 'enqueued' ),
43 ];
44 }
45
46 /**
47 * Maybe enqueue core block styles.
48 *
49 * @return void
50 */
51 public function maybeEnqueueCoreBlockStyles() {
52 // separate core block assets are not loaded, so don't enqueue.
53 if ( wp_should_load_separate_core_block_assets() ) {
54 return;
55 }
56
57 // not a product, so don't enqueue.
58 if ( 'sc_product' !== get_post_type() ) {
59 return;
60 }
61
62 // not originally enqueued, so don't enqueue.
63 if ( $this->enqueued['wp-block-library'] ) {
64 wp_enqueue_style( 'wp-block-library' );
65 }
66
67 // enqueue the theme block library if it's not already enqueued.
68 if ( $this->enqueued['wp-block-library-theme'] ) {
69 wp_enqueue_style( 'wp-block-library-theme' );
70 }
71 }
72 }
73