File "image-src-export-transformer.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/elementor/modules/atomic-widgets/props-resolver/transformers/export/image-src-export-transformer.php
File size: 1.09 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Export;
use Elementor\Modules\AtomicWidgets\PropsResolver\Props_Resolver_Context;
use Elementor\Modules\AtomicWidgets\PropsResolver\Transformer_Base;
use Elementor\Modules\AtomicWidgets\PropTypes\Image_Src_Prop_Type;
use Elementor\Modules\AtomicWidgets\PropTypes\Url_Prop_Type;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
class Image_Src_Export_Transformer extends Transformer_Base {
public function transform( $value, Props_Resolver_Context $context ): ?array {
if ( ! empty( $value['url'] ) ) {
return Image_Src_Prop_Type::generate( [
'id' => null,
'url' => $value['url'],
], $context->is_disabled() );
}
if ( ! empty( $value['id'] ) && ! empty( $value['id']['value'] ) ) {
$image = wp_get_attachment_image_src( $value['id']['value'], 'full' );
if ( ! $image ) {
return null;
}
[ $src ] = $image;
return Image_Src_Prop_Type::generate( [
'id' => $value['id'],
'url' => Url_Prop_Type::generate( $src ),
], $context->is_disabled() );
}
return null;
}
}