diff --git a/lib/ecwid_platform.php b/lib/ecwid_platform.php index 69f5900a..be44ceaa 100644 --- a/lib/ecwid_platform.php +++ b/lib/ecwid_platform.php @@ -225,9 +225,19 @@ public static function cache_set( $name, $value, $expires_after = 0 ) { 'expires' => $expires_after, ) ); + self::encode_emoji( $value ); + set_transient( 'ecwid_' . $name, $value, $expires_after ); } + public static function encode_emoji( &$item, $key = false ) { //phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed + if ( is_object( $item ) || is_array( $item ) ) { + array_walk_recursive( $item, 'self::encode_emoji' ); + } elseif ( is_string( $item ) ) { + $item = wp_encode_emoji( $item ); + } + } + public static function cache_reset( $name ) { self::cache_log_record( 'reset', array( 'name' => $name ) ); delete_transient( 'ecwid_' . $name );