Advanced Ads - Version 1.11.2

Version Description

  • removed "Limit to 3 AdSense ads" option for users who dont have it enabled since AdSense no longer has such a rule
  • fixed filtering by ad groups on the ad list
  • hide ad blocker checking code when not needed
Download this release

Release Info

Developer webzunft
Plugin Icon 128x128 Advanced Ads
Version 1.11.2
Comparing to
See all releases

Code changes from version 1.11.1 to 1.11.2

admin/includes/class-list-filters.php CHANGED
@@ -213,7 +213,6 @@ class Advanced_Ads_Ad_List_Filters {
213
  }
214
  foreach ( $term_relations as $value ) {
215
  if ( isset( $value['term_taxonomy_id'] ) && isset( $value['object_id'] ) ) {
216
- // if ( ! array_key_exists( absint( $value['term_taxonomy_id'] ), $this->ads_in_groups ) ) {
217
  $this->ads_in_groups[ absint( $value['term_taxonomy_id'] ) ][] = absint( $value['object_id'] );
218
  }
219
  }
@@ -397,6 +396,36 @@ class Advanced_Ads_Ad_List_Filters {
397
  $using_original = false;
398
  }
399
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
400
  /**
401
  * Filter ad type
402
  */
213
  }
214
  foreach ( $term_relations as $value ) {
215
  if ( isset( $value['term_taxonomy_id'] ) && isset( $value['object_id'] ) ) {
 
216
  $this->ads_in_groups[ absint( $value['term_taxonomy_id'] ) ][] = absint( $value['object_id'] );
217
  }
218
  }
396
  $using_original = false;
397
  }
398
 
399
+ /**
400
+ * Filter by taxonomy
401
+ */
402
+ if ( isset( $request['taxonomy'] ) && isset( $request['term'] ) ) {
403
+
404
+ $term = $request['term'];
405
+ global $wpdb;
406
+ $q = 'SELECT `object_id` FROM `' . $wpdb->prefix . 'term_relationships` WHERE `term_taxonomy_id` = ( SELECT `term_id` FROM `' . $wpdb->prefix . 'terms` WHERE `slug` = %s )';
407
+ $q = $wpdb->prepare( $q, $term );
408
+
409
+ $object_ids = $wpdb->get_results( $q, 'ARRAY_A' );
410
+ $ads_in_taxo = array();
411
+
412
+ foreach( $object_ids as $object ) {
413
+ $ads_in_taxo[] = absint( $object['object_id'] );
414
+ }
415
+
416
+ $new_posts = array();
417
+ $the_list = $using_original ? $this->all_ads : $posts;
418
+ foreach ( $the_list as $post ) {
419
+ if ( in_array( $post->ID, $ads_in_taxo, true ) ) {
420
+ $new_posts[] = $post;
421
+ }
422
+ }
423
+ $posts = $new_posts;
424
+ $the_query->found_posts = count( $posts );
425
+ $using_original = false;
426
+
427
+ }
428
+
429
  /**
430
  * Filter ad type
431
  */
