X7ROOT File Manager
Current Path:
/home/hamdjcne/public_html/wp-content/plugins/optimole-wp/inc/compatibilities
home
/
hamdjcne
/
public_html
/
wp-content
/
plugins
/
optimole-wp
/
inc
/
compatibilities
/
ðŸ“
..
📄
beaver_builder.php
(1.02 KB)
📄
cache_enabler.php
(1020 B)
📄
compatibility.php
(693 B)
📄
divi_builder.php
(2.25 KB)
📄
elementor_builder.php
(3.38 KB)
📄
elementor_builder_late.php
(1.41 KB)
📄
envira.php
(1.9 KB)
📄
essential_grid.php
(841 B)
📄
facetwp.php
(2.23 KB)
📄
foogallery.php
(959 B)
📄
give_wp.php
(1.35 KB)
📄
jet_elements.php
(791 B)
📄
master_slider.php
(992 B)
📄
metaslider.php
(2.04 KB)
📄
otter_blocks.php
(1.12 KB)
📄
pinterest.php
(3.05 KB)
📄
revslider.php
(1.48 KB)
📄
sg_optimizer.php
(723 B)
📄
shortcode_ultimate.php
(1.96 KB)
📄
smart_search_woocommerce.php
(1.2 KB)
📄
spectra.php
(1.45 KB)
📄
swift_performance.php
(724 B)
📄
thrive.php
(1.53 KB)
📄
translate_press.php
(699 B)
📄
w3_total_cache.php
(1.02 KB)
📄
woocommerce.php
(1.88 KB)
📄
wp_bakery.php
(1.37 KB)
📄
wp_fastest_cache.php
(746 B)
📄
wp_rest_cache.php
(1.1 KB)
📄
wpml.php
(2.9 KB)
📄
yith_quick_view.php
(903 B)
Editing: wpml.php
<?php /** * Class Optml_wpml * * @reason Wpml duplicates everything so we need to offload/update every image/page attachment. */ class Optml_wpml extends Optml_compatibility { /** * Should we load the integration logic. * * @return bool Should we load. */ function should_load() { include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); return is_plugin_active( 'sitepress-multilingual-cms/sitepress.php' ) && Optml_Main::instance()->admin->settings->get( 'offload_media' ) === 'enabled'; } /** * Register integration details. */ public function register() { add_filter( 'optml_offload_duplicated_images', [ $this, 'wpml_get_duplicates' ], PHP_INT_MAX, 2 ); add_filter( 'optml_ensure_source_attachment_id', [ $this, 'get_source_attachment' ], PHP_INT_MAX ); } /** * Ads the duplicated pages/images when offloading. * * @param array $duplicated_attachments The duplicated attachments array. * @param string | int $attachment_id The attachment id that is first offloaded. * * @return array The images array with the specific bakery images. */ public function wpml_get_duplicates( $duplicated_attachments, $attachment_id ) { // Get the TRID (Translation ID) from element. REF: https://wpml.org/wpml-hook/wpml_element_trid/ $trid = apply_filters( 'wpml_element_trid', null, $attachment_id, 'post_attachment' ); // Get all translations (elements with the same TRID). REF: https://wpml.org/wpml-hook/wpml_get_element_translations/ $translations = apply_filters( 'wpml_get_element_translations', null, $trid, 'post_attachment' ); foreach ( $translations as $translation ) { if ( isset( $translation->element_id ) ) { $duplicated_attachments[] = $translation->element_id; } } return $duplicated_attachments; } /** * Get the source attachment ID for the given attachment ID that might be a duplicate. * * @param int $attachment_id the attachment ID. * * @return int */ public function get_source_attachment( $attachment_id ) { if ( $this->is_offload_source( $attachment_id ) ) { return $attachment_id; } $duplicates = $this->wpml_get_duplicates( [], $attachment_id ); foreach ( $duplicates as $duplicate_id ) { if ( $this->is_offload_source( $duplicate_id ) ) { return (int) $duplicate_id; } } return $attachment_id; } /** * Checks if the given attachment is the source of the initial offload. * On some instances, it seems that WPML meta is faulty. * We are sure that the main attachment that has been offloaded has the proper attachment_meta. * * @param int $id The attachment ID. * * @return bool */ private function is_offload_source( $id ) { return ! empty( get_post_meta( (int) $id, Optml_Media_Offload::META_KEYS['offloaded'], true ) ); } /** * Should we early load the compatibility? * * @return bool Whether to load the compatibility or not. */ public function should_load_early() { return true; } }
Upload File
Create Folder