Files
2026-04-28 15:13:50 +02:00

103 lines
2.8 KiB
PHP

<?php
namespace AIOSEO\Plugin\Pro\Social;
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
use AIOSEO\Plugin\Common\Social as CommonSocial;
/**
* Handles the Twitter meta.
*
* @since 4.0.0
*/
class Twitter extends CommonSocial\Twitter {
/**
* Returns the Twitter image URL.
*
* @since 4.0.0
*
* @param int $postId The post ID (optional).
* @return string The image URL.
*/
public function getImage( $postId = null ) {
if ( ! is_category() && ! is_tag() && ! is_tax() ) {
return parent::getImage( $postId );
}
$term = aioseo()->helpers->getTerm();
$metaData = aioseo()->meta->metaData->getMetaData( $term );
if ( ! empty( $metaData->twitter_use_og ) ) {
return aioseo()->social->facebook->getImage();
}
$image = '';
if ( ! empty( $metaData ) ) {
$imageSource = ! empty( $metaData->twitter_image_type ) && 'default' !== $metaData->twitter_image_type
? $metaData->twitter_image_type
: aioseo()->options->social->twitter->general->defaultImageSourceTerms;
$image = aioseo()->social->image->getImage( 'twitter', $imageSource, $term );
}
return $image ? $image : aioseo()->social->facebook->getImage();
}
/**
* Returns the Twitter title for the current page.
*
* @since 4.0.0
*
* @param \WP_Post|integer $post The post object or ID (optional).
* @return string The Twitter title.
*/
public function getTitle( $post = null ) {
if ( ! is_category() && ! is_tag() && ! is_tax() ) {
return parent::getTitle( $post );
}
$term = aioseo()->helpers->getTerm();
$metaData = aioseo()->meta->metaData->getMetaData( $term );
if ( ! empty( $metaData->twitter_use_og ) ) {
return aioseo()->social->facebook->getTitle();
}
$title = '';
if ( ! empty( $metaData->twitter_title ) ) {
$title = aioseo()->meta->title->helpers->prepare( $metaData->twitter_title, $term->term_id );
}
return $title ? $title : aioseo()->social->facebook->getTitle();
}
/**
* Returns the Twitter description for the current page.
*
* @since 4.0.0
*
* @param \WP_Post|integer $post The post object or ID (optional).
* @return string The Twitter description.
*/
public function getDescription( $post = null ) {
if ( ! is_category() && ! is_tag() && ! is_tax() ) {
return parent::getDescription( $post );
}
$term = aioseo()->helpers->getTerm();
$metaData = aioseo()->meta->metaData->getMetaData( $term );
if ( ! empty( $metaData->twitter_use_og ) ) {
return aioseo()->social->facebook->getDescription();
}
$description = '';
if ( ! empty( $metaData->twitter_description ) ) {
$description = aioseo()->meta->description->helpers->prepare( $metaData->twitter_description, $term->term_id );
}
return $description ? $description : aioseo()->social->facebook->getDescription();
}
}