admin/includes/class-meta-box.php CHANGED
@@ -446,7 +446,9 @@ class Advanced_Ads_Admin_Meta_Boxes {
446
  array(
447
  'link' => ADVADS_URL,
448
  'url' => ADVADS_URL . 'feed/',
449
- 'title' => __( 'Advanced Ads Tutorials', 'advanced-ads' ),
 
 
450
  'items' => 2,
451
  'show_summary' => 1,
452
  'show_author' => 0,
446
  array(
447
  'link' => ADVADS_URL,
448
  'url' => ADVADS_URL . 'feed/',
449
+ 'title' => sprintf(
450
+ // translators: %s is our URL
451
+ __( 'Latest posts on wpadvancedads.com', 'advanced-ads' ), ADVADS_URL ),
452
  'items' => 2,
453
  'show_summary' => 1,
454
  'show_author' => 0,
admin/views/ad-list-filters.php CHANGED
@@ -45,3 +45,4 @@ if ( isset( $_REQUEST['post_status'] ) && 'trash' === $_REQUEST['post_status'] )
45
  <?php endforeach; ?>
46
  </select>
47
  <?php endif; ?>
 
45
  <?php endforeach; ?>
46
  </select>
47
  <?php endif; ?>
48
+ <?php do_action( 'advanced-ads-ad-list-filter-markup', $all_filters ); ?>
admin/views/settings-disable-ads.php CHANGED
@@ -22,4 +22,4 @@
22
  echo ADVADS_SLUG;
23
  ?>[disabled-ads][feed]" <?php
24
  checked( $disable_feed, 1 );
25
- ?>><?php _e( 'Disable ads in Feed', 'advanced-ads' ); ?></label>
22
  echo ADVADS_SLUG;
23
  ?>[disabled-ads][feed]" <?php
24
  checked( $disable_feed, 1 );
25
+ ?>><?php _e( 'Disable ads in RSS Feed', 'advanced-ads' ); ?></label>
advanced-ads.php CHANGED
@@ -12,7 +12,7 @@
12
  * Plugin Name: Advanced Ads
13
  * Plugin URI: https://wpadvancedads.com
14
  * Description: Manage and optimize your ads in WordPress
15
- * Version: 1.11.1
16
  * Author: Thomas Maier
17
  * Author URI: https://wpadvancedads.com
18
  * Text Domain: advanced-ads
@@ -39,7 +39,7 @@ define( 'ADVADS_BASE_DIR', dirname( ADVADS_BASE ) ); // directory of the plugin
39
  // general and global slug, e.g. to store options in WP
40
  define( 'ADVADS_SLUG', 'advanced-ads' );
41
  define( 'ADVADS_URL', 'https://wpadvancedads.com/' );
42
- define( 'ADVADS_VERSION', '1.11.1' );
43
 
44
  /*----------------------------------------------------------------------------*
45
  * Autoloading, modules and functions
12
  * Plugin Name: Advanced Ads
13
  * Plugin URI: https://wpadvancedads.com
14
  * Description: Manage and optimize your ads in WordPress
15
+ * Version: 1.11.2
16
  * Author: Thomas Maier
17
  * Author URI: https://wpadvancedads.com
18
  * Text Domain: advanced-ads
39
  // general and global slug, e.g. to store options in WP
40
  define( 'ADVADS_SLUG', 'advanced-ads' );
41
  define( 'ADVADS_URL', 'https://wpadvancedads.com/' );
42
+ define( 'ADVADS_VERSION', '1.11.2' );
43
 
44
  /*----------------------------------------------------------------------------*
45
  * Autoloading, modules and functions
classes/checks.php CHANGED
@@ -216,7 +216,7 @@ class Advanced_Ads_Checks {
216
 
217
  /**
218
  * check if any of the global hide ads options is set
219
- * ignore feed setting, because it is standard
220
  *
221
  * @since 1.7.10
222
  * @return bool
@@ -225,7 +225,7 @@ class Advanced_Ads_Checks {
225
  $options = Advanced_Ads::get_instance()->options();
226
  if( isset( $options['disabled-ads'] ) && is_array( $options['disabled-ads'] ) ){
227
  foreach( $options['disabled-ads'] as $_key => $_value ){
228
- // don’t warn if "feed" and "404" option are enabled, because they are normally not critical
229
  if( !empty( $_value ) && !in_array($_key, array( 'feed', '404') ) ){
230
  return true;
231
  }
216
 
217
  /**
218
  * check if any of the global hide ads options is set
219
+ * ignore RSS feed setting, because it is standard
220
  *
221
  * @since 1.7.10
222
  * @return bool
225
  $options = Advanced_Ads::get_instance()->options();
226
  if( isset( $options['disabled-ads'] ) && is_array( $options['disabled-ads'] ) ){
227
  foreach( $options['disabled-ads'] as $_key => $_value ){
228
+ // don’t warn if "RSS Feed" and "404" option are enabled, because they are normally not critical
229
  if( !empty( $_value ) && !in_array($_key, array( 'feed', '404') ) ){
230
  return true;
231
  }
classes/display-conditions.php CHANGED
@@ -581,8 +581,8 @@ class Advanced_Ads_Display_Conditions {
581
  'type' => 'radio',
582
  ),
583
  'is_feed' => array(
584
- 'label' => __('Feed', 'advanced-ads'),
585
- 'description' => __('allow ads in Feed', 'advanced-ads'),
586
  'type' => 'radio',
587
  )
588
  ) );
581
  'type' => 'radio',
582
  ),
583
  'is_feed' => array(
584
+ 'label' => __('RSS Feed', 'advanced-ads'),
585
+ 'description' => __('allow ads in RSS Feed', 'advanced-ads'),
586
  'type' => 'radio',
587
  )
588
  ) );
languages/advanced-ads.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Advanved Ads\n"
5
  "Report-Msgid-Bugs-To: http://wordpress.org/plugins/plugin-name\n"
6
- "POT-Creation-Date: 2019-01-16 11:08+0000\n"
7
  "POT-Revision-Date: Wed Jul 13 2016 13:23:05 GMT+0200 (CEST)\n"
8
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
9
  "Last-Translator: Thomas Maier <post@webzunft.de>\n"
@@ -25,8 +25,8 @@ msgstr ""
25
 
26
  #: admin/class-advanced-ads-admin.php:220 classes/display-conditions.php:215
27
  #: classes/visitor-conditions.php:242 admin/views/ad-display-metabox.php:189
28
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:86
29
  #: modules/gadsense/admin/views/adsense-ad-parameters.php:89
 
30
  msgid "or"
31
  msgstr ""
32
 
@@ -46,7 +46,7 @@ msgstr ""
46
 
47
  #: admin/class-advanced-ads-admin.php:375 admin/includes/class-menu.php:107
48
  #: admin/includes/class-menu.php:110 admin/views/settings.php:28
49
- #: modules/gadsense/admin/admin.php:194
50
  msgid "Support"
51
  msgstr ""
52
 
@@ -484,11 +484,11 @@ msgid "allow ads in secondary queries"
484
  msgstr ""
485
 
486
  #: classes/display-conditions.php:584
487
- msgid "Feed"
488
  msgstr ""
489
 
490
  #: classes/display-conditions.php:585
491
- msgid "allow ads in Feed"
492
  msgstr ""
493
 
494
  #: classes/EDD_SL_Plugin_Updater.php:216
@@ -1093,7 +1093,7 @@ msgstr ""
1093
 
1094
  #: admin/includes/class-list-filters.php:140
1095
  #: modules/gadsense/admin/admin.php:29
1096
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:132
1097
  msgid "Responsive"
1098
  msgstr ""
1099
 
@@ -1196,8 +1196,9 @@ msgstr ""
1196
  msgid "Visit our blog for more articles about ad optimization"
1197
  msgstr ""
1198
 
1199
- #: admin/includes/class-meta-box.php:449
1200
- msgid "Advanced Ads Tutorials"
 
1201
  msgstr ""
1202
 
1203
  #: admin/includes/class-notices.php:472
@@ -1234,10 +1235,10 @@ msgid "Create your first ad"
1234
  msgstr ""
1235
 
1236
  #: admin/includes/class-overview-widgets.php:68
1237
- #: modules/gadsense/admin/views/adsense-account.php:93
1238
- #: modules/gadsense/admin/views/adsense-account.php:111
1239
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:91
1240
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:93
1241
  msgid "Connect to AdSense"
1242
  msgstr ""
1243
 
@@ -1827,7 +1828,7 @@ msgid "Forced to OR."
1827
  msgstr ""
1828
 
1829
  #: admin/views/ad-display-metabox.php:104
1830
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:139
1831
  msgid "manual"
1832
  msgstr ""
1833
 
@@ -1899,7 +1900,7 @@ msgid "Name"
1899
  msgstr ""
1900
 
1901
  #: admin/views/ad-group-list-form-row.php:55 admin/views/placements.php:31
1902
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:128
1903
  msgid "Type"
1904
  msgstr ""
1905
 
@@ -2422,11 +2423,11 @@ msgstr ""
2422
  msgid "I switched to another plugin"
2423
  msgstr ""
2424
 
2425
- #: admin/views/feedback-disable.php:25 modules/gadsense/admin/admin.php:298
2426
  msgid "Faster than the AdSense support!"
2427
  msgstr ""
2428
 
2429
- #: admin/views/feedback-disable.php:32 modules/gadsense/admin/admin.php:307
2430
  msgid "reach out for help"
2431
  msgstr ""
2432
 
@@ -2529,7 +2530,7 @@ msgid "Where do you want to display the ad?"
2529
  msgstr ""
2530
 
2531
  #: admin/views/placement-injection-top.php:24
2532
- #: modules/gadsense/admin/admin.php:461
2533
  #, php-format
2534
  msgid ""
2535
  "The AdSense verification and Auto ads code is already activated in the <a "
@@ -2537,7 +2538,7 @@ msgid ""
2537
  msgstr ""
2538
 
2539
  #: admin/views/placement-injection-top.php:30
2540
- #: modules/gadsense/admin/admin.php:463
2541
  msgid ""
2542
  "No need to add the code manually here, unless you want to include it into "
2543
  "certain pages only."
@@ -2878,7 +2879,7 @@ msgid ""
2878
  msgstr ""
2879
 
2880
  #: admin/views/settings-disable-ads.php:25
2881
- msgid "Disable ads in Feed"
2882
  msgstr ""
2883
 
2884
  #: admin/views/settings.php:13
@@ -3050,37 +3051,37 @@ msgstr ""
3050
  msgid "Verification code & Auto ads"
3051
  msgstr ""
3052
 
3053
- #: modules/gadsense/admin/admin.php:153
3054
  msgid "Limit to 3 ads"
3055
  msgstr ""
3056
 
3057
- #: modules/gadsense/admin/admin.php:162
3058
  msgid "Disable violation warnings"
3059
  msgstr ""
3060
 
3061
- #: modules/gadsense/admin/admin.php:170
3062
  msgid "Transparent background"
3063
  msgstr ""
3064
 
3065
- #: modules/gadsense/admin/admin.php:235
3066
  #, php-format
3067
  msgid "Limit to %d AdSense ads"
3068
  msgstr ""
3069
 
3070
- #: modules/gadsense/admin/admin.php:239
3071
  msgid ""
3072
  "There is no explicit limit for AdSense ads anymore, but you can still use "
3073
  "this setting to prevent too many AdSense ads to show accidentally on your "
3074
  "site."
3075
  msgstr ""
3076
 
3077
- #: modules/gadsense/admin/admin.php:243
3078
  msgid ""
3079
  "Due to technical restrictions, the limit does not work on placements with "
3080
  "cache-busting enabled."
3081
  msgstr ""
3082
 
3083
- #: modules/gadsense/admin/admin.php:257
3084
  #: modules/gadsense/admin/views/connect-adsense.php:37
3085
  msgid ""
3086
  "Insert the AdSense header code used for verification and the Auto Ads "
@@ -3088,30 +3089,30 @@ msgid ""
3088
  msgstr ""
3089
 
3090
  #. this is the text for a link to a sub-page in an AdSense account
3091
- #: modules/gadsense/admin/admin.php:262
3092
  msgid "Adjust Auto ads options"
3093
  msgstr ""
3094
 
3095
- #: modules/gadsense/admin/admin.php:264
3096
  #, php-format
3097
  msgid ""
3098
  "Please read <a href=\"%s\" target=\"_blank\">this article</a> if <strong>ads "
3099
  "appear in random places</strong>."
3100
  msgstr ""
3101
 
3102
- #: modules/gadsense/admin/admin.php:265
3103
  msgid "Display Auto ads only on specific pages"
3104
  msgstr ""
3105
 
3106
- #: modules/gadsense/admin/admin.php:266
3107
  msgid "Auto ads on AMP pages"
3108
  msgstr ""
3109
 
3110
- #: modules/gadsense/admin/admin.php:279
3111
  msgid "Disable warnings about potential violations of the AdSense terms."
3112
  msgstr ""
3113
 
3114
- #: modules/gadsense/admin/admin.php:280
3115
  #, php-format
3116
  msgid ""
3117
  "Our <a href=\"%s\" target=\"_blank\">Ad Health</a> feature monitors if "
@@ -3119,22 +3120,22 @@ msgid ""
3119
  "managed with Advanced Ads. Enable this option to remove these checks"
3120
  msgstr ""
3121
 
3122
- #: modules/gadsense/admin/admin.php:291
3123
  msgid ""
3124
  "Enable this option in case your theme adds an unfortunate background color "
3125
  "to AdSense ads."
3126
  msgstr ""
3127
 
3128
- #: modules/gadsense/admin/admin.php:330
3129
  #: modules/gadsense/includes/class-ad-type-adsense.php:76
3130
  msgid "The Publisher ID has an incorrect format. (must start with \"pub-\")"
3131
  msgstr ""
3132
 
3133
- #: modules/gadsense/admin/admin.php:352
3134
  msgid "AdSense"
3135
  msgstr ""
3136
 
3137
- #: modules/gadsense/admin/admin.php:404
3138
  #, php-format
3139
  msgid ""
3140
  "Responsive AdSense ads don’t work reliably with <em>Position</em> set to "
@@ -3143,14 +3144,14 @@ msgid ""
3143
  "wrapped in text."
3144
  msgstr ""
3145
 
3146
- #: modules/gadsense/admin/admin.php:410
3147
  #, php-format
3148
  msgid ""
3149
  "<a href=\"%s\" target=\"_blank\">Install the free AdSense In-feed add-on</a> "
3150
  "in order to place ads between posts."
3151
  msgstr ""
3152
 
3153
- #: modules/gadsense/admin/admin.php:417
3154
  #, php-format
3155
  msgid ""
3156
  "Use the <a href=\"%s\" target=\"_blank\">Responsive add-on</a> in order to "
@@ -3158,7 +3159,7 @@ msgid ""
3158
  "vertical, or rectangle formats."
3159
  msgstr ""
3160
 
3161
- #: modules/gadsense/admin/admin.php:465
3162
  #, php-format
3163
  msgid ""
3164
  "The AdSense verification and Auto ads code should be set up in the <a "
@@ -3166,7 +3167,7 @@ msgid ""
3166
  "now."
3167
  msgstr ""
3168
 
3169
- #: modules/gadsense/admin/admin.php:466
3170
  msgid "Activate"
3171
  msgstr ""
3172
 
@@ -3477,7 +3478,7 @@ msgid "AdSense warnings"
3477
  msgstr ""
3478
 
3479
  #: modules/gadsense/admin/views/adsense-account.php:30
3480
- #: modules/gadsense/admin/views/adsense-account.php:78
3481
  msgid "dismiss"
3482
  msgstr ""
3483
 
@@ -3486,55 +3487,54 @@ msgid ""
3486
  "One of your sites is missing the AdSense publisher ID in the ads.txt file."
3487
  msgstr ""
3488
 
3489
- #: modules/gadsense/admin/views/adsense-account.php:42
3490
- #: modules/gadsense/admin/views/adsense-account.php:83
 
3491
  #, php-format
3492
- msgid ""
3493
- "Learn more about AdSense account issues <a href=\"%s\" target=\"_blank\">"
3494
- "here</a>"
3495
  msgstr ""
3496
 
3497
- #: modules/gadsense/admin/views/adsense-account.php:69
3498
  msgid "Last AdSense account connection attempt failed."
3499
  msgstr ""
3500
 
3501
- #: modules/gadsense/admin/views/adsense-account.php:96
3502
  msgid "Revoke API acccess"
3503
  msgstr ""
3504
 
3505
- #: modules/gadsense/admin/views/adsense-account.php:102
3506
  msgid "Account holder name"
3507
  msgstr ""
3508
 
3509
- #: modules/gadsense/admin/views/adsense-account.php:104
3510
  msgid "Your AdSense Publisher ID <em>(pub-xxxxxxxxxxxxxx)</em>"
3511
  msgstr ""
3512
 
3513
- #: modules/gadsense/admin/views/adsense-account.php:110
3514
  msgid "Yes, I have an AdSense account"
3515
  msgstr ""
3516
 
3517
- #: modules/gadsense/admin/views/adsense-account.php:112
3518
  msgid "Configure everything manually"
3519
  msgstr ""
3520
 
3521
- #: modules/gadsense/admin/views/adsense-account.php:115
3522
  msgid "No, I still don't have an AdSense account"
3523
  msgstr ""
3524
 
3525
- #: modules/gadsense/admin/views/adsense-account.php:116
3526
  msgid "Get a free AdSense account"
3527
  msgstr ""
3528
 
3529
  #. %1$s is the opening link tag to our manual; %2$s is the appropriate closing link tag; %3$s is the opening link tag to our help forum; %4$s is the appropriate closing link tag
3530
- #: modules/gadsense/admin/views/adsense-account.php:166
3531
  #, php-format
3532
  msgid ""
3533
  "Problems with AdSense? Check out the %1$smanual%2$s or %3$sask here%4$s."
3534
  msgstr ""
3535
 
3536
- #: modules/gadsense/admin/views/adsense-account.php:174
3537
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:99
3538
  msgid "Can not connect AdSense account. PHP version is too low."
3539
  msgstr ""
3540
 
@@ -3545,103 +3545,103 @@ msgstr ""
3545
  msgid "unsupported"
3546
  msgstr ""
3547
 
3548
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:56
3549
  msgid "The ad details couldn't be retrieved from the ad code"
3550
  msgstr ""
3551
 
3552
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:57
3553
  msgid ""
3554
- "Warning : The AdSense account from this code does not match the one set in "
3555
  "the Advanced Ads options."
3556
  msgstr ""
3557
 
3558
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:65
3559
  msgid ""
3560
  "Copy the ad code from your AdSense account, paste it into the area below and "
3561
  "click on <em>Get details</em>."
3562
  msgstr ""
3563
 
3564
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:67
3565
  msgid "Get details"
3566
  msgstr ""
3567
 
3568
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:68
3569
  msgid "cancel"
3570
  msgstr ""
3571
 
3572
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:70
3573
  msgid "connect to your AdSense account"
3574
  msgstr ""
3575
 
3576
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:81
3577
  msgid "Insert new AdSense code"
3578
  msgstr ""
3579
 
3580
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:86
3581
  msgid "Get ad code from your linked account"
3582
  msgstr ""
3583
 
3584
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:105
3585
  msgid "Ad Slot ID"
3586
  msgstr ""
3587
 
3588
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:110
3589
  #, php-format
3590
  msgid "Publisher ID: %s"
3591
  msgstr ""
3592
 
3593
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:114
3594
  msgid ""
3595
  "The ad slot ID is either a number or empty and not the same as the publisher "
3596
  "ID."
3597
  msgstr ""
3598
 
3599
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:125
3600
  #, php-format
3601
  msgid "Please <a href=\"%s\" target=\"_blank\">change it here</a>."
3602
  msgstr ""
3603
 
3604
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:131
3605
  msgid "Normal"
3606
  msgstr ""
3607
 
3608
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:133
3609
  msgid "Responsive (Matched Content)"
3610
  msgstr ""
3611
 
3612
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:134
3613
  msgid "Link ads"
3614
  msgstr ""
3615
 
3616
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:135
3617
  msgid "Link ads (Responsive)"
3618
  msgstr ""
3619
 
3620
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:136
3621
  msgid "InArticle"
3622
  msgstr ""
3623
 
3624
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:137
3625
  msgid "InFeed"
3626
  msgstr ""
3627
 
3628
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:142
3629
  msgid "Resizing"
3630
  msgstr ""
3631
 
3632
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:150
3633
  msgid "Layout"
3634
  msgstr ""
3635
 
3636
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:154
3637
  msgid "Layout-Key"
3638
  msgstr ""
3639
 
3640
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:159
3641
  msgid "Clearfix"
3642
  msgstr ""
3643
 
3644
- #: modules/gadsense/admin/views/adsense-ad-parameters.php:162
3645
  msgid "Enable this box if responsive ads cover something on your site"
3646
  msgstr ""
3647
 
3
  msgstr ""
4
  "Project-Id-Version: Advanved Ads\n"
5
  "Report-Msgid-Bugs-To: http://wordpress.org/plugins/plugin-name\n"
6
+ "POT-Creation-Date: 2019-02-04 13:01+0000\n"
7
  "POT-Revision-Date: Wed Jul 13 2016 13:23:05 GMT+0200 (CEST)\n"
8
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
9
  "Last-Translator: Thomas Maier <post@webzunft.de>\n"
25
 
26
  #: admin/class-advanced-ads-admin.php:220 classes/display-conditions.php:215
27
  #: classes/visitor-conditions.php:242 admin/views/ad-display-metabox.php:189
 
28
  #: modules/gadsense/admin/views/adsense-ad-parameters.php:89
29
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:92
30
  msgid "or"
31
  msgstr ""
32
 
46
 
47
  #: admin/class-advanced-ads-admin.php:375 admin/includes/class-menu.php:107
48
  #: admin/includes/class-menu.php:110 admin/views/settings.php:28
49
+ #: modules/gadsense/admin/admin.php:198
50
  msgid "Support"
51
  msgstr ""
52
 
484
  msgstr ""
485
 
486
  #: classes/display-conditions.php:584
487
+ msgid "RSS Feed"
488
  msgstr ""
489
 
490
  #: classes/display-conditions.php:585
491
+ msgid "allow ads in RSS Feed"
492
  msgstr ""
493
 
494
  #: classes/EDD_SL_Plugin_Updater.php:216
1093
 
1094
  #: admin/includes/class-list-filters.php:140
1095
  #: modules/gadsense/admin/admin.php:29
1096
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:135
1097
  msgid "Responsive"
1098
  msgstr ""
1099
 
1196
  msgid "Visit our blog for more articles about ad optimization"
1197
  msgstr ""
1198
 
1199
+ #. %s is our URL
1200
+ #: admin/includes/class-meta-box.php:451
1201
+ msgid "Latest posts on wpadvancedads.com"
1202
  msgstr ""
1203
 
1204
  #: admin/includes/class-notices.php:472
1235
  msgstr ""
1236
 
1237
  #: admin/includes/class-overview-widgets.php:68
1238
+ #: modules/gadsense/admin/views/adsense-account.php:99
1239
+ #: modules/gadsense/admin/views/adsense-account.php:117
1240
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:94
1241
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:96
1242
  msgid "Connect to AdSense"
1243
  msgstr ""
1244
 
1828
  msgstr ""
1829
 
1830
  #: admin/views/ad-display-metabox.php:104
1831
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:142
1832
  msgid "manual"
1833
  msgstr ""
1834
 
1900
  msgstr ""
1901
 
1902
  #: admin/views/ad-group-list-form-row.php:55 admin/views/placements.php:31
1903
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:131
1904
  msgid "Type"
1905
  msgstr ""
1906
 
2423
  msgid "I switched to another plugin"
2424
  msgstr ""
2425
 
2426
+ #: admin/views/feedback-disable.php:25 modules/gadsense/admin/admin.php:303
2427
  msgid "Faster than the AdSense support!"
2428
  msgstr ""
2429
 
2430
+ #: admin/views/feedback-disable.php:32 modules/gadsense/admin/admin.php:312
2431
  msgid "reach out for help"
2432
  msgstr ""
2433
 
2530
  msgstr ""
2531
 
2532
  #: admin/views/placement-injection-top.php:24
2533
+ #: modules/gadsense/admin/admin.php:466
2534
  #, php-format
2535
  msgid ""
2536
  "The AdSense verification and Auto ads code is already activated in the <a "
2538
  msgstr ""
2539
 
2540
  #: admin/views/placement-injection-top.php:30
2541
+ #: modules/gadsense/admin/admin.php:468
2542
  msgid ""
2543
  "No need to add the code manually here, unless you want to include it into "
2544
  "certain pages only."
2879
  msgstr ""
2880
 
2881
  #: admin/views/settings-disable-ads.php:25
2882
+ msgid "Disable ads in RSS Feed"
2883
  msgstr ""
2884
 
2885
  #: admin/views/settings.php:13
3051
  msgid "Verification code & Auto ads"
3052
  msgstr ""
3053
 
3054
+ #: modules/gadsense/admin/admin.php:156
3055
  msgid "Limit to 3 ads"
3056
  msgstr ""
3057
 
3058
+ #: modules/gadsense/admin/admin.php:166
3059
  msgid "Disable violation warnings"
3060
  msgstr ""
3061
 
3062
+ #: modules/gadsense/admin/admin.php:174
3063
  msgid "Transparent background"
3064
  msgstr ""
3065
 
3066
+ #: modules/gadsense/admin/admin.php:240
3067
  #, php-format
3068
  msgid "Limit to %d AdSense ads"
3069
  msgstr ""
3070
 
3071
+ #: modules/gadsense/admin/admin.php:244
3072
  msgid ""
3073
  "There is no explicit limit for AdSense ads anymore, but you can still use "
3074
  "this setting to prevent too many AdSense ads to show accidentally on your "
3075
  "site."
3076
  msgstr ""
3077
 
3078
+ #: modules/gadsense/admin/admin.php:248
3079
  msgid ""
3080
  "Due to technical restrictions, the limit does not work on placements with "
3081
  "cache-busting enabled."
3082
  msgstr ""
3083
 
3084
+ #: modules/gadsense/admin/admin.php:262
3085
  #: modules/gadsense/admin/views/connect-adsense.php:37
3086
  msgid ""
3087
  "Insert the AdSense header code used for verification and the Auto Ads "
3089
  msgstr ""
3090
 
3091
  #. this is the text for a link to a sub-page in an AdSense account
3092
+ #: modules/gadsense/admin/admin.php:267
3093
  msgid "Adjust Auto ads options"
3094
  msgstr ""
3095
 
3096
+ #: modules/gadsense/admin/admin.php:269
3097
  #, php-format
3098
  msgid ""
3099
  "Please read <a href=\"%s\" target=\"_blank\">this article</a> if <strong>ads "
3100
  "appear in random places</strong>."
3101
  msgstr ""
3102
 
3103
+ #: modules/gadsense/admin/admin.php:270
3104
  msgid "Display Auto ads only on specific pages"
3105
  msgstr ""
3106
 
3107
+ #: modules/gadsense/admin/admin.php:271
3108
  msgid "Auto ads on AMP pages"
3109
  msgstr ""
3110
 
3111
+ #: modules/gadsense/admin/admin.php:284
3112
  msgid "Disable warnings about potential violations of the AdSense terms."
3113
  msgstr ""
3114
 
3115
+ #: modules/gadsense/admin/admin.php:285
3116
  #, php-format
3117
  msgid ""
3118
  "Our <a href=\"%s\" target=\"_blank\">Ad Health</a> feature monitors if "
3120
  "managed with Advanced Ads. Enable this option to remove these checks"
3121
  msgstr ""
3122
 
3123
+ #: modules/gadsense/admin/admin.php:296
3124
  msgid ""
3125
  "Enable this option in case your theme adds an unfortunate background color "
3126
  "to AdSense ads."
3127
  msgstr ""
3128
 
3129
+ #: modules/gadsense/admin/admin.php:335
3130
  #: modules/gadsense/includes/class-ad-type-adsense.php:76
3131
  msgid "The Publisher ID has an incorrect format. (must start with \"pub-\")"
3132
  msgstr ""
3133
 
3134
+ #: modules/gadsense/admin/admin.php:357
3135
  msgid "AdSense"
3136
  msgstr ""
3137
 
3138
+ #: modules/gadsense/admin/admin.php:409
3139
  #, php-format
3140
  msgid ""
3141
  "Responsive AdSense ads don’t work reliably with <em>Position</em> set to "
3144
  "wrapped in text."
3145
  msgstr ""
3146
 
3147
+ #: modules/gadsense/admin/admin.php:415
3148
  #, php-format
3149
  msgid ""
3150
  "<a href=\"%s\" target=\"_blank\">Install the free AdSense In-feed add-on</a> "
3151
  "in order to place ads between posts."
3152
  msgstr ""
3153
 
3154
+ #: modules/gadsense/admin/admin.php:422
3155
  #, php-format
3156
  msgid ""
3157
  "Use the <a href=\"%s\" target=\"_blank\">Responsive add-on</a> in order to "
3159
  "vertical, or rectangle formats."
3160
  msgstr ""
3161
 
3162
+ #: modules/gadsense/admin/admin.php:470
3163
  #, php-format
3164
  msgid ""
3165
  "The AdSense verification and Auto ads code should be set up in the <a "
3167
  "now."
3168
  msgstr ""
3169
 
3170
+ #: modules/gadsense/admin/admin.php:471
3171
  msgid "Activate"
3172
  msgstr ""
3173
 
3478
  msgstr ""
3479
 
3480
  #: modules/gadsense/admin/views/adsense-account.php:30
3481
+ #: modules/gadsense/admin/views/adsense-account.php:81
3482
  msgid "dismiss"
3483
  msgstr ""
3484
 
3487
  "One of your sites is missing the AdSense publisher ID in the ads.txt file."
3488
  msgstr ""
3489
 
3490
+ #. %1$s is a starting link, %2$s is the end
3491
+ #: modules/gadsense/admin/views/adsense-account.php:44
3492
+ #: modules/gadsense/admin/views/adsense-account.php:88
3493
  #, php-format
3494
+ msgid "Learn more about AdSense account issues %1$shere%2$s"
 
 
3495
  msgstr ""
3496
 
3497
+ #: modules/gadsense/admin/views/adsense-account.php:72
3498
  msgid "Last AdSense account connection attempt failed."
3499
  msgstr ""
3500
 
3501
+ #: modules/gadsense/admin/views/adsense-account.php:102
3502
  msgid "Revoke API acccess"
3503
  msgstr ""
3504
 
3505
+ #: modules/gadsense/admin/views/adsense-account.php:108
3506
  msgid "Account holder name"
3507
  msgstr ""
3508
 
3509
+ #: modules/gadsense/admin/views/adsense-account.php:110
3510
  msgid "Your AdSense Publisher ID <em>(pub-xxxxxxxxxxxxxx)</em>"
3511
  msgstr ""
3512
 
3513
+ #: modules/gadsense/admin/views/adsense-account.php:116
3514
  msgid "Yes, I have an AdSense account"
3515
  msgstr ""
3516
 
3517
+ #: modules/gadsense/admin/views/adsense-account.php:118
3518
  msgid "Configure everything manually"
3519
  msgstr ""
3520
 
3521
+ #: modules/gadsense/admin/views/adsense-account.php:121
3522
  msgid "No, I still don't have an AdSense account"
3523
  msgstr ""
3524
 
3525
+ #: modules/gadsense/admin/views/adsense-account.php:122
3526
  msgid "Get a free AdSense account"
3527
  msgstr ""
3528
 
3529
  #. %1$s is the opening link tag to our manual; %2$s is the appropriate closing link tag; %3$s is the opening link tag to our help forum; %4$s is the appropriate closing link tag
3530
+ #: modules/gadsense/admin/views/adsense-account.php:172
3531
  #, php-format
3532
  msgid ""
3533
  "Problems with AdSense? Check out the %1$smanual%2$s or %3$sask here%4$s."
3534
  msgstr ""
3535
 
3536
+ #: modules/gadsense/admin/views/adsense-account.php:180
3537
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:102
3538
  msgid "Can not connect AdSense account. PHP version is too low."
3539
  msgstr ""
3540
 
3545
  msgid "unsupported"
3546
  msgstr ""
3547
 
3548
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:59
3549
  msgid "The ad details couldn't be retrieved from the ad code"
3550
  msgstr ""
3551
 
3552
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:60
3553
  msgid ""
3554
+ "Warning: The AdSense account from this code does not match the one set in "
3555
  "the Advanced Ads options."
3556
  msgstr ""
3557
 
3558
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:68
3559
  msgid ""
3560
  "Copy the ad code from your AdSense account, paste it into the area below and "
3561
  "click on <em>Get details</em>."
3562
  msgstr ""
3563
 
3564
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:70
3565
  msgid "Get details"
3566
  msgstr ""
3567
 
3568
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:71
3569
  msgid "cancel"
3570
  msgstr ""
3571
 
3572
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:73
3573
  msgid "connect to your AdSense account"
3574
  msgstr ""
3575
 
3576
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:84
3577
  msgid "Insert new AdSense code"
3578
  msgstr ""
3579
 
3580
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:89
3581
  msgid "Get ad code from your linked account"
3582
  msgstr ""
3583
 
3584
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:108
3585
  msgid "Ad Slot ID"
3586
  msgstr ""
3587
 
3588
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:113
3589
  #, php-format
3590
  msgid "Publisher ID: %s"
3591
  msgstr ""
3592
 
3593
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:117
3594
  msgid ""
3595
  "The ad slot ID is either a number or empty and not the same as the publisher "
3596
  "ID."
3597
  msgstr ""
3598
 
3599
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:128
3600
  #, php-format
3601
  msgid "Please <a href=\"%s\" target=\"_blank\">change it here</a>."
3602
  msgstr ""
3603
 
3604
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:134
3605
  msgid "Normal"
3606
  msgstr ""
3607
 
3608
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:136
3609
  msgid "Responsive (Matched Content)"
3610
  msgstr ""
3611
 
3612
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:137
3613
  msgid "Link ads"
3614
  msgstr ""
3615
 
3616
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:138
3617
  msgid "Link ads (Responsive)"
3618
  msgstr ""
3619
 
3620
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:139
3621
  msgid "InArticle"
3622
  msgstr ""
3623
 
3624
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:140
3625
  msgid "InFeed"
3626
  msgstr ""
3627
 
3628
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:145
3629
  msgid "Resizing"
3630
  msgstr ""
3631
 
3632
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:153
3633
  msgid "Layout"
3634
  msgstr ""
3635
 
3636
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:157
3637
  msgid "Layout-Key"
3638
  msgstr ""
3639
 
3640
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:162
3641
  msgid "Clearfix"
3642
  msgstr ""
3643
 
3644
+ #: modules/gadsense/admin/views/adsense-ad-parameters.php:165
3645
  msgid "Enable this box if responsive ads cover something on your site"
3646
  msgstr ""
3647
 
modules/adblock-finder/public/public.php CHANGED
@@ -8,7 +8,11 @@ class Advanced_Ads_Adblock_Finder {
8
 
9
  public function print_adblock_check_js() {
10
  $options = Advanced_Ads::get_instance()->options();
11
- if ( ! empty( $options['ga-UID'] ) || defined( 'AAP_SLUG' ) ) {
 
 
 
 
12
  ?><script>
13
  var advanced_ads_ga_UID = <?php echo ! empty( $options['ga-UID'] ) ? "'" . esc_js( $options['ga-UID'] ). "'" : 'false' ?>;
14
  var advanced_ads_ga_anonymIP = <?php
8
 
9
  public function print_adblock_check_js() {
10
  $options = Advanced_Ads::get_instance()->options();
11
+
12
+ $pro_options = get_option( 'advanced-ads-pro' );
13
+ $ads_for_adblockers_enabled = defined( 'AAP_SLUG' ) && ! empty( $pro_options['ads-for-adblockers']['enabled'] );
14
+
15
+ if ( ! empty( $options['ga-UID'] ) || $ads_for_adblockers_enabled ) {
16
  ?><script>
17
  var advanced_ads_ga_UID = <?php echo ! empty( $options['ga-UID'] ) ? "'" . esc_js( $options['ga-UID'] ). "'" : 'false' ?>;
18
  var advanced_ads_ga_anonymIP = <?php
modules/gadsense/admin/admin.php CHANGED
@@ -148,13 +148,17 @@ class Advanced_Ads_AdSense_Admin {
148
  );
149
 
150
  // add setting field for adsense limit
151
- add_settings_field(
152
- 'adsense-limit',
153
- __( 'Limit to 3 ads', 'advanced-ads' ),
154
- array($this, 'render_settings_adsense_limit'),
155
- $hook,
156
- 'advanced_ads_adsense_setting_section'
157
- );
 
 
 
 
158
 
159
  // disable AdSense violation warnings
160
  add_settings_field(
@@ -227,10 +231,11 @@ class Advanced_Ads_AdSense_Admin {
227
  * render adsense limit setting
228
  *
229
  * @since 1.5.1
 
230
  */
231
  public function render_settings_adsense_limit(){
232
  $limit_per_page = $this->data->get_limit_per_page();
233
-
234
  ?><label><input type="checkbox" name="<?php echo GADSENSE_OPT_NAME; ?>[limit-per-page]" value="1" <?php checked( $limit_per_page ); ?> />
235
  <?php printf( __( 'Limit to %d AdSense ads', 'advanced-ads' ), 3 ); ?></label>
236
  <p class="description">
148
  );
149
 
150
  // add setting field for adsense limit
151
+ // deprecated of January, 2019; will be removed one year later
152
+ $limit_per_page = $this->data->get_limit_per_page();
153
+ if( $limit_per_page ){
154
+ add_settings_field(
155
+ 'adsense-limit',
156
+ __( 'Limit to 3 ads', 'advanced-ads' ),
157
+ array($this, 'render_settings_adsense_limit'),
158
+ $hook,
159
+ 'advanced_ads_adsense_setting_section'
160
+ );
161
+ };
162
 
163
  // disable AdSense violation warnings
164
  add_settings_field(
231
  * render adsense limit setting
232
  *
233
  * @since 1.5.1
234
+ * @deprecated January, 2019 – let’s give users one year until we remove the whole logic completely
235
  */
236
  public function render_settings_adsense_limit(){
237
  $limit_per_page = $this->data->get_limit_per_page();
238
+
239
  ?><label><input type="checkbox" name="<?php echo GADSENSE_OPT_NAME; ?>[limit-per-page]" value="1" <?php checked( $limit_per_page ); ?> />
240
  <?php printf( __( 'Limit to %d AdSense ads', 'advanced-ads' ), 3 ); ?></label>
241
  <p class="description">
modules/gadsense/admin/assets/js/new-ad.js CHANGED
@@ -405,6 +405,9 @@
405
  $( '#remote-ad-code-msg' ).html( response.msg );
406
  }
407
  }
 
 
 
408
  }
409
  }
410
  },
@@ -768,6 +771,9 @@
768
  } else if ( 'undefined' != typeof response.msg ) {
769
  emptyMapiSelector( response.msg );
770
  }
 
 
 
771
  },
772
  error: function(request,status,err){
773
  $( '#mapi-loading-overlay' ).css( 'display', 'none' );
@@ -798,6 +804,9 @@
798
  } else if ( 'undefined' != typeof response.msg ) {
799
  emptyMapiSelector( response.msg );
800
  }
 
 
 
801
  },
802
  error: function(request,status,err){
803
  $( '#mapi-loading-overlay' ).css( 'display', 'none' );
405
  $( '#remote-ad-code-msg' ).html( response.msg );
406
  }
407
  }
408
+ if ( 'undefined' != typeof response.raw ) {
409
+ console.log( response.raw );
410
+ }
411
  }
412
  }
413
  },
771
  } else if ( 'undefined' != typeof response.msg ) {
772
  emptyMapiSelector( response.msg );
773
  }
774
+ if ( 'undefined' != typeof response.raw ) {
775
+ console.log( response.raw );
776
+ }
777
  },
778
  error: function(request,status,err){
779
  $( '#mapi-loading-overlay' ).css( 'display', 'none' );
804
  } else if ( 'undefined' != typeof response.msg ) {
805
  emptyMapiSelector( response.msg );
806
  }
807
+ if ( 'undefined' != typeof response.raw ) {
808
+ console.log( response.raw );
809
+ }
810
  },
811
  error: function(request,status,err){
812
  $( '#mapi-loading-overlay' ).css( 'display', 'none' );
modules/gadsense/admin/views/adsense-account.php CHANGED
@@ -38,9 +38,12 @@ $alerts_advads_messages = array(
38
  ob_start();
39
 
40
  echo '<p style="font-weight:normal">';
 
41
  printf(
42
- __( 'Learn more about AdSense account issues <a href="%s" target="_blank">here</a>', 'advanced-ads' ),
43
- ADVADS_URL . 'adsense-errors/#utm_source=advanced-ads&utm_medium=link&utm_campaign=adsense-error'
 
 
44
  );
45
  echo '</p>';
46
 
@@ -66,7 +69,7 @@ $adsense_error_page_link = ob_get_clean();
66
  <?php if ( !empty( $mapi_options['connect_error'] ) ) {
67
 
68
  echo '<p>';
69
- _e( 'Last AdSense account connection attempt failed.', 'advanced-ads' );
70
 
71
  if ( isset( $connection_error_messages[ $mapi_options['connect_error']['reason'] ] ) ) {
72
  echo ' ' . $connection_error_messages[ $mapi_options['connect_error']['reason'] ];
@@ -79,9 +82,12 @@ $adsense_error_page_link = ob_get_clean();
79
  echo '</p>';
80
 
81
  echo '<p>';
 
82
  printf(
83
- __( 'Learn more about AdSense account issues <a href="%s" target="_blank">here</a>', 'advanced-ads' ),
84
- ADVADS_URL . 'adsense-errors/#utm_source=advanced-ads&utm_medium=link&utm_campaign=adsense-error'
 
 
85
  );
86
  echo '</p>';
87
  }
@@ -90,10 +96,10 @@ $adsense_error_page_link = ob_get_clean();
90
  <div id="full-adsense-settings-div" <?php if ( empty( $adsense_id ) ) echo 'style="display:none"' ?>>
91
  <input type="text" <?php if ( $has_token ) echo 'readonly' ?> name="<?php echo GADSENSE_OPT_NAME; ?>[adsense-id]" style="margin-right:.8em" id="adsense-id" size="32" value="<?php echo $adsense_id; ?>" />
92
  <?php if ( !empty( $adsense_id ) && !$has_token ) : ?>
93
- <a id="connect-adsense" class="button-primary <?php echo ! Advanced_Ads_Checks::php_version_minimum() ? 'disabled ' : ''; ?>preventDefault" <?php if ( ! $can_connect || ! Advanced_Ads_Checks::php_version_minimum() ) echo 'disabled'; ?>><?php _e( 'Connect to AdSense', 'advanced-ads' ) ?></a>
94
  <?php endif; ?>
95
  <?php if ( $has_token ) : ?>
96
- <a id="revoke-token" class="button-secondary preventDefault"><?php _e( 'Revoke API acccess', 'advanced-ads' ) ?></a>
97
  <div id="gadsense-freeze-all" style="position:fixed;top:0;bottom:0;right:0;left:0;background-color:rgba(255,255,255,.5);text-align:center;display:none;">
98
  <img alt="..." src="<?php echo ADVADS_BASE_URL . 'admin/assets/img/loader.gif'; ?>" style="margin-top:40vh" />
99
  </div>
38
  ob_start();
39
 
40
  echo '<p style="font-weight:normal">';
41
+ $first_alert_code = isset( $alerts['items'] ) && count( $alerts['items'] ) ? '-' . $alerts['items'][ key( $alerts['items'] ) ]["id"] : '';
42
  printf(
43
+ // translators: %1$s is a starting link, %2$s is the end
44
+ esc_attr__( 'Learn more about AdSense account issues %1$shere%2$s', 'advanced-ads' ),
45
+ '<a href="' . ADVADS_URL . 'adsense-errors/#utm_source=advanced-ads&utm_medium=link&utm_campaign=adsense-error'. $first_alert_code .'" target="_blank">',
46
+ '</a>'
47
  );
48
  echo '</p>';
49
 
69
  <?php if ( !empty( $mapi_options['connect_error'] ) ) {
70
 
71
  echo '<p>';
72
+ esc_attr_e( 'Last AdSense account connection attempt failed.', 'advanced-ads' );
73
 
74
  if ( isset( $connection_error_messages[ $mapi_options['connect_error']['reason'] ] ) ) {
75
  echo ' ' . $connection_error_messages[ $mapi_options['connect_error']['reason'] ];
82
  echo '</p>';
83
 
84
  echo '<p>';
85
+ $alert_code = isset( $mapi_options['connect_error']['reason'] ) ? '-' . $mapi_options['connect_error']['reason'] : '';
86
  printf(
87
+ // translators: %1$s is a starting link, %2$s is the end
88
+ esc_attr__( 'Learn more about AdSense account issues %1$shere%2$s', 'advanced-ads' ),
89
+ '<a href="' . ADVADS_URL . 'adsense-errors/#utm_source=advanced-ads&utm_medium=link&utm_campaign=adsense-error'. $alert_code . '" target="_blank">',
90
+ '</a>'
91
  );
92
  echo '</p>';
93
  }
96
  <div id="full-adsense-settings-div" <?php if ( empty( $adsense_id ) ) echo 'style="display:none"' ?>>
97
  <input type="text" <?php if ( $has_token ) echo 'readonly' ?> name="<?php echo GADSENSE_OPT_NAME; ?>[adsense-id]" style="margin-right:.8em" id="adsense-id" size="32" value="<?php echo $adsense_id; ?>" />
98
  <?php if ( !empty( $adsense_id ) && !$has_token ) : ?>
99
+ <a id="connect-adsense" class="button-primary <?php echo ! Advanced_Ads_Checks::php_version_minimum() ? 'disabled ' : ''; ?>preventDefault" <?php if ( ! $can_connect || ! Advanced_Ads_Checks::php_version_minimum() ) echo 'disabled'; ?>><?php esc_attr_e( 'Connect to AdSense', 'advanced-ads' ) ?></a>
100
  <?php endif; ?>
101
  <?php if ( $has_token ) : ?>
102
+ <a id="revoke-token" class="button-secondary preventDefault"><?php esc_attr_e( 'Revoke API acccess', 'advanced-ads' ) ?></a>
103
  <div id="gadsense-freeze-all" style="position:fixed;top:0;bottom:0;right:0;left:0;background-color:rgba(255,255,255,.5);text-align:center;display:none;">
104
  <img alt="..." src="<?php echo ADVADS_BASE_URL . 'admin/assets/img/loader.gif'; ?>" style="margin-top:40vh" />
105
  </div>
modules/gadsense/admin/views/mapi-ad-selector.php CHANGED
@@ -11,7 +11,7 @@ if ( ! isset( $hide_idle_ads ) ) $hide_idle_ads = true;
11
  if ( $hide_idle_ads ) {
12
  $_ads = array();
13
  foreach( $ad_units as $unit ) {
14
- if ( 'ACTIVE' === $unit['status'] ) {
15
  $_ads[ $unit['id'] ] = $unit;
16
  }
17
  }
11
  if ( $hide_idle_ads ) {
12
  $_ads = array();
13
  foreach( $ad_units as $unit ) {
14
+ if ( 'INACTIVE' != $unit['status'] ) {
15
  $_ads[ $unit['id'] ] = $unit;
16
  }
17
  }
public/assets/js/advanced.js CHANGED
@@ -1 +1 @@
1
- advads={supports_localstorage:function(){"use strict";try{if(!window||window.localStorage===undefined){return false}window.localStorage.setItem("x","x");window.localStorage.removeItem("x");return true}catch(e){return false}},max_per_session:function(name,max){var num=1;if(max===undefined||parseInt(max)===0){max=1}if(this.cookie_exists(name)){if(this.get_cookie(name)>=max){return true}num=num+parseInt(this.get_cookie(name))}this.set_cookie(name,num);return false},count_up:function(name,exdays){var num=1;if(this.cookie_exists(name)){num=num+parseInt(this.get_cookie(name))}this.set_cookie(name,num)},set_cookie_exists:function(name){if(get_cookie(name)){return true}set_cookie(name,"",0);return false},get_cookie:function(name){var i,x,y,ADVcookies=document.cookie.split(";");for(i=0;i<ADVcookies.length;i++){x=ADVcookies[i].substr(0,ADVcookies[i].indexOf("="));y=ADVcookies[i].substr(ADVcookies[i].indexOf("=")+1);x=x.replace(/^\s+|\s+$/g,"");if(x===name){return unescape(y)}}},set_cookie:function(name,value,exdays,path,domain,secure){var expiry=exdays==null?null:exdays*24*60*60;this.set_cookie_sec(name,value,expiry,path,domain,secure)},set_cookie_sec:function(name,value,expiry,path,domain,secure){var exdate=new Date;exdate.setSeconds(exdate.getSeconds()+parseInt(expiry));document.cookie=name+"="+escape(value)+(expiry==null?"":"; expires="+exdate.toUTCString())+(path==null?"; path=/":"; path="+path)+(domain==null?"":"; domain="+domain)+(secure==null?"":"; secure")},cookie_exists:function(name){var c_value=this.get_cookie(name);if(c_value!==null&&c_value!==""&&c_value!==undefined){return true}return false},move:function(element,target,options){var el=jQuery(element);if(typeof options==="undefined"){options={}}if(typeof options.css==="undefined"){options.css={}}if(typeof options.method==="undefined"){options.method="prependTo"}if(target===""&&typeof options.target!=="undefined"){switch(options.target){case"wrapper":var offset="left";if(typeof options.offset!=="undefined"){offset=options.offset}target=this.find_wrapper(element,offset);break}}if(typeof options.moveintohidden==="undefined"){target=jQuery(target).filter(":visible")}switch(options.method){case"insertBefore":el.insertBefore(target);break;case"insertAfter":el.insertAfter(target);break;case"appendTo":el.appendTo(target);break;case"prependTo":el.prependTo(target);break;default:el.prependTo(target)}},set_parent_relative:function(element,options){var options=typeof options!=="undefined"?options:{};var el=jQuery(element);var parent=el.parent();if(options.use_grandparent){parent=parent.parent()}if(parent.css("position")==="static"||parent.css("position")===""){parent.css("position","relative")}},fix_element:function(element,options){var options=typeof options!=="undefined"?options:{};var el=jQuery(element);if(options.use_grandparent){this.set_parent_relative(el.parent())}else{this.set_parent_relative(el)}if(options.is_invisible){el.show()}var topoffset=parseInt(el.offset().top);var leftoffset=parseInt(el.offset().left);if(options.is_invisible){el.hide()}el.css("position","fixed").css("top",topoffset+"px").css("left",leftoffset+"px").css("right","")},find_wrapper:function(element,offset){var returnValue;jQuery("body").children().each(function(key,value){if(value.id!==element.substring(1)){var checkedelement=jQuery(value);if(offset==="right"&&checkedelement.offset().left+jQuery(checkedelement).width()<jQuery(window).width()||offset==="left"&&checkedelement.offset().left>0){if(checkedelement.css("position")==="static"||checkedelement.css("position")===""){checkedelement.css("position","relative")}returnValue=value;return false}}});return returnValue},center_fixed_element:function(element){var el=jQuery(element);var left=jQuery(window).width()/2-parseInt(el.css("width"))/2;el.css("left",left+"px")},center_vertically:function(element){var el=jQuery(element);var left=jQuery(window).height()/2-parseInt(el.css("height"))/2;if(el.css("position")!=="fixed"){left-=topoffset=parseInt(el.offset().top)}el.css("top",left+"px")},close:function(element){var wrapper=jQuery(element);wrapper.remove()},wait_for_images:function($el,ready_callback){var loaded_count=0;var srcs=[];$el.find('img[src][src!=""]').each(function(){srcs.push(this.src)});if(srcs.length===0){ready_callback.call($el)}jQuery.each(srcs,function(i,src){var image=new Image;image.src=src;var events="load error";jQuery(image).one(events,function me(event){jQuery(this).off(events,me);loaded_count++;if(loaded_count==srcs.length){ready_callback.call($el[0]);return false}})})},privacy:{get_state:function(){if(!window.advads_options||!window.advads_options.privacy){return"not_needed"}var options=window.advads_options.privacy;if(!options.enabled){return"not_needed"}var method=options["consent-method"]?options["consent-method"]:"0";switch(method){case"0":return"not_needed";break;case"custom":if(options["custom-cookie-value"===undefined]||options["custom-cookie-value"]===undefined){return"not_needed"}var found=advads.get_cookie(options["custom-cookie-name"]);if(typeof found!=="string"){return"unknown"}if(options["custom-cookie-value"]===""&&found===""||options["custom-cookie-value"]!==""&&found.indexOf(options["custom-cookie-value"])!==-1){return"accepted"}return"unknown";break;default:return advads.cookie_exists(method)?"accepted":"unknown"}},is_adsense_npa_enabled:function(){if(!window.advads_options||!window.advads_options.privacy){return true}var options=window.advads_options.privacy;return!!options["show-non-personalized-adsense"]}}};jQuery(document).ready(function(){if(advads.supports_localstorage()&&localStorage.getItem("advads_frontend_picker")){var advads_picker_cur,advads_picker_overlay=jQuery("<div id='advads-picker-overlay'>"),advads_picker_no=[document.body,document.documentElement,document];advads_picker_overlay.css({position:"absolute",border:"solid 2px #428bca",backgroundColor:"rgba(66,139,202,0.5)",boxSizing:"border-box",zIndex:1e6,pointerEvents:"none"}).prependTo("body");jQuery(document).mousemove(function(e){if(e.target===advads_picker_cur){return}if(~advads_picker_no.indexOf(e.target)){advads_picker_cur=null;advads_picker_overlay.hide();return}var target=jQuery(e.target),offset=target.offset(),width=target.outerWidth(),height=target.outerHeight();advads_picker_cur=e.target;advads_picker_overlay.css({top:offset.top,left:offset.left,width:width,height:height}).show();console.log(jQuery(advads_picker_cur).getPath())});jQuery(document).click(function(e){var path=jQuery(advads_picker_cur).getPath();localStorage.setItem("advads_frontend_element",path);window.location=localStorage.getItem("advads_prev_url")})}});jQuery.fn.extend({getPath:function(path,depth){if(typeof path==="undefined")path="";if(typeof depth==="undefined")depth=0;if(this.is("html")){return"html > "+path}else if(3===depth){return path}var cur=this.get(0).nodeName.toLowerCase();var el_id=this.attr("id"),el_class=this.attr("class");depth=depth+1;if(typeof el_id!=="undefined"&&!/\d/.test(el_id)){cur+="#"+el_id}else if(typeof el_class!=="undefined"){el_class=el_class.split(/[\s\n]+/);el_class=jQuery.grep(el_class,function(element,index){return!/\d/.test(element)});if(el_class.length){cur+="."+el_class.slice(0,2).join(".")}}if(this.siblings(cur).length){cur+=":eq("+this.siblings(cur).addBack().not("#advads-picker-overlay").index(this)+")"}if(path===""){return this.parent().getPath(cur,depth)}else{return this.parent().getPath(cur+" > "+path,depth)}}});
1
+ advads={supports_localstorage:function(){"use strict";try{return!(!window||void 0===window.localStorage)&&(window.localStorage.setItem("x","x"),window.localStorage.removeItem("x"),!0)}catch(e){return!1}},max_per_session:function(e,t){var o=1;if(void 0!==t&&0!==parseInt(t)||(t=1),this.cookie_exists(e)){if(this.get_cookie(e)>=t)return!0;o+=parseInt(this.get_cookie(e))}return this.set_cookie(e,o),!1},count_up:function(e,t){var o=1;this.cookie_exists(e)&&(o+=parseInt(this.get_cookie(e))),this.set_cookie(e,o)},set_cookie_exists:function(e){return!!get_cookie(e)||(set_cookie(e,"",0),!1)},get_cookie:function(e){var t,o,n,i=document.cookie.split(";");for(t=0;t<i.length;t++)if(o=i[t].substr(0,i[t].indexOf("=")),n=i[t].substr(i[t].indexOf("=")+1),(o=o.replace(/^\s+|\s+$/g,""))===e)return unescape(n)},set_cookie:function(e,t,o,n,i,s){var r=null==o?null:24*o*60*60;this.set_cookie_sec(e,t,r,n,i,s)},set_cookie_sec:function(e,t,o,n,i,s){var r=new Date;r.setSeconds(r.getSeconds()+parseInt(o)),document.cookie=e+"="+escape(t)+(null==o?"":"; expires="+r.toUTCString())+(null==n?"; path=/":"; path="+n)+(null==i?"":"; domain="+i)+(null==s?"":"; secure")},cookie_exists:function(e){var t=this.get_cookie(e);return null!==t&&""!==t&&void 0!==t},move:function(e,t,o){var n=jQuery(e),i=t;if(void 0===o&&(o={}),void 0===o.css&&(o.css={}),void 0===o.method&&(o.method="prependTo"),""===t&&void 0!==o.target)switch(o.target){case"wrapper":var s="left";void 0!==o.offset&&(s=o.offset),t=this.find_wrapper(e,s)}switch(void 0===o.moveintohidden&&(t=jQuery(t).filter(":visible")),1<t.length&&console.log("Advanced Ads: element '"+i+"' found "+t.length+" times."),o.method){case"insertBefore":n.insertBefore(t);break;case"insertAfter":n.insertAfter(t);break;case"appendTo":n.appendTo(t);break;case"prependTo":n.prependTo(t);break;default:n.prependTo(t)}},set_parent_relative:function(e,t){t=void 0!==t?t:{};var o=jQuery(e).parent();t.use_grandparent&&(o=o.parent()),"static"!==o.css("position")&&""!==o.css("position")||o.css("position","relative")},fix_element:function(e,t){t=void 0!==t?t:{};var o=jQuery(e);t.use_grandparent?this.set_parent_relative(o.parent()):this.set_parent_relative(o),t.is_invisible&&o.show();var n=parseInt(o.offset().top),i=parseInt(o.offset().left);t.is_invisible&&o.hide(),o.css("position","fixed").css("top",n+"px").css("left",i+"px").css("right","")},find_wrapper:function(n,i){var s;return jQuery("body").children().each(function(e,t){if(t.id!==n.substring(1)){var o=jQuery(t);if("right"===i&&o.offset().left+jQuery(o).width()<jQuery(window).width()||"left"===i&&0<o.offset().left)return"static"!==o.css("position")&&""!==o.css("position")||o.css("position","relative"),s=t,!1}}),s},center_fixed_element:function(e){var t=jQuery(e),o=jQuery(window).width()/2-parseInt(t.css("width"))/2;t.css("left",o+"px")},center_vertically:function(e){var t=jQuery(e),o=jQuery(window).height()/2-parseInt(t.css("height"))/2;"fixed"!==t.css("position")&&(o-=topoffset=parseInt(t.offset().top)),t.css("top",o+"px")},close:function(e){jQuery(e).remove()},wait_for_images:function(i,s){var r=0,a=[];i.find('img[src][src!=""]').each(function(){a.push(this.src)}),0===a.length&&s.call(i),jQuery.each(a,function(e,t){var o=new Image;o.src=t;var n="load error";jQuery(o).one(n,function e(t){if(jQuery(this).off(n,e),++r==a.length)return s.call(i[0]),!1})})},privacy:{get_state:function(){if(!window.advads_options||!window.advads_options.privacy)return"not_needed";var e=window.advads_options.privacy;if(!e.enabled)return"not_needed";var t=e["consent-method"]?e["consent-method"]:"0";switch(t){case"0":return"not_needed";case"custom":if(e[!1]||void 0===e["custom-cookie-value"])return"not_needed";var o=advads.get_cookie(e["custom-cookie-name"]);return"string"!=typeof o?"unknown":""===e["custom-cookie-value"]&&""===o||""!==e["custom-cookie-value"]&&-1!==o.indexOf(e["custom-cookie-value"])?"accepted":"unknown";default:return advads.cookie_exists(t)?"accepted":"unknown"}},is_adsense_npa_enabled:function(){return!window.advads_options||!window.advads_options.privacy||!!window.advads_options.privacy["show-non-personalized-adsense"]}}},jQuery(document).ready(function(){if(advads.supports_localstorage()&&localStorage.getItem("advads_frontend_picker")){var s,r=jQuery("<div id='advads-picker-overlay'>"),a=[document.body,document.documentElement,document];r.css({position:"absolute",border:"solid 2px #428bca",backgroundColor:"rgba(66,139,202,0.5)",boxSizing:"border-box",zIndex:1e6,pointerEvents:"none"}).prependTo("body"),jQuery(document).mousemove(function(e){if(e.target!==s){if(~a.indexOf(e.target))return s=null,void r.hide();var t=jQuery(e.target),o=t.offset(),n=t.outerWidth(),i=t.outerHeight();s=e.target,r.css({top:o.top,left:o.left,width:n,height:i}).show(),console.log(jQuery(s).getPath())}}),jQuery(document).click(function(e){var t=jQuery(s).getPath();localStorage.setItem("advads_frontend_element",t),window.location=localStorage.getItem("advads_prev_url")})}}),jQuery.fn.extend({getPath:function(e,t){if(void 0===e&&(e=""),void 0===t&&(t=0),this.is("html"))return"html > "+e;if(3===t)return e;var o=this.get(0).nodeName.toLowerCase(),n=this.attr("id"),i=this.attr("class");return t+=1,void 0===n||/\d/.test(n)?void 0!==i&&(i=i.split(/[\s\n]+/),(i=jQuery.grep(i,function(e,t){return!/\d/.test(e)})).length&&(o+="."+i.slice(0,2).join("."))):o+="#"+n,this.siblings(o).length&&(o+=":eq("+this.siblings(o).addBack().not("#advads-picker-overlay").index(this)+")"),""===e?this.parent().getPath(o,t):this.parent().getPath(o+" > "+e,t)}});
public/assets/js/advanced.orig.js CHANGED
@@ -147,6 +147,7 @@ advads = {
147
  {
148
 
149
  var el = jQuery(element);
 
150
 
151
  if( typeof options === 'undefined' ){
152
  options = {};
@@ -175,6 +176,11 @@ advads = {
175
  if( typeof options.moveintohidden === 'undefined' ){
176
  target = jQuery( target ).filter(':visible');
177
  }
 
 
 
 
 
178
 
179
  // switch insert method
180
  switch( options.method ){
147
  {
148
 
149
  var el = jQuery(element);
150
+ var target_string = target;
151
 
152
  if( typeof options === 'undefined' ){
153
  options = {};
176
  if( typeof options.moveintohidden === 'undefined' ){
177
  target = jQuery( target ).filter(':visible');
178
  }
179
+
180
+ // print warning in console if the element appears multiple times
181
+ if( target.length > 1 ){
182
+ console.log( "Advanced Ads: element '" + target_string + "' found " + target.length + " times." );
183
+ }
184
 
185
  // switch insert method
186
  switch( options.method ){
public/views/ad-edit-bar.php CHANGED
@@ -1,3 +1,3 @@
1
  <div class="advads-edit-bar advads-edit-appear">
2
- <a href="<?php echo get_edit_post_link( $this->id ); ?>" class="advads-edit-button" title="<?php echo $this->title; ?>"><span class="dashicons dashicons-edit"></span></a>
3
- </div>
1
  <div class="advads-edit-bar advads-edit-appear">
2
+ <a href="<?php echo get_edit_post_link( $this->id ); ?>" class="advads-edit-button" title="<?php esc_attr_e( strip_tags( $this->title ) ); ?>"><span class="dashicons dashicons-edit"></span></a>
3
+ </div>
readme.txt CHANGED
@@ -1,11 +1,11 @@
1
- === Advanced Ads – Ad Manager with AdSense Integration ===
2
  Contributors: webzunft
3
  Donate link:https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RRRCEBGN3UT2
4
  Tags: ads, ad manager, ad rotation, adsense, banner
5
  Requires at least: 4.6
6
  Tested up to: 5.0
7
  Requires PHP: 5.4
8
- Stable tag: 1.11.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -43,8 +43,8 @@ Based on my experience as a publisher with millions of monthly served ads, I've
43
 
44
  choose between different ad types that enable you to:
45
 
46
- * insert ads content from all ad and affiliate networks (e.g., Google AdSense, Chitika, Amazon, BuySellAds, Google Ad Manager, DoubleClick (DFP), Ezoic, media.net, Booking.com, Tradedoubler, Awin, Getyourguide,...)
47
- * dedicated support for all types of Google AdSense banners, including Responsive, InFeed and InArticle ads
48
  * display images and image banners
49
  * create content-rich ads with the WordPress TinyMCE editor
50
  * create Amazon ads with the Rich Content ad type and the [Amazon Associates Link Builder](https://wordpress.org/plugins/amazon-associates-link-builder/) or insert contextual Amazon Native Shopping Ads
@@ -106,16 +106,17 @@ Placements to insert ads in pre-defined positions in your theme and content. [Li
106
 
107
  Amazing features of the most powerful and easy Google AdSense plugin.
108
 
 
109
  * pull ad units directly from your Google AdSense account
110
- * supports all Google AdSense ad types, including Google AdSense display ads, AdSense link units, native ads like Google AdSense In-feed ads, Google AdSense In-article ads, and Google AdSense matched content ads
 
111
  * change type and sizes of an ad without going into your Google AdSense account
112
- * optional limit to 3 Google AdSense ads banners
113
  * hide Google AdSense advertisements on 404 pages by default (to comply with Google AdSense terms)
114
  * insert Google AdSense code for verification and AdSense Auto Ads (previously called Page-Level ads and QuickStart)
115
  * easy Ad Health integration and Google AdSense violation checks
116
  * option to make the Google AdSense background transparent
117
  * place Google AdSense In-feed ads using the also free [In-feed add-on](https://wordpress.org/plugins/advanced-ads-adsense-in-feed/)
118
- * assistant for exact sizes of responsive AdSense code with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
119
  * convert Google AdSense ads into AMP ads automatically with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
120
 
121
  https://vimeo.com/299410390
@@ -130,7 +131,7 @@ Learn more on the [plugin homepage](https://wpadvancedads.com).
130
 
131
  Thank you for motivating us with your [positive review](https://wordpress.org/support/plugin/advanced-ads/reviews/?rate=5#new-post).
132
 
133
- Localizations: English, German, French, Spanish, Italian, Dutch, Portuguese, Japanese, Vietnamese, Slovak, Norwegian, Turkish
134
 
135
  > <strong>Add-Ons</strong>
136
  >
@@ -276,6 +277,12 @@ Yes. Advanced Ads is based on WordPress standards and therefore easily customiza
276
 
277
  == Changelog ==
278
 
 
 
 
 
 
 
279
  = 1.11.1 =
280
 
281
  * fixed AdSense code field not working if AdSense connection is missing
@@ -392,4 +399,4 @@ Yes. Advanced Ads is based on WordPress standards and therefore easily customiza
392
 
393
  = 1.11 =
394
 
395
- Improves AdSense onboarding
1
+ === Advanced Ads – Ad Manager & AdSense ===
2
  Contributors: webzunft
3
  Donate link:https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RRRCEBGN3UT2
4
  Tags: ads, ad manager, ad rotation, adsense, banner
5
  Requires at least: 4.6
6
  Tested up to: 5.0
7
  Requires PHP: 5.4
8
+ Stable tag: 1.11.2
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
43
 
44
  choose between different ad types that enable you to:
45
 
46
+ * insert ads content and banners from all ad and affiliate networks (e.g., Google AdSense, Chitika, Amazon, BuySellAds, Google Ad Manager, DoubleClick (DFP), Ezoic, media.net, Booking.com, Tradedoubler, Awin, Getyourguide, The Moneytizer...)
47
+ * dedicated support for all types of Google AdSense ads, including AdSense text and diplay ads, native ads (AdSense In-article, AdSense In-feed, AdSense matched content), AdSense link units (standard and responsive), Google AdSense Auto ads, and AdSense Auto ads for AMP)
48
  * display images and image banners
49
  * create content-rich ads with the WordPress TinyMCE editor
50
  * create Amazon ads with the Rich Content ad type and the [Amazon Associates Link Builder](https://wordpress.org/plugins/amazon-associates-link-builder/) or insert contextual Amazon Native Shopping Ads
106
 
107
  Amazing features of the most powerful and easy Google AdSense plugin.
108
 
109
+ * unlimited Google AdSense ads banners
110
  * pull ad units directly from your Google AdSense account
111
+ * change settings of your Google AdSense ads directly from your WordPress backend
112
+ * supports all Google AdSense ad types, including Google AdSense display ads, AdSense link units, native ads like Google AdSense In-feed ads, Google AdSense In-article ads, Google AdSense matched content ads, Google AdSense Auto ads, and Google AdSense Auto ads for AMP
113
  * change type and sizes of an ad without going into your Google AdSense account
 
114
  * hide Google AdSense advertisements on 404 pages by default (to comply with Google AdSense terms)
115
  * insert Google AdSense code for verification and AdSense Auto Ads (previously called Page-Level ads and QuickStart)
116
  * easy Ad Health integration and Google AdSense violation checks
117
  * option to make the Google AdSense background transparent
118
  * place Google AdSense In-feed ads using the also free [In-feed add-on](https://wordpress.org/plugins/advanced-ads-adsense-in-feed/)
119
+ * assistant for exact sizes of responsive Google AdSense code with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
120
  * convert Google AdSense ads into AMP ads automatically with the [Responsive add-on](https://wpadvancedads.com/add-ons/responsive-ads/)
121
 
122
  https://vimeo.com/299410390
131
 
132
  Thank you for motivating us with your [positive review](https://wordpress.org/support/plugin/advanced-ads/reviews/?rate=5#new-post).
133
 
134
+ Localizations: Czech, Dutch, English, French, German, Italian, Japanese, Norwegian, Portuguese, Slovak, Spanish, Turkish, Vietnamese
135
 
136
  > <strong>Add-Ons</strong>
137
  >
277
 
278
  == Changelog ==
279
 
280
+ = 1.11.2 =
281
+
282
+ * removed "Limit to 3 AdSense ads" option for users who don‘t have it enabled since AdSense no longer has such a rule
283
+ * fixed filtering by ad groups on the ad list
284
+ * hide ad blocker checking code when not needed
285
+
286
  = 1.11.1 =
287
 
288
  * fixed AdSense code field not working if AdSense connection is missing
399
 
400
  = 1.11 =
401
 
402
+ Improves AdSense onboarding