upgraded to 4.14

This commit is contained in:
2021-12-20 18:06:11 +00:00
parent 80f1e87db9
commit 3166bdf932
153 changed files with 5204 additions and 1003 deletions

View File

@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
/**
* Compatibility for Popup Maker plugin.
*
* @since ??
* @since 4.13.0
*
* @link https://wordpress.org/plugins/popup-maker/
*/
@ -22,7 +22,7 @@ class ET_Builder_Plugin_Compat_Popup_Maker extends ET_Builder_Plugin_Compat_Base
/**
* Constructor.
*
* @since ??
* @since 4.13.0
*/
public function __construct() {
$this->plugin_id = 'popup-maker/popup-maker.php';
@ -32,7 +32,7 @@ class ET_Builder_Plugin_Compat_Popup_Maker extends ET_Builder_Plugin_Compat_Base
/**
* Hook methods to WordPress.
*
* @since ??
* @since 4.13.0
*
* @return void
*/
@ -57,7 +57,7 @@ class ET_Builder_Plugin_Compat_Popup_Maker extends ET_Builder_Plugin_Compat_Base
/**
* Return false if Popup Maker is active to disable dynamic assets feature.
*
* @since ??
* @since 4.13.0
*
* @param bool $current_state Current state of the feature.
*
@ -76,7 +76,7 @@ class ET_Builder_Plugin_Compat_Popup_Maker extends ET_Builder_Plugin_Compat_Base
* Update Divi Builder selector for Popup Maker plugin.
* The purpose of this update is to make sure custom module styles applied to the content inside Popup Maker which placed outside the main page content and `#page-container` container
*
* @since ??
* @since 4.13.0
*
* @param string $selector Selector to modify.
*
@ -102,7 +102,7 @@ class ET_Builder_Plugin_Compat_Popup_Maker extends ET_Builder_Plugin_Compat_Base
* Update Divi Builder selector for Popup Maker plugin.
* The purpose of this update is to make sure custom module styles applied to the content inside Popup Maker which placed outside the main page content and `#et-boc` container
*
* @since ??
* @since 4.13.0
*
* @param string $selector Selector to modify.
*
@ -129,7 +129,7 @@ class ET_Builder_Plugin_Compat_Popup_Maker extends ET_Builder_Plugin_Compat_Base
* The purpose of this update is to make sure Divi main style is loaded along with the CPT style
* Otherwise Content inside Popup Maker plugin loses styles because it's placed outside the main page content and `#et-boc` container
*
* @since ??
* @since 4.13.0
*
* @param string $handle Handle to modify.
*

View File

@ -20,19 +20,17 @@ if ( ! defined( 'ABSPATH' ) ) {
*/
class ET_Builder_Plugin_Compat_SiteGround_Optimizer extends ET_Builder_Plugin_Compat_Base {
/**
* Stylesheet handle.
* Excluded stylesheets.
*
* @var null
*/
private $_stylesheet_handle = null;
private $_excluded = [];
/**
* Constructor
*/
public function __construct() {
$this->plugin_id = 'sg-cachepress/sg-cachepress.php';
$this->_stylesheet_handle = ET_Dynamic_Assets::init()->get_style_css_handle();
$this->plugin_id = 'sg-cachepress/sg-cachepress.php';
$this->init_hooks();
}
@ -42,42 +40,80 @@ class ET_Builder_Plugin_Compat_SiteGround_Optimizer extends ET_Builder_Plugin_Co
* @return void
*/
public function init_hooks() {
if ( ! is_plugin_active( $this->plugin_id ) ) {
return;
}
add_filter( 'sgo_css_combine_exclude', array( $this, 'exclude_inline_styles_from_siteground_cache' ) );
// Do nothing if it's not on frontend.
if ( ! et_builder_is_frontend() ) {
return;
}
// Do nothing if Dynamic CSS and Critical CSS are disabled.
if ( ! ( et_use_dynamic_css() || et_builder_is_critical_enabled() ) ) {
return;
}
add_filter( 'et_core_page_resource_tag', [ $this, 'get_page_resource_handles' ], 10, 3 );
add_filter( 'sgo_css_combine_exclude', [ $this, 'exclude_inline_styles_from_siteground_cache' ], 11 );
}
/**
* Get PageResource handles.
*
* @param string $tag HTML tag.
* @param string $handle Resource handle.
* @param string $src Resource src.
*
* @since 4.14.3
*
* @return string
*/
public function get_page_resource_handles( $tag, $handle, $src ) {
if ( empty( $src ) ) {
return;
}
// Some styles we enqueue too late for wp_enqueue_style so the markup is printed directly.
// However, SG Optimizer can only exclude registered styles, hence we do it now.
if ( ! wp_style_is( $handle, 'registered' ) ) {
$handle .= '-cachepress';
wp_register_style( $handle, $src, [], ET_BUILDER_VERSION );
}
$this->_excluded[] = $handle;
return $tag;
}
/**
* Exclude styles from being combined in SiteGround cache.
*
* @param array $excluded_stylesheets Excluded styles from being combined.
* @param array $excluded Excluded styles from being combined.
*/
public function exclude_inline_styles_from_siteground_cache( $excluded_stylesheets ) {
global $shortname;
public function exclude_inline_styles_from_siteground_cache( $excluded ) {
global $wp_styles, $shortname;
$is_critical_enabled = apply_filters( 'et_builder_critical_css_enabled', false );
// If Critical CSS is enabled, we don't need to process further.
if ( $is_critical_enabled ) {
return $excluded_stylesheets;
}
$style_prefix = 'divi-builder';
$prefix = 'divi-builder';
if ( 'divi' === $shortname ) {
$style_prefix = 'divi';
$prefix = 'divi';
} elseif ( 'extra' === $shortname ) {
$style_prefix = 'extra';
$prefix = 'extra';
}
$style_prefix = $style_prefix . '-dynamic';
$registered = array_keys( $wp_styles->registered );
foreach ( $registered as $handle ) {
// Exclude all our styles.
if ( false !== strpos( $handle, $prefix ) ) {
$excluded[] = $handle;
}
}
return array_merge(
$excluded_stylesheets,
array( $this->_stylesheet_handle, $style_prefix )
$this->_excluded,
$excluded
);
}
}