Yoast\WP\SEO\Actions\Importing\Aioseo
Aioseo_Posts_Importing_Action::social_image_url_import()
Imports the og and twitter image url.
Метод класса: Aioseo_Posts_Importing_Action{}
Хуков нет.
Возвращает
true|false|null
. The url of the social image we're importing, null if there's none.
Использование
$Aioseo_Posts_Importing_Action = new Aioseo_Posts_Importing_Action(); $Aioseo_Posts_Importing_Action->social_image_url_import( $aioseo_social_image_settings, $aioseo_key, $mapping, $indexable );
- $aioseo_social_image_settings(true|false) (обязательный)
- AIOSEO's set of social image settings for the post.
- $aioseo_key(строка) (обязательный)
- The AIOSEO key that contains the robot setting we're working with.
- $mapping(массив) (обязательный)
- The mapping of the setting we're working with.
- $indexable(Indexable) (обязательный)
- The Yoast indexable we're importing into.
Код Aioseo_Posts_Importing_Action::social_image_url_import() Aioseo Posts Importing Action::social image url import Yoast 25.1
public function social_image_url_import( $aioseo_social_image_settings, $aioseo_key, $mapping, $indexable ) { if ( $mapping['social_setting_prefix_aioseo'] === 'twitter_' && $aioseo_social_image_settings['twitter_use_og'] ) { $mapping['social_setting_prefix_aioseo'] = 'og_'; } $social_setting = \rtrim( $mapping['social_setting_prefix_aioseo'], '_' ); $image_type = $aioseo_social_image_settings[ $mapping['social_setting_prefix_aioseo'] . 'image_type' ]; if ( $image_type === 'default' ) { $image_type = $this->social_images_provider->get_default_social_image_source( $social_setting ); } switch ( $image_type ) { case 'attach': $image_url = $this->social_images_provider->get_first_attached_image( $indexable->object_id ); break; case 'auto': if ( $this->social_images_provider->get_featured_image( $indexable->object_id ) ) { // If there's a featured image, lets not import it, as our indexable calculation has already set that as active social image. That way we achieve dynamicality. return null; } $image_url = $this->social_images_provider->get_auto_image( $indexable->object_id ); break; case 'content': $image_url = $this->social_images_provider->get_first_image_in_content( $indexable->object_id ); break; case 'custom_image': $image_url = $aioseo_social_image_settings[ $mapping['social_setting_prefix_aioseo'] . 'image_custom_url' ]; break; case 'featured': return null; // Our auto-calculation when the indexable was built/updated has taken care of it, so it's not needed to transfer any data now. case 'author': return null; case 'custom': return null; case 'default': $image_url = $this->social_images_provider->get_default_custom_social_image( $social_setting ); break; default: $image_url = $aioseo_social_image_settings[ $mapping['social_setting_prefix_aioseo'] . 'image_url' ]; break; } if ( empty( $image_url ) ) { $image_url = $this->social_images_provider->get_default_custom_social_image( $social_setting ); } if ( empty( $image_url ) ) { return null; } return $this->sanitization->sanitize_url( $image_url, null ); }