PluginProbe
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization / 4.2.11
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization v4.2.11
4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 2.5.5 2.5.6 2.5.7 3.0.0 3.0.1 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.12.0 3.12.1 All 134 releases
optimole-wp / inc / compatibilities / elementor_builder_late.php

elementor_builder_late.php in Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization 4.2.11, at inc/compatibilities/elementor_builder_late.php

58 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Class Optml_elementor_builder_late
5 *
6 * @reason Adding action for elementor meta replacement
7 */
8 class Optml_elementor_builder_late extends Optml_compatibility {
9
10 /**
11 * Should we load the integration logic.
12 *
13 * @return bool Should we load.
14 */
15 public function should_load() {
16 include_once ABSPATH . 'wp-admin/includes/plugin.php';
17
18 return is_plugin_active( 'elementor/elementor.php' );
19 }
20
21 /**
22 * Register integration details.
23 */
24 public function register() {
25 add_filter( 'get_post_metadata', [ $this, 'replace_meta' ], PHP_INT_MAX, 4 );
26 }
27 /**
28 * Replace urls in post meta values.
29 *
30 * @param mixed $metadata Metadata.
31 * @param int $object_id Post id.
32 * @param string $meta_key Meta key.
33 * @param bool $single Is single.
34 *
35 * @return mixed Altered meta.
36 */
37 public function replace_meta( $metadata, $object_id, $meta_key, $single ) {
38
39 $meta_needed = '_elementor_data';
40
41 if ( ! empty( $meta_key ) && $meta_needed === $meta_key ) {
42 remove_filter( 'get_post_metadata', [ $this, 'replace_meta' ], PHP_INT_MAX );
43
44 $current_meta = get_post_meta( $object_id, $meta_needed, $single );
45 add_filter( 'get_post_metadata', [ $this, 'replace_meta' ], PHP_INT_MAX, 4 );
46
47 if ( ! is_string( $current_meta ) ) {
48 return $metadata;
49 }
50
51 return Optml_Main::instance()->manager->replace_content( $current_meta, true );
52 }
53
54 // Return original if the check does not pass
55 return $metadata;
56 }
57 }
58