PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.26
Advanced Ads – Ad Manager & AdSense v2.0.26
2.0.26 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 / admin / includes / ad-health-notices.php
advanced-ads / admin / includes Last commit date
ad-health-notices.php 1 month ago class-ad-network-ad-unit.php 3 weeks ago class-ad-network.php 3 weeks ago class-licenses.php 3 weeks ago class-notices.php 3 weeks ago class-overview-widgets.php 3 weeks ago class-plugins-screen-updates.php 3 weeks ago notices.php 3 weeks ago
ad-health-notices.php
525 lines
1 <?php
2 /**
3 * Array with ad health messages
4 *
5 * Attribute: type
6 * - "notice" (default, recommendation, etc.)
7 * - "problem" (critical)
8 *
9 * attribute: can_hide
10 * (user can see a button to hide this warning, default: true)
11 *
12 * attribute: hide
13 * (how to handle click on "hide" button)
14 * - true (default, hide the item)
15 * - false (remove the item completely from list of notifications)
16 *
17 * attribute: timeout
18 * (for how long to hide/ignore the message in seconds.)
19 * - default: empty
20 *
21 * attribute: get_help_link
22 * (enter URL, if exists, will add a link after the message)
23 *
24 * @package AdvancedAds
25 * @author Advanced Ads <info@wpadvancedads.com>
26 * @since 1.x.x
27 */
28
29 $advanced_ads_ad_health_notices = apply_filters(
30 'advanced-ads-ad-health-notices',
31 [
32 // old PHP version
33 // checked using Advanced_Ads_Checks::php_version_minimum().
34 'old_php' => [
35 'text' => sprintf(
36 /* translators: %1$s is a version number */
37 __( 'Your <strong>PHP version (%1$s) is too low</strong>. Advanced Ads is built for PHP %2$s and higher. It might work, but updating PHP is highly recommended. Please ask your hosting provider for more information.', 'advanced-ads' ),
38 phpversion(),
39 Advanced_Ads_Checks::MINIMUM_PHP_VERSION
40 ),
41 'type' => 'problem',
42 ],
43 // conflicting plugins found
44 // Advanced_Ads_Checks::conflicting_plugins().
45 'conflicting_plugins' => [
46 'text' => sprintf(
47 /* translators: %1$s is a list of plugin names; %2$s is a target URL */
48 __( 'Plugins that are known to cause (partial) problems: <strong>%1$s</strong>. <a href="%2$s" target="_blank">Learn more</a>.', 'advanced-ads' ),
49 implode( ', ', Advanced_Ads_Checks::conflicting_plugins() ),
50 'https://wpadvancedads.com/manual/known-plugin-conflicts/?utm_source=advanced-ads&utm_medium=link&utm_campaign=error-plugin-conflicts'
51 ),
52 'type' => 'problem',
53 ],
54 // PHP extensions missing
55 // Advanced_Ads_Checks::php_extensions().
56 'php_extensions_missing' => [
57 'text' => sprintf(
58 /* translators: %s is a list of PHP extensions */
59 __( 'Missing PHP extensions could cause issues. Please ask your hosting provider to enable them: %s', 'advanced-ads' ),
60 implode( ', ', Advanced_Ads_Checks::php_extensions() )
61 ),
62 'type' => 'problem',
63 ],
64 // ads are disabled
65 // Advanced_Ads_Checks::ads_disabled().
66 'ads_disabled' => [
67 'text' => sprintf(
68 /* translators: %s is a target URL */
69 __( 'Ads are disabled for all or some pages. See "disabled ads" in <a href="%s">settings</a>.', 'advanced-ads' ),
70 admin_url( 'admin.php?page=advanced-ads-settings#top#general' )
71 ),
72 'type' => 'problem',
73 ],
74 // check if Advanced Ads related constants are enabled
75 // Advanced_Ads_Checks::get_defined_constants().
76 'constants_enabled' => [
77 'text' => '<a href="' . admin_url( 'admin.php?page=advanced-ads-settings#top#support' ) . '">' . esc_html__( 'Advanced Ads related constants enabled', 'advanced-ads' ) . '</a>',
78 'type' => 'notice',
79 ],
80 // adblocker assets expired
81 // Advanced_Ads_Checks::assets_expired().
82 'assets_expired' => [
83 'text' => sprintf(
84 /* translators: %s is a target URL */
85 __( 'Some assets were changed. Please <strong>rebuild the asset folder</strong> in the <a href="%s">Advanced Ads settings</a> to update the ad blocker disguise.', 'advanced-ads' ),
86 admin_url( 'admin.php?page=advanced-ads-settings' )
87 ),
88 'type' => 'problem',
89 'hide' => true,
90 ],
91 // missing license codes
92 // Advanced_Ads_Checks::license_invalid().
93 'license_invalid' => [
94 'text' => __( 'One or more license keys for <strong>Advanced Ads add-ons are invalid or missing</strong>.', 'advanced-ads' ) . ' '
95 . sprintf(
96 /* translators: %s is a target URL. */
97 __( 'Please add valid license keys <a href="%s">here</a>.', 'advanced-ads' ),
98 \AdvancedAds\License\License_Utils::admin_screen_url()
99 ),
100 'type' => 'problem',
101 'hide' => false,
102 'timeout' => WEEK_IN_SECONDS,
103 ],
104 // an individual ad expired.
105 'ad_expired' => [
106 'text' => __( 'Ad expired', 'advanced-ads' ) . ': ',
107 'type' => 'notice',
108 'hide' => false,
109 ],
110 // a visible ad is used in <head> tags
111 // is checked in the frontend by Ad Health in Advanced_Ads_Frontend_Checks::can_use_head_placement().
112 'ad_with_output_in_head' => [
113 // we keep the %s here and replace it with an empty string, because we use it somewhere else and don’t want to create a new string that is basically the same.
114 'text' => sprintf(
115 /* translators: %s is empty here, but the string will be followed by a name of an ad unit. */
116 __( 'Visible ads should not use the Header placement: %s', 'advanced-ads' ),
117 ''
118 ),
119 'type' => 'notice',
120 'hide' => false,
121 'get_help_link' => 'https://wpadvancedads.com/manual/ad-health/?utm_source=advanced-ads&utm_medium=link&utm_campaign=error-visible-ad-in-header#header-ads',
122 'timeout' => YEAR_IN_SECONDS,
123 ],
124 // Ad has HTTP, but site uses HTTPS
125 // check in Ad Health in frontend.
126 'ad_has_http' => [
127 'text' => __( 'Your website is using HTTPS, but the ad code contains HTTP and might not work.', 'advanced-ads' ),
128 'type' => 'notice',
129 'hide' => false,
130 'get_help_link' => 'https://wpadvancedads.com/manual/ad-health/?utm_source=advanced-ads&utm_medium=link&utm_campaign=error-https-ads#https-ads',
131 ],
132 // dummy text for general AdSense issue.
133 'adsense_issue' => [
134 // we keep the %s here and replace it with an empty string, because we use it somewhere else and don’t want to create a new string that is basically the same.
135 'text' => __( 'AdSense issue', 'advanced-ads' ),
136 'type' => 'problem',
137 ],
138 // AdSense connection error: disapproved account.
139 'adsense_connect_disapprovedAccount' => [
140 'text' => __( 'Last AdSense account connection attempt failed.', 'advanced-ads' ) . '&nbsp;' . __( 'Your account was not approved by AdSense.', 'advanced-ads' ) . ' ' . Advanced_Ads_Ad_Health_Notices::get_adsense_error_link( 'disapprovedAccount' ),
141 'type' => 'problem',
142 'hide' => false,
143 ],
144 // AdSense connection error: no adsense account.
145 'adsense_connect_noAdSenseAccount' => [
146 'text' => sprintf(
147 __( 'Last AdSense account connection attempt failed.', 'advanced-ads' ) . '&nbsp;' .
148 /* translators: %1$s is the opening a tag and %2$s the closing one. */
149 __( 'Create a new AdSense account %1$shere%2$s.', 'advanced-ads' ) . ' ' . Advanced_Ads_Ad_Health_Notices::get_adsense_error_link( 'noAdSenseAccount' ),
150 '<a href="https://www.google.com/adsense/start/?utm_source=AdvancedAdsPlugIn&utm_medium=partnerships&utm_campaign=AdvancedAdsPartner1" target="_blank">',
151 '</a>'
152 ),
153 'type' => 'problem',
154 'hide' => false,
155 ],
156 // AdSense account alert. Missing ads.txt – version 1.
157 'adsense_alert_ALERT_TYPE_ADS_TXT_UNAUTHORIZED' => [
158 'text' => sprintf(
159 __( 'One of your sites is missing the AdSense publisher ID in the ads.txt file.', 'advanced-ads' )
160 . ' <a class="advads-settings-link" href="%s">'
161 . _x( 'Create one now.', 'related to ads.txt file', 'advanced-ads' ) . '</a>',
162 admin_url( 'admin.php?page=advanced-ads-settings#general__advads-ads-txt' )
163 ) . ' ' . Advanced_Ads_Ad_Health_Notices::get_adsense_error_link( 'ALERT_TYPE_ADS_TXT_UNAUTHORIZED' ),
164 'type' => 'problem',
165 ],
166 // AdSense account alert. . Missing ads.txt – version 2.
167 'adsense_alert_ADS_TXT_MISSING' => [
168 'text' => sprintf(
169 __( 'One of your sites is missing the AdSense publisher ID in the ads.txt file.', 'advanced-ads' )
170 . ' <a class="advads-settings-link" href="%s">'
171 . _x( 'Create one now.', 'related to ads.txt file', 'advanced-ads' ) . '</a>',
172 admin_url( 'admin.php?page=advanced-ads-settings#general__advads-ads-txt' )
173 ) . ' ' . Advanced_Ads_Ad_Health_Notices::get_adsense_error_link( 'ADS_TXT_MISSING' ),
174 'type' => 'problem',
175 ],
176 // AdSense account alert. . Missing ads.txt – version 3.
177 'adsense_alert_ADS_TXT_ISSUES' => [
178 'text' => sprintf(
179 __( 'One of your sites is missing the AdSense publisher ID in the ads.txt file.', 'advanced-ads' )
180 . ' <a class="advads-settings-link" href="%s">'
181 . _x( 'Create one now.', 'related to ads.txt file', 'advanced-ads' ) . '</a>',
182 admin_url( 'admin.php?page=advanced-ads-settings#general__advads-ads-txt' )
183 ) . ' ' . Advanced_Ads_Ad_Health_Notices::get_adsense_error_link( 'ADS_TXT_ISSUES' ),
184 'type' => 'problem',
185 ],
186
187 // AdSense deprecated link units.
188 'adsense_link_units_deprecated' => [
189 'text' => __( 'Google AdSense deprecated Link Units. Please choose another format.', 'advanced-ads' )
190 . ' <a href="https://wpadvancedads.com/adsense-link-units/" target="_blank" rel="noopener">'
191 . esc_html__( 'Learn more', 'advanced-ads' )
192 . '</a>',
193 'type' => 'problem',
194 ],
195 'nested_the_content_filters' => [
196 'text' => sprintf(
197 /* translators: %s is a filter hook, here `the_content`. */
198 __( '<strong>%s</strong> filter found multiple times.', 'advanced-ads' ),
199 'the_content'
200 ) . '&nbsp;' . __( 'Advanced Ads uses the outermost of them.', 'advanced-ads' ),
201 'get_help_link' => 'https://wpadvancedads.com/manual/ad-health/?utm_source=advanced-ads&utm_medium=link&utm_campaign=error-multiple-the-content#the_content_filter_found_multiple_times',
202 'type' => 'notice',
203 'hide' => false,
204 ],
205 // BuddyPress installed.
206 'buddypress_no_pro' => [
207 'text' => sprintf(
208 /* translators: %1$s is a plugin name, %2$s is the opening a tag and %3$s the closing one. */
209 __( 'Learn how to integrate %1$s with Advanced Ads %2$shere%3$s.', 'advanced-ads' ),
210 '<strong>BuddyPress</strong>',
211 '<a href="https://wpadvancedads.com/ads-on-buddypress-pages/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-buddypress" target="_blank">',
212 '</a>'
213 ),
214 'type' => 'notice',
215 'hide' => false,
216 ],
217 // BuddyBoss installed.
218 'buddyboss_no_pro' => [
219 'text' => sprintf(
220 /* translators: %1$s is a plugin name, %2$s is the opening a tag and %3$s the closing one. */
221 __( 'Learn how to integrate %1$s with Advanced Ads %2$shere%3$s.', 'advanced-ads' ),
222 '<strong>BuddyBoss</strong>',
223 '<a href="https://wpadvancedads.com/manual/buddyboss-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-buddyboss" target="_blank">',
224 '</a>'
225 ),
226 'type' => 'pitch',
227 'hide' => false,
228 ],
229 // bbPress installed.
230 'bbpress_no_pro' => [
231 'text' => sprintf(
232 /* translators: %1$s is a plugin name, %2$s is the opening a tag and %3$s the closing one. */
233 __( 'Learn how to integrate %1$s with Advanced Ads %2$shere%3$s.', 'advanced-ads' ),
234 '<strong>bbPress</strong>',
235 '<a href="https://wpadvancedads.com/ads-in-bbpress/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-bbpress" target="_blank">',
236 '</a>'
237 ),
238 'type' => 'notice',
239 'hide' => false,
240 ],
241 // WPML plugin activated.
242 'WPML_active' => [
243 'text' => sprintf(
244 /* translators: %1$s is a plugin name, %2$s is the opening a tag and %3$s the closing one. */
245 __( 'Learn how to integrate %1$s with Advanced Ads %2$shere%3$s.', 'advanced-ads' ),
246 '<strong>WPML</strong>',
247 '<a href="https://wpadvancedads.com/translating-ads-wpml/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-WPML" target="_blank">',
248 '</a>'
249 ),
250 'type' => 'notice',
251 'hide' => false,
252 'timeout' => YEAR_IN_SECONDS,
253 ],
254 // AMP and Accelerated Mobile Pages plugins.
255 'AMP_active' => [
256 'text' => sprintf(
257 /* translators: %1$s is a plugin name, %2$s is the opening a tag and %3$s the closing one. */
258 __( 'Learn how to integrate %1$s with Advanced Ads %2$shere%3$s.', 'advanced-ads' ),
259 '<strong>AMP</strong>',
260 '<a href="https://wpadvancedads.com/manual/ads-on-amp-pages/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-amp" target="_blank">',
261 '</a>'
262 ),
263 'type' => 'notice',
264 'hide' => false,
265 'timeout' => YEAR_IN_SECONDS,
266 ],
267 // Hosting on WP Engine
268 // Advanced_Ads_Checks::wp_engine_hosting().
269 'wpengine' => [
270 'text' => sprintf(
271 /* translators: %s is a service or plugin name */
272 '<strong>' . __( '%s detected.', 'advanced-ads' ) . '</strong>'
273 . ' <a href="https://wpadvancedads.com/wp-engine-and-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-wpengine">' . __( 'Learn how this might impact your ad setup.', 'advanced-ads' ) . '</a>',
274 'WP Engine'
275 ),
276 'type' => 'notice',
277 'hide' => false,
278 'timeout' => YEAR_IN_SECONDS,
279 ],
280 // Notice about existing ads.txt plugins.
281 // Advanced_Ads_Checks::ads_txt_plugins().
282 'ads_txt_plugins_enabled' => [
283 'text' => sprintf(
284 /* translators: %s removable ads.txt plugins */
285 __( 'Advanced Ads handles your ads.txt file automatically. You might be able to <strong>remove %1$s</strong>.', 'advanced-ads' ),
286 implode( ', ', Advanced_Ads_Checks::ads_txt_plugins() )
287 ),
288 'type' => 'notice',
289 'hide' => false,
290 'timeout' => YEAR_IN_SECONDS,
291 ],
292 // Notice about plugins that add header or footer code.
293 // Advanced_Ads_Checks::header_footer_plugins().
294 'header_footer_plugins_enabled' => [
295 'text' =>
296 __( 'Advanced Ads handles header and footer codes.', 'advanced-ads' ) . '&nbsp;' .
297 sprintf(
298 /* translators: %s removable header and footer plugins */
299 __( 'You might be able to <strong>remove %1$s</strong>.', 'advanced-ads' ),
300 implode( ', ', Advanced_Ads_Checks::header_footer_plugins() )
301 ) . '&nbsp;' .
302 '<a href="https://wpadvancedads.com/add-header-and-footer-code-wordpress/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-header-footer" target="_blank">' . __( 'Learn how.', 'advanced-ads' ) . '</a>',
303 'type' => 'notice',
304 'hide' => false,
305 'timeout' => YEAR_IN_SECONDS,
306 ],
307 // GamiPress.
308 'gamipress_no_pro' => [
309 'text' => sprintf(
310 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
311 __( 'Learn how to target ads on GamiPress websites %1$shere%2$s %3$s', 'advanced-ads' ),
312 '<a href="https://wpadvancedads.com/manual/gamipress-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-gamipres" target="_blank">',
313 '</a>',
314 '<i class="dashicons dashicons-external"></i>'
315 ),
316 'type' => 'pitch',
317 'hide' => false,
318 ],
319 // Paid Membership Pro.
320 'pmp_no_pro' => [
321 'text' => sprintf(
322 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
323 __( 'Learn how to manage ads on membership sites running Paid Memberships Pro %1$shere%2$s %3$s', 'advanced-ads' ),
324 '<a href="https://wpadvancedads.com/paid-memberships-pro/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-pmp" target="_blank">',
325 '</a>',
326 '<i class="dashicons dashicons-external"></i>'
327 ),
328 'type' => 'pitch',
329 'hide' => false,
330 ],
331 // Members plugin.
332 'members_no_pro' => [
333 'text' => sprintf(
334 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
335 __( 'Learn how to target ads to specific user roles created with the Members plugin %1$shere%2$s %3$s', 'advanced-ads' ),
336 '<a href="https://wpadvancedads.com/members-plugin-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-members" target="_blank">',
337 '</a>',
338 '<i class="dashicons dashicons-external"></i>'
339 ),
340 'type' => 'pitch',
341 'hide' => false,
342 ],
343 // Members plugin.
344 'translatepress_no_pro' => [
345 'text' => sprintf(
346 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
347 __( 'Learn how to target ads to multiple languages in TranslatePress %1$shere%2$s %3$s', 'advanced-ads' ),
348 '<a href="https://wpadvancedads.com/translatepress/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-translatepress" target="_blank">',
349 '</a>',
350 '<i class="dashicons dashicons-external"></i>'
351 ),
352 'type' => 'pitch',
353 'hide' => false,
354 ],
355 // Weglot.
356 'weglot_no_pro' => [
357 'text' => sprintf(
358 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
359 __( 'Learn how to target ads to multiple languages in Weglot %1$shere%2$s %3$s', 'advanced-ads' ),
360 '<a href="https://wpadvancedads.com/weglot/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-weglot" target="_blank">',
361 '</a>',
362 '<i class="dashicons dashicons-external"></i>'
363 ),
364 'type' => 'pitch',
365 'hide' => false,
366 ],
367 // LearnDash.
368 'learndash' => [
369 'text' => sprintf(
370 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
371 __( 'Learn how to integrate ads into LearnDash %1$shere%2$s %3$s', 'advanced-ads' ),
372 '<a href="https://wpadvancedads.com/learndash-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-learndash" target="_blank">',
373 '</a>',
374 '<i class="dashicons dashicons-external"></i>'
375 ),
376 'type' => 'pitch',
377 'hide' => false,
378 ],
379 // AAWP.
380 'aawp' => [
381 'text' => sprintf(
382 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
383 __( 'Learn how to auto-inject Amazon Ads with AAWP and Advanced Ads %1$shere%2$s %3$s', 'advanced-ads' ),
384 '<a href="https://wpadvancedads.com/aawp-amazon/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-aawp" target="_blank">',
385 '</a>',
386 '<i class="dashicons dashicons-external"></i>'
387 ),
388 'type' => 'pitch',
389 'hide' => false,
390 ],
391 // Polylang.
392 'polylang' => [
393 'text' => sprintf(
394 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
395 __( 'Learn how to target ads to multiple languages in Polylang %1$shere%2$s %3$s', 'advanced-ads' ),
396 '<a href="https://wpadvancedads.com/polylang/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-polylang" target="_blank">',
397 '</a>',
398 '<i class="dashicons dashicons-external"></i>'
399 ),
400 'type' => 'pitch',
401 'hide' => false,
402 ],
403 // MailPoet.
404 'mailpoet' => [
405 'text' => sprintf(
406 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
407 __( 'Learn how to integrate Advanced Ads in MailPoet Newsletters %1$shere%2$s %3$s', 'advanced-ads' ),
408 '<a href="https://wpadvancedads.com/mailpoet-newsletters/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-mailpoet" target="_blank">',
409 '</a>',
410 '<i class="dashicons dashicons-external"></i>'
411 ),
412 'type' => 'pitch',
413 'hide' => false,
414 ],
415 // WP Rocket.
416 'wp_rocket' => [
417 'text' => sprintf(
418 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
419 __( 'Learn how to use WP Rocket with Advanced Ads %1$shere%2$s %3$s', 'advanced-ads' ),
420 '<a href="https://wpadvancedads.com/wp-rocket-adsense/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-wprocket" target="_blank">',
421 '</a>',
422 '<i class="dashicons dashicons-external"></i>'
423 ),
424 'type' => 'pitch',
425 'hide' => false,
426 ],
427 // Quiz plugins.
428 'quiz_plugins_no_pro' => [
429 'text' => sprintf(
430 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
431 __( 'Learn how to embed Ads into a Quiz %1$shere%2$s %3$s', 'advanced-ads' ),
432 '<a href="https://wpadvancedads.com/quiz-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-quiz" target="_blank">',
433 '</a>',
434 '<i class="dashicons dashicons-external"></i>'
435 ),
436 'type' => 'pitch',
437 'hide' => false,
438 ],
439 // Elementor.
440 'elementor' => [
441 'text' => sprintf(
442 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
443 __( 'Learn how to create and implement ads in Elementor %1$shere%2$s %3$s', 'advanced-ads' ),
444 '<a href="https://wpadvancedads.com/elementor-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-elementor" target="_blank">',
445 '</a>',
446 '<i class="dashicons dashicons-external"></i>'
447 ),
448 'type' => 'pitch',
449 'hide' => false,
450 ],
451 // SiteOrigin.
452 'siteorigin' => [
453 'text' => sprintf(
454 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
455 __( 'Learn how to embed ads into a website built with the SiteOrigin page builder %1$shere%2$s %3$s', 'advanced-ads' ),
456 '<a href="https://wpadvancedads.com/siteorigin-page-builder/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-siteorigin" target="_blank">',
457 '</a>',
458 '<i class="dashicons dashicons-external"></i>'
459 ),
460 'type' => 'pitch',
461 'hide' => false,
462 ],
463 // Divi Theme or Divi builder plugin.
464 'divi_no_pro' => [
465 'text' => sprintf(
466 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
467 __( 'Learn how to integrate ads into the Divi theme and Divi builder %1$shere%2$s %3$s', 'advanced-ads' ),
468 '<a href="https://wpadvancedads.com/divi-theme-builder/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-divi" target="_blank">',
469 '</a>',
470 '<i class="dashicons dashicons-external"></i>'
471 ),
472 'type' => 'pitch',
473 'hide' => false,
474 ],
475 // Divi Theme or Divi builder plugin.
476 'beaver_builder' => [
477 'text' => sprintf(
478 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
479 __( 'Learn how to embed ads into your Beaver Builder website %1$shere%2$s %3$s', 'advanced-ads' ),
480 '<a href="https://wpadvancedads.com/beaver-builder-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-beaverbuilder" target="_blank">',
481 '</a>',
482 '<i class="dashicons dashicons-external"></i>'
483 ),
484 'type' => 'pitch',
485 'hide' => false,
486 ],
487 // Pagelayer plugin.
488 'pagelayer' => [
489 'text' => sprintf(
490 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
491 __( 'Learn how to embed ads into a website built with Pagelayer %1$shere%2$s %3$s', 'advanced-ads' ),
492 '<a href="https://wpadvancedads.com/pagelayer/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-pagelayer" target="_blank">',
493 '</a>',
494 '<i class="dashicons dashicons-external"></i>'
495 ),
496 'type' => 'pitch',
497 'hide' => false,
498 ],
499 // WPBakery Page Builder.
500 'wpb' => [
501 'text' => sprintf(
502 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
503 __( 'Learn more about displaying Ads with WPBakery Page Builder %1$shere%2$s %3$s', 'advanced-ads' ),
504 '<a href="https://wpadvancedads.com/visual-composer-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-wpbakery" target="_blank">',
505 '</a>',
506 '<i class="dashicons dashicons-external"></i>'
507 ),
508 'type' => 'pitch',
509 'hide' => false,
510 ],
511 // Newspaper theme.
512 'newspaper' => [
513 'text' => sprintf(
514 /* translators: 1 opening anchor tag, 2 closing tag, 3 icon */
515 __( 'Learn how to integrate ads into the tagDiv Newspaper theme %1$shere%2$s %3$s', 'advanced-ads' ),
516 '<a href="https://wpadvancedads.com/tagdiv-newspaper-theme/?utm_source=advanced-ads&utm_medium=link&utm_campaign=notice-newspaper" target="_blank">',
517 '</a>',
518 '<i class="dashicons dashicons-external"></i>'
519 ),
520 'type' => 'pitch',
521 'hide' => false,
522 ],
523 ]
524 );
525