_config = Dispatcher::config(); } /** * Executes the main logic of the extension. * * Checks if the W3 Total Cache Pro plugin is active and adds the necessary filter. * * @return void */ public function run() { if ( Util_Environment::is_w3tc_pro( $this->_config ) ) { add_filter( 'w3tc_url_to_docroot_filename', array( $this, 'w3tc_url_to_docroot_filename' ) ); } } /** * Converts the URL to the document root filename. * * @param array $w3tc_data Associative array containing 'url' and 'home_url' keys. * * @return array The modified data array with updated 'home_url'. */ public function w3tc_url_to_docroot_filename( $w3tc_data ) { $home_url = $w3tc_data['home_url']; if ( substr( $w3tc_data['url'], 0, strlen( $home_url ) ) !== $home_url ) { $w3tc_data['home_url'] = get_option( 'home' ); } return $w3tc_data; } } $w3tc_p = new Extension_Wpml_Plugin(); $w3tc_p->run(); if ( is_admin() ) { $w3tc_p = new Extension_Wpml_Plugin_Admin(); $w3tc_p->run(); }