* @since 1.48.0
*/
namespace AdvancedAds\Ads;
use Advanced_Ads;
use AdvancedAds\Abstracts\Ad;
use AdvancedAds\Utilities\WordPress;
use AdvancedAds\Interfaces\Ad_Interface;
defined( 'ABSPATH' ) || exit;
/**
* Dummy ad.
*/
class Ad_Dummy extends Ad implements Ad_Interface {
/**
* Prepare output for frontend.
*
* @return string
*/
public function prepare_frontend_output(): string {
$style = '';
if ( strpos( $this->get_position(), 'center' ) === 0 ) {
$style .= 'display: inline-block;';
}
$style = '' !== $style ? 'style="' . $style . '"' : '';
$img = sprintf(
'
',
esc_url( ADVADS_BASE_URL . 'public/assets/img/dummy.jpg' ),
$style
);
$url = $this->get_url();
if ( ! defined( 'AAT_VERSION' ) && $url ) {
$options = Advanced_Ads::get_instance()->options();
$target_blank = ! empty( $options['target-blank'] ) ? ' target="_blank"' : '';
$img = sprintf( '%s', esc_url( $url ), $target_blank, $img );
}
// Add 'loading' attribute if applicable, available from WP 5.5.
if ( function_exists( 'wp_lazy_loading_enabled' ) && wp_lazy_loading_enabled( 'img', 'the_content' ) ) {
// Optimize image HTML tag with loading attributes based on WordPress filter context.
$img = WordPress::img_tag_add_loading_attr( $img, 'the_content' );
}
return $img;
}
}