Featured_Image::sync_handle( array|null $data_source = null )
Process the download of the image from EA, attempt to locate the image first on the media library if a copy of the same ID image is present if any uses that instead of download one from the EA server.
Contents
Parameters
- $data_source
-
(array|null) (Optional)
Default value: null
Return
(bool|int|mixed|null)
Source
File: src/Tribe/Import/Featured_Image.php
public function sync_handle( array $data_source = null ) { $data_source = isset( $data_source ) ? $data_source : $_POST; if ( empty( $data_source['post_id'] ) || empty( $data_source['image_id'] ) ) { return false; } $licenses = []; $ebt_license = tribe( 'eventbrite.pue' )->pue_instance->get_key(); if ( ! empty( $ebt_license ) ) { $licenses['tribe-eventbrite'] = $ebt_license; } $image_url = tribe( 'events-aggregator.service' )->build_url( "image/{$data_source['image_id']}", [ 'licenses' => $licenses, 'origin' => 'eventbrite', ] ); $attachment_id = $this->find_locally( $data_source['image_id'] ); if ( $attachment_id ) { // Make sure the meta key is updated if found locally. update_post_meta( $attachment_id, '_tribe_importer_original_url', $image_url ); } else { $attachment_id = tribe_upload_image( $image_url ); } if ( ! $attachment_id ) { do_action( 'tribe_log', 'debug', __METHOD__, [ 'message' => 'Unable to find the image on the media library or to download the image.', 'data' => $data_source, ] ); return false; } $this->attach( $attachment_id, $data_source['post_id'] ); return $attachment_id; }
Changelog
Version | Description |
---|---|
4.6.5 | Introduced. |