PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.53.2
Advanced Ads – Ad Manager & AdSense v1.53.2
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 / class-entities.php
advanced-ads / includes Last commit date
abstracts 2 years ago admin 1 year ago database 2 years ago groups 2 years ago installation 1 year ago interfaces 2 years ago traits 2 years ago utilities 2 years ago array_ad_conditions.php 3 years ago cap_map.php 3 years ago class-assets-registry.php 1 year ago class-autoloader.php 2 years ago class-entities.php 2 years ago class-plugin.php 1 year ago functions.php 3 years ago index.php 2 years ago load_modules.php 2 years ago
class-entities.php
185 lines
1 <?php
2 /**
3 * The class handles the registration of custom post types and taxonomies in the plugin.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.47.0
8 */
9
10 namespace AdvancedAds;
11
12 use AdvancedAds\Framework\Interfaces\Integration_Interface;
13
14 defined( 'ABSPATH' ) || exit;
15
16 /**
17 * Entities.
18 */
19 class Entities implements Integration_Interface {
20
21 /**
22 * Post type slug
23 *
24 * @var string
25 */
26 const POST_TYPE_AD = 'advanced_ads';
27
28 /**
29 * Ad group slug
30 *
31 * @var string
32 */
33 const TAXONOMY_AD_GROUP = 'advanced_ads_groups';
34
35 /**
36 * Hook into WordPress.
37 */
38 public function hooks() {
39 $this->register_ad_post_type();
40 $this->register_group_taxonomy();
41 }
42
43 /**
44 * Register ad post type.
45 *
46 * @return void
47 */
48 private function register_ad_post_type(): void {
49 // Early bail!!
50 if ( post_type_exists( self::POST_TYPE_AD ) ) {
51 return;
52 }
53
54 $labels = [
55 'name' => __( 'Ads', 'advanced-ads' ),
56 'singular_name' => __( 'Ad', 'advanced-ads' ),
57 'add_new' => __( 'New Ad', 'advanced-ads' ),
58 'add_new_item' => __( 'Add New Ad', 'advanced-ads' ),
59 'edit' => __( 'Edit', 'advanced-ads' ),
60 'edit_item' => __( 'Edit Ad', 'advanced-ads' ),
61 'new_item' => __( 'New Ad', 'advanced-ads' ),
62 'view' => __( 'View', 'advanced-ads' ),
63 'view_item' => __( 'View the Ad', 'advanced-ads' ),
64 'search_items' => __( 'Search Ads', 'advanced-ads' ),
65 'not_found' => __( 'No Ads found', 'advanced-ads' ),
66 'not_found_in_trash' => __( 'No Ads found in Trash', 'advanced-ads' ),
67 'parent' => __( 'Parent Ad', 'advanced-ads' ),
68 ];
69
70 $supports = [ 'title', 'author' ];
71 if ( defined( 'ADVANCED_ADS_ENABLE_REVISIONS' ) ) {
72 $supports[] = 'revisions';
73 }
74
75 $args = [
76 'labels' => $labels,
77 'public' => false,
78 'show_ui' => true,
79 'show_in_menu' => false,
80 'hierarchical' => false,
81 'capabilities' => [
82 // Meta capabilities.
83 'edit_post' => 'advanced_ads_edit_ads',
84 'read_post' => 'advanced_ads_edit_ads',
85 'delete_post' => 'advanced_ads_edit_ads',
86 'edit_page' => 'advanced_ads_edit_ads',
87 'read_page' => 'advanced_ads_edit_ads',
88 'delete_page' => 'advanced_ads_edit_ads',
89 // Primitive capabilities used outside of map_meta_cap().
90 'edit_posts' => 'advanced_ads_edit_ads',
91 'publish_posts' => 'advanced_ads_edit_ads',
92 'read_private_posts' => 'advanced_ads_edit_ads',
93 // Primitive capabilities used within map_meta_cap().
94 'read' => 'advanced_ads_edit_ads',
95 'delete_posts' => 'advanced_ads_edit_ads',
96 'delete_private_posts' => 'advanced_ads_edit_ads',
97 'delete_published_posts' => 'advanced_ads_edit_ads',
98 'edit_private_posts' => 'advanced_ads_edit_ads',
99 'edit_published_posts' => 'advanced_ads_edit_ads',
100 'create_posts' => 'advanced_ads_edit_ads',
101 ],
102 'has_archive' => false,
103 'query_var' => false,
104 'rewrite' => false,
105 'supports' => $supports,
106 'taxonomies' => [ self::TAXONOMY_AD_GROUP ],
107 ];
108
109 register_post_type(
110 self::POST_TYPE_AD,
111 apply_filters( 'advanced-ads-post-type-params', $args )
112 );
113 }
114
115 /**
116 * Register group taxonomy.
117 *
118 * @return void
119 */
120 private function register_group_taxonomy(): void {
121 // Early bail!!
122 if ( taxonomy_exists( self::TAXONOMY_AD_GROUP ) ) {
123 return;
124 }
125
126 $labels = [
127 'name' => _x( 'Ad Groups & Rotations', 'ad group general name', 'advanced-ads' ),
128 'singular_name' => _x( 'Ad Group', 'ad group singular name', 'advanced-ads' ),
129 'search_items' => __( 'Search Ad Groups', 'advanced-ads' ),
130 'all_items' => __( 'All Ad Groups', 'advanced-ads' ),
131 'parent_item' => __( 'Parent Ad Groups', 'advanced-ads' ),
132 'parent_item_colon' => __( 'Parent Ad Groups:', 'advanced-ads' ),
133 'edit_item' => __( 'Edit Ad Group', 'advanced-ads' ),
134 'update_item' => __( 'Update Ad Group', 'advanced-ads' ),
135 'add_new_item' => __( 'New Ad Group', 'advanced-ads' ),
136 'new_item_name' => __( 'New Ad Groups Name', 'advanced-ads' ),
137 'menu_name' => __( 'Groups', 'advanced-ads' ),
138 'not_found' => __( 'No Ad Group found', 'advanced-ads' ),
139 ];
140
141 $args = [
142 'public' => false,
143 'hierarchical' => true,
144 'labels' => $labels,
145 'show_ui' => true,
146 'show_in_nav_menus' => false,
147 'show_in_menu' => false,
148 'show_tagcloud' => false,
149 'show_admin_column' => true,
150 'query_var' => false,
151 'rewrite' => false,
152 'capabilities' => [
153 'manage_terms' => 'advanced_ads_edit_ads',
154 'edit_terms' => 'advanced_ads_edit_ads',
155 'delete_terms' => 'advanced_ads_edit_ads',
156 'assign_terms' => 'advanced_ads_edit_ads',
157 ],
158 ];
159
160 register_taxonomy(
161 self::TAXONOMY_AD_GROUP,
162 self::POST_TYPE_AD,
163 apply_filters( 'advanced-ads-group-taxonomy-params', $args )
164 );
165 }
166
167 /**
168 * Placement description
169 *
170 * @return string
171 */
172 public static function get_placement_description(): string {
173 return __( 'Placements are customizable ad spots on your site. Use them to see and change all the assigned ads and groups on this page. Furthermore, you can set up exclusive features like Cache Busting, Lazy Loading, AdBlocker fallbacks, or Parallax effects.', 'advanced-ads' );
174 }
175
176 /**
177 * Group description
178 *
179 * @return string
180 */
181 public static function get_group_description(): string {
182 return __( 'Ad Groups are a flexible method to bundle ads. Use them to create ad rotations, run split tests, and organize your ads in the backend. An ad can belong to multiple ad groups.', 'advanced-ads' );
183 }
184 }
185