| Server IP : 207.135.97.11 / Your IP : 172.19.0.1 Web Server : LiteSpeed System : Linux 6d372a2d2e33 5.14.0-611.24.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jan 23 11:42:43 UTC 2026 x86_64 User : nobody ( 65534) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/html/ed.net.au/wp-content/plugins/wp-smushit/core/integrations/ |
Upload File : |
<?php
/**
* Divi integration module.
*/
namespace Smush\Core\Integrations;
use Smush\Core\Controller;
use Smush\Core\Settings;
if ( ! defined( 'WPINC' ) ) {
die;
}
/**
* Class Divi
*/
class Divi extends Controller {
/**
* Constructor to initialize the Divi integration.
*/
public function __construct() {
// Delay hook registration until Divi is fully available.
$this->register_action( 'after_setup_theme', array( $this, 'register_hooks' ) );
}
/**
* Register Divi-specific hooks.
*
* - Always register Divi 4 hook
* - Register Divi 5 hook only when active
*
* @return void
*/
public function register_hooks() {
// Divi 5 support.
if ( function_exists( 'et_builder_d5_enabled' ) && et_builder_d5_enabled() ) {
$this->register_action(
'divi_module_library_modules_dependency_tree',
array( $this, 'handle_divi_image_sizes_hook' )
);
}
// Divi 4 (and fallback).
$this->register_action(
'et_builder_modules_loaded',
array( $this, 'handle_divi_image_sizes_hook' )
);
}
/**
* Handles the removal of Divi's image size calculation hook.
*
* Removes the `wp_calculate_image_sizes` filter added by Divi when responsive images are disabled
* and Smush's CDN with auto-resize is enabled.
*
* @return void
*/
public function handle_divi_image_sizes_hook() {
if ( ! function_exists( 'et_get_option' ) ) {
return;
}
$smush_settings = Settings::get_instance();
if (
'on' !== et_get_option( 'divi_enable_responsive_images' ) &&
$smush_settings->is_lazyload_active() &&
$smush_settings->is_auto_resizing_active()
) {
remove_filter( 'wp_calculate_image_sizes', 'et_filter_wp_calculate_image_sizes' );
}
}
}