PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.25
Advanced Ads – Ad Manager & AdSense v2.0.25
2.0.25 2.0.24 2.0.23 2.0.22 2.0.21 1.38.0 1.39.0 1.39.1 1.39.2 1.39.3 1.39.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.42.1 1.42.2 1.43.0 1.44.0 1.44.1 1.45.0 1.45.1 1.46.0 1.47.0 1.47.1 1.47.2 1.47.3 1.47.4 1.47.5 1.48.0 1.48.1 1.49.0 1.5.0 1.5.0.1 1.5.1 1.5.2 1.5.2.1 1.5.4 1.5.4.1 1.5.5 1.50.0 1.51.0 1.51.1 1.51.2 1.51.3 1.52.0 1.52.1 1.52.2 1.52.3 1.52.4 1.53.0 1.53.1 1.53.2 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.56.2 1.56.3 1.56.4 1.6 1.6.1 1.6.10 1.6.10.1 1.6.10.2 1.6.11 1.6.11.1 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.17.1 1.6.17.2 1.6.2 1.6.2.1 1.6.3 1.6.4 1.6.4.1 1.6.5 1.6.6 1.6.6.1 1.6.7 1.6.7.1 1.6.8 1.6.8.1 1.6.8.2 1.6.8.3 1.6.9 1.6.9.1 1.6.9.2 1.6.9.3 1.6.9.4 1.7 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.1.1 1.7.1.2 1.7.1.3 1.7.1.4 1.7.1.5 1.7.10 trunk 1.7.11 1.0.1 1.7.12 1.0.2 1.7.13 1.0.3 1.7.14 1.1.0 1.7.15 1.1.1 1.7.16 1.1.2 1.7.17 1.1.3 1.7.18 1.10 1.7.19 1.10.1 1.7.2 1.10.10 1.7.2.1 1.10.11 1.7.20 1.10.12 1.7.21 1.10.2 1.7.22 1.10.3 1.7.23 1.10.4 1.7.24 1.10.5 1.7.25 1.10.6 1.7.3 1.10.7 1.7.4 1.10.8 1.7.4.1 1.10.9 1.7.4.2 1.11 1.7.4.3 1.11.1 1.7.4.4 1.11.2 1.7.4.5 1.12 1.7.5 1.13 1.7.5.1 1.13.1 1.7.6 1.13.2 1.7.7 1.13.3 1.7.8 1.13.4 1.7.9 1.13.5 1.7.9.1 1.13.6 1.7.9.2 1.13.7 1.7.9.3 1.13.8 1.8 1.14 1.8.1 1.14.1 1.8.10 1.14.10 1.8.11 1.14.11 1.8.12 1.14.2 1.8.13 1.14.3 1.8.14 1.14.4 1.8.15 1.14.5 1.8.16 1.14.6 1.8.17 1.14.7 1.8.18 1.14.8 1.8.19 1.14.9 1.8.2 1.15 1.8.20 1.16 1.8.21 1.16.1 1.8.22 1.17 1.8.23 1.17.1 1.8.24 1.17.10 1.8.25 1.17.10-rc.1 1.8.26 1.17.11 1.8.27 1.17.12 1.8.28 1.17.12-rc.1 1.8.29 1.17.2 1.8.3 1.17.3 1.8.30 1.17.4 1.8.4 1.17.5 1.8.5 1.17.6 1.8.6 1.17.7 1.8.7 1.17.8 1.8.8 1.17.9 1.8.9 1.17.9-beta.1 1.9 1.18.0 2.0.0 1.19.0 2.0.1 1.19.1 2.0.10 1.2 2.0.11 1.2.1 2.0.12 1.2.2 2.0.13 1.2.3 2.0.14 1.2.4 2.0.15 1.2.5 2.0.16 1.2.6 2.0.17 1.2.7 2.0.18 1.20.0 2.0.19 1.20.0-rc.1 2.0.2 1.20.0-rc.2 2.0.20 1.20.1 2.0.3 1.20.2 2.0.4 1.20.3 2.0.5 1.21.0 2.0.6 1.21.1 2.0.7 1.22.0 2.0.8 1.22.1 2.0.9 1.22.2 1.23.0 1.23.1 1.23.2 1.24.0 1.24.1 1.24.2 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.29.0 1.29.1 1.3 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.30.0 1.30.1 1.30.2 1.30.2-rc.1 1.30.3 1.30.4 1.30.4-rc.1 1.30.5 1.31.0 1.31.1 1.32.0 1.32.0-rc.1 1.33.0 1.33.1 1.33.2 1.34.0 1.35.0 1.35.1 1.36.0 1.36.1 1.36.2 1.36.3 1.37.0 1.37.1 1.37.2
advanced-ads / includes / ads / class-ad-image.php
advanced-ads / includes / ads Last commit date
types 10 months ago class-ad-content.php 1 week ago class-ad-dummy.php 1 year ago class-ad-factory.php 1 day ago class-ad-group-relation.php 1 year ago class-ad-group.php 5 months ago class-ad-image.php 1 year ago class-ad-plain.php 1 week ago class-ad-repository.php 1 day ago class-ad-types.php 1 day ago class-ads.php 1 day ago
class-ad-image.php
89 lines
1 <?php
2 /**
3 * This class is responsible to model image ads.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.48.0
8 */
9
10 namespace AdvancedAds\Ads;
11
12 use Advanced_Ads;
13 use AdvancedAds\Abstracts\Ad;
14 use AdvancedAds\Interfaces\Ad_Interface;
15
16 defined( 'ABSPATH' ) || exit;
17
18 /**
19 * Image ad.
20 */
21 class Ad_Image extends Ad implements Ad_Interface {
22
23 /**
24 * Get the image id for the ad.
25 *
26 * @param string $context What the value is for. Valid values are view and edit.
27 *
28 * @return int
29 */
30 public function get_image_id( $context = 'view' ): int {
31 return $this->get_prop( 'image_id', $context ) ?? 0;
32 }
33
34 /**
35 * Set the image id.
36 *
37 * @param int|string $image_id Image id for ad.
38 */
39 public function set_image_id( $image_id ) {
40 $this->set_prop( 'image_id', absint( $image_id ) );
41 }
42
43 /**
44 * Prepare output for frontend.
45 *
46 * @return string
47 */
48 public function prepare_frontend_output(): string {
49 $url = $this->get_url();
50 $image_id = $this->get_image_id();
51
52 ob_start();
53 $this->get_type_object()->create_image_tag( $image_id, $this );
54 $img = ob_get_clean();
55
56 if ( ! defined( 'AAT_VERSION' ) && $url ) {
57 $alt = trim( esc_textarea( get_post_meta( $image_id, '_wp_attachment_image_alt', true ) ) );
58 $aria_label = ! empty( $alt ) ? $alt : wp_basename( get_the_title( $image_id ) );
59 $options = Advanced_Ads::get_instance()->options();
60 $target_blank = ! empty( $options['target-blank'] ) ? ' target="_blank"' : '';
61 $img = sprintf( '<a href="%s"%s aria-label="%s">%s</a>', esc_url( $url ), $target_blank, $aria_label, $img );
62 }
63
64 return $img;
65 }
66
67 /**
68 * Pre save
69 *
70 * @param array $post_data Post data.
71 *
72 * @return void
73 */
74 public function pre_save( $post_data ): void {
75 $image_id = absint( $post_data['image_id'] ?? 0 );
76 if ( $image_id ) {
77 $attachment = get_post( $image_id );
78 if ( $attachment && 0 === $attachment->post_parent ) {
79 wp_update_post(
80 [
81 'ID' => $image_id,
82 'post_parent' => $this->get_id(),
83 ]
84 );
85 }
86 }
87 }
88 }
89