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 / placements / class-placement-types.php
advanced-ads / includes / placements Last commit date
types 3 months ago class-placement-after-content.php 1 year ago class-placement-before-content.php 1 year ago class-placement-content.php 1 year ago class-placement-factory.php 1 day ago class-placement-footer.php 1 year ago class-placement-header.php 1 year ago class-placement-repository.php 1 day ago class-placement-sidebar-widget.php 1 year ago class-placement-standard.php 1 year ago class-placement-types.php 1 day ago class-placements.php 1 day ago index.php 1 year ago
class-placement-types.php
117 lines
1 <?php
2 /**
3 * Placements types manager..
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.47.0
8 */
9
10 namespace AdvancedAds\Placements;
11
12 use AdvancedAds\Abstracts\Types;
13 use AdvancedAds\Placements\Types\Footer;
14 use AdvancedAds\Placements\Types\Header;
15 use AdvancedAds\Placements\Types\Content;
16 use AdvancedAds\Placements\Types\Unknown;
17 use AdvancedAds\Interfaces\Placement_Type;
18 use AdvancedAds\Placements\Types\Standard;
19 use AdvancedAds\Placements\Types\After_Content;
20 use AdvancedAds\Placements\Types\Before_Content;
21 use AdvancedAds\Placements\Types\Sidebar_Widget;
22
23 defined( 'ABSPATH' ) || exit;
24
25 /**
26 * Placements Types.
27 */
28 class Placement_Types extends Types {
29
30 /**
31 * Hook to filter types.
32 *
33 * @var string
34 */
35 protected $hook = 'advanced-ads-placement-types';
36
37 /**
38 * Class for unknown type.
39 *
40 * @var string
41 */
42 protected $type_unknown = Unknown::class;
43
44 /**
45 * Type interface to check.
46 *
47 * @var string
48 */
49 protected $type_interface = Placement_Type::class;
50
51 /**
52 * Built-in placement type classes.
53 *
54 * @return string[]
55 */
56 protected function default_type_classes(): array {
57 return [
58 After_Content::class,
59 Before_Content::class,
60 Content::class,
61 Footer::class,
62 Header::class,
63 Sidebar_Widget::class,
64 Standard::class,
65 ];
66 }
67
68 /**
69 * Register custom types.
70 *
71 * @return void
72 */
73 public function register_types(): void {
74 parent::register_types();
75
76 $this->sort_types();
77 }
78
79 /**
80 * Get type dropdown options
81 *
82 * @return array
83 */
84 public function get_dropdown_options(): array {
85 $options = [];
86
87 foreach ( $this->get_types() as $type ) {
88 $options[ $type->get_id() ] = $type->get_title();
89 }
90
91 asort( $options );
92
93 return $options;
94 }
95
96 /**
97 * Sort screens by order.
98 *
99 * @return void
100 */
101 private function sort_types(): void {
102 uasort(
103 $this->types,
104 static function ( $a, $b ) {
105 $order_a = $a->get_order();
106 $order_b = $b->get_order();
107
108 if ( $order_a === $order_b ) {
109 return 0;
110 }
111
112 return ( $order_a < $order_b ) ? -1 : 1;
113 }
114 );
115 }
116 }
117