← All changes
|
modules/global-classes/global-classes-order.php
+18
-3
4.1.0-dev1
→
4.3.0-beta3
View file →
| @@ -2,9 +2,10 @@ | ||
| 2 | 2 | |
| 3 | 3 | namespace Elementor\Modules\GlobalClasses; |
| 4 | 4 | |
| 5 | 5 | use Elementor\Core\Kits\Documents\Kit; |
| 6 | -use Elementor\Modules\GlobalClasses\Concerns\Has_Kit_Dependency; | |
| 6 | +use Elementor\Core\Kits\Concerns\Has_Kit_Dependency; | |
| 7 | +use Elementor\Modules\GlobalClasses\Concerns\Has_Preview_Context; | |
| 7 | 8 | |
| 8 | 9 | if ( ! defined( 'ABSPATH' ) ) { |
| 9 | 10 | exit; |
| 10 | 11 | } |
| @@ -10,11 +11,20 @@ | ||
| 10 | 11 | } |
| 11 | 12 | |
| 12 | 13 | class Global_Classes_Order { |
| 13 | 14 | use Has_Kit_Dependency; |
| 15 | + use Has_Preview_Context; | |
| 14 | 16 | |
| 15 | 17 | const META_KEY = '_elementor_global_classes_order'; |
| 18 | + const META_KEY_PREVIEW = '_elementor_global_classes_order_preview'; | |
| 16 | 19 | |
| 20 | + protected array $context_keys = [ | |
| 21 | + 'order' => [ | |
| 22 | + 'frontend' => self::META_KEY, | |
| 23 | + 'preview' => self::META_KEY_PREVIEW, | |
| 24 | + ], | |
| 25 | + ]; | |
| 26 | + | |
| 17 | 27 | private ?array $cache = null; |
| 18 | 28 | |
| 19 | 29 | private function __construct() { |
| 20 | 30 | } |
| @@ -39,9 +49,9 @@ | ||
| 39 | 49 | $payload = [ |
| 40 | 50 | 'order' => array_values( $ids ), |
| 41 | 51 | ]; |
| 42 | 52 | |
| 43 | - $result = $kit->update_meta( self::META_KEY, $payload ); | |
| 53 | + $result = $kit->update_meta( $this->get_context_key( 'order' ), $payload ); | |
| 44 | 54 | $this->cache = null; |
| 45 | 55 | |
| 46 | 56 | return false !== $result; |
| 47 | 57 | } |
| @@ -68,9 +78,14 @@ | ||
| 68 | 78 | if ( ! $kit ) { |
| 69 | 79 | return []; |
| 70 | 80 | } |
| 71 | 81 | |
| 72 | - $payload = $kit->get_meta( self::META_KEY ); | |
| 82 | + $payload = $kit->get_meta( $this->get_context_key( 'order' ) ); | |
| 83 | + | |
| 84 | + if ( $this->is_preview() && empty( $payload ) ) { | |
| 85 | + $payload = self::make( $this->get_kit() )->set_preview( false )->read_kit_meta_payload(); | |
| 86 | + } | |
| 87 | + | |
| 73 | 88 | $this->cache = is_array( $payload ) ? $payload : []; |
| 74 | 89 | |
| 75 | 90 | return $this->cache; |
| 76 | 91 | } |