This page contains the changelog information for Advanced Ads removed from the readme.txt of the WordPress plugin.

You find the changelogs for individual add-ons on the pages linked below.

You can find the current changelog in the plugin’s readme file.

= 1.15 =

* please enable the new content injection method under Advanced Ads > Settings > General > Content Injection > Use new injection logic

* rewritten content injection to prevent HTML markup modifications

* rewritten code for Display and Visitor Condition form fields on ad edit pages

* allow to replace existing ads.txt file with the option provided by Advanced Ads

* prevented duplicated SQL query when a group contains no ads

* added warning for WP AutoTerms plugin, which prevents ads from showing on category archive pages

= 1.14.11 =

* moved placement form above the list of existing placements

* made “ads.txt” file available before the Settings page is saved

* removed leading and trailing spaces from privacy options to prevent accidental misconfiguration

* implementing coding standards in a few backend files

* fixed welcome panel not showing up

* fix for plugins using the “pre_option_upload_path” or “pre_option_upload_url_path” filters

= 1.14.10 =

* creating unique slugs for the ad post type in order to prevent conflicts like found with Beaver Builder

* added option to disable AdSense stats in the backend

* fixed conflicts when $ (jQuery) was not available

* fixed potential JS conflict in Wizard script

* added a warning suggesting to install “dom” extension in order to use “Content” placement

= 1.14.9 =

* fixed deprecated notices causing a warning

* fixed possible missing class error

* replaced AdSense in widgets with dummy ads on Elementor preview pages to prevent issues

* removed unneeded warning about early called `advads_is_amp` function

= 1.14.8 =

* replaced AdSense with dummy ads on Customizer and Elementor preview pages to prevent issues

* make text fields in Advanced Ads settings fully resizable

* removed unneeded ads.txt warning on domains

= 1.14.7 =

* allow “Footer code” and “Sidebar Widget” placements on AMP pages created by the official AMP plugin

* prevented AMP warnings on XMLRPC requests

* removed unused debug function

= 1.14.6 =

* fixed frontend issue showing for admins if the HEAD placement is used

= 1.14.5 =

* sanitize Container ID option on save and warn about wrong format

* made Placements page work when another plugin includes Twitter Bootstrap

* updated missing ads.txt warning

* disabled Privacy module on AMP pages so that the Google AMP cache shows them

* fixed warnings for some features on AMP pages

* fixed suggestion to switch Auto ads code in plain text ad type to AdSense ad type

= 1.14.4 =

* fixed JavaScript issue on ad edit pages

= 1.14.3 =

* allow adding ads to newsletter emails created in MailPoet using the shortcode `[custom:ad:AD_ID]` in the email template

* prevented error when Piklist plugin is used

* fixed JS error on post edit pages that had no real consequences

* minor fixes to licensing settings (Pro only)

= 1.14.2 =

* preparations for [Advanced Ads Pro]( 2.4.2

* fixed time zone difference in AdSense reporting

* fixed script dependency in the backend

= 1.14.1 =

* fixed issue with PHP 5.2 (please update to PHP 5.6.20 since it is the minimum requirement of WordPress)

* fixed potential conflict with ClassiPress ad categories

* prevented user interface from looking broken when Twitter Bootstrap is added by another source

= 1.14 =

* rewrite of AdSense code logic. Please reach out through if you discover any issues

* show AdSense revenue in WP Admin

* removed parent ad group option since it was never used by Advanced Ads

* made newly installed Advanced Ads work correctly with Q2W3 Fixed Widget

= 1.13.8 =

* prevented warning about missing ads.txt file when the file exists

* added a hint about solving ads.txt issue on WP Engine platform

* allow to translate Ad Label option if WPML String Translation is used

* fixed Ad Health notices showing also ignored issues when adding a new notice

* inject ads in the outermost `the_content` when they may have been injected in an inner `the_content`

* added chain of nested `the_content` filters to `debug.log` to allow reasoning about possible issues

= 1.13.7 =

* set `ADVANCED_ADS_DISABLE_EDIT_BAR` to disable frontend edit bar

* set better default data for new AdSense ads

* when `the_content` filters are nested, use the outermost one to inject ads

* hide certain notices for a longer period even if they stay valid

* removed notice about plugin updates since WP 5.2 handles this now

* removed notice about website being hosted on

* honor “Hide ads for user roles” and “Hide ads from bots” settings when displaying AdSense verification code & Auto ads

* prevented some attachment pages containing ads from being indexed

= 1.13.6 =

* fixed missing index issue raised when Tracking settings never were saved

= 1.13.5 =

* option to hide ads by user role does now show all registered roles

* prevented possible JavaScript error in Ad Health

* updated minimum PHP version check to warn below PHP 5.6.20

* exclude LiteSpeed Cache bot from bot detection

* fixed Ad Health notices with invalid ID

= 1.13.4 =

* improved compatibility with WPML

* improved errors given when no ad units were found in the AdSense account

* improved UI when hiding ad health notices

* fixed issue when logging the AdSense Hidden problem

* fixed issue on ad filter list when two terms with the same slug exist

* fixed unlikely case of an SQL error on ad overview page

* fixed issue with Ad Health bar in frontend when jQuery was not found

* added a link to ads.txt settings from AdSense warning about missing ads.txt file

* removed unneeded ads.txt warning on domains

= 1.13.3 =

* added link to get help in some error notices

* fixed error caused by ads.txt module on multisites that use WordPress lower then 5.1

* fixed compatibility with Gutenberg plugin

= 1.13.2 =

* added AdSense ad slot ID to “AdSense hidden” warning

* improved ads.txt test for existing files and other problems

* fixed broken link preventing the Privacy settings from working

= 1.13.1 =

* fixed issue with PHP 7.1 and higher

= 1.13 =

* added support for ‘ads.txt’

* added option to disable Google Auto ads anchor ads at the top of the page

* prevented attachment content from being shown next to Rich Content ads on attachment pages

* allow to hide “Ads are disabled” warning

* added AdSense connection errors to notifications

* remove hidden notices if resolved

* load notices box without JavaScript

* stop content injection into wp_router pages when ads are disabled on secondary queries

* introduced `advanced-ads-max-ad-weight` filter to allow manipulating the available ad weight

= 1.12 =

* new ad health notification logic in WP Admin to show notifications and critical issues at one place

* disable Ad Health in frontend and backend using the existing “Disable Notices” option, now called “Disable Ad Health and other notices”

* prevented ad injection into excerpts

* reordered settings page

= 1.11.2 =

* removed “Limit to 3 AdSense ads” option for users who don‘t 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

= 1.11.1 =

* fixed AdSense code field not working if AdSense connection is missing

= 1.11 =

* improved the AdSense onboarding process

* hide idle ads in the ads list loaded from the AdSense server

* don’t inject ads into content when ads are disabled on Secondary Queries (problem caused by Similar Posts plugin)

* limited Edit-button in the frontend to ads with a container around them

* fixed issue caused by browsers with a default ad blocker

* fixed ad group filter on the ad overview page not appearing

* fixed “Ad block counter” being needed to display ads for ad blockers

* compatibility with the “Render Blocking JS” option of the WP Fastest Cache plugin

* added clearfix option to fix possible layout issue with all types of AdSense responsive ads

* use same URL field for Tracking and basic plugin

* Sticky Ads: fixed incorrect centering when parent element begins lower

= 1.10.12 =

* added function that allows Advanced Ads Pro to prevent script optimizing plugins to break ad codes

* fixed JS conflict for plain text ads using PHP or shortcodes

= 1.10.11 =

* added `advanced-ads-frontend-prefix` to adjust the frontend prefix dynamically

* placement position set to center does cause selected ad to be placed to the left

* fix ads within multiple groups not being saved

* made compatible with improved cache-busting in Advanced Ads Pro 2.3

= 1.10.10 =

* new ad block works with WordPress 5.0

* show hint when shortcode or PHP options are enabled, but not needed

* fixed long group pages not being saved

= 1.10.9 =

* fixed AdSense Auto ads check in the Ad Health bar giving false positives

= 1.10.8 =

* show hint if Auto ads are enabled

* allow responsive Adsense ads with custom sizes to be floated

* show an advice if user does not have permissions to edit ads

* fixed AdSense key overlay not accepting copy&paste in Safari and Firefox

= 1.10.7 =

* reverted code optimization that broke some forms

= 1.10.6 =

* fixed HTML issue with paragraph index when saving the placement page

= 1.10.5 =

* improved list of ads imported from AdSense account

* use width and height ad settings for image ads if they differ from the entered sizes

* added option column with shortcode to the ad list. It is optional. Go to “Screen Options” at the top right of the ad list page to enable it

* show warning if AdSense Auto ads code is used in ad code field

* added a warning if Advanced Ads constants are enabled

* prevented possible JavaScript error created by the Privacy module

* extended “Transparent Background” option for AdSense to fix a border they have in some themes

* removed ad block counter code when not used

* updated add-on updater class

* added a warning about floated responsive AdSense ads

= 1.10.4 =

* fixed posts instead of ads showing up on the ad overview list caused by 15zine theme

* fixed translation issue that caused Italian sites to not save ads properly

* removed unneeded language files since they are now hosted on

= 1.10.3 =

* removed filter for paginated ad list since it was unintentionally broken by third-party plugins

* fixed compatibility with Q2W3 Fixed Widget that gone missing with last update

= 1.10.2 =

* fixed issue with JNews theme which produced a widget ID that is blockable by ad blockers

* fixed second page on ads overview showing the same results as the first

* fixed issue that caused some items to vanish on admin pages without screen ID

= 1.10.1 =

* fixed issue caused by wrongly registered third party taxonomies

* fixed conflict on ad list with plugins going an extra query, e.g., Elementor

* added PHP version check to new AdSense connector (5.4)

= 1.10 =

* added AdSense integration

* added sub menus to setting pages

* added name to taxonomies in Display Conditions if the same label is repeated

* added clearfix option to fix possible layout issue with AdSense responsive ads

* removed title attribute from image ads

* plugin update warning now only appears for Advanced Ads plugin and add-ons

* rewritten filters on ad list to work with all ads not just those on the current page

* allowed to create new placement with same name

* fixed issue with license activations on sites using the Multilanguage by BestWebSoft plugin

* fixed duplicate queries in backend

* fixed possible conflict between assets created by the Ad Blocker module

* WP Rocket: compatibility with the recent version of deferred JavaScript

= 1.9 =

* added Privacy module to hide ads until consent is given, see new [Privacy settings](

= 1.8.30 =

* prevented entering 0 in the position index field of the Content placement

* compatibility between Elementor plugin and Content placement

* made Ad Health available to all users that can edit ads

* hide dashboard widget for user roles that can’t edit ads

* don’t use wrapper when using the “Header Code” placement

* compatibility between Responsive add-on and “WP AMP Ninja” plugin

= 1.8.29 =

* added ad block that works with Gutenberg version 2.8.0

* allowed to use uppercase letters in wrapper ID

* do not count cache preload features of caching plugins as bots

* removed orange border for just updated placements since it implicated that there was something wrong

* use AnonymizeIP by default for ad block counter feature

* remove “ca-” from AdSense publisher ID dynamically if entered by accident

* fixed possible content breaking by empty Content placement

* fixed issue with Pagination condition in Pro

* fixed minor license check issue

* fixed issue with legacy value for the Unlimited Ad Injection option

= 1.8.28 =

* prevent possible issue with empty groups

* show only 1 ad in groups by default

* fix for loading the wrong plugin language in WP Admin

* added helpful advice when license activation was blocked by firewall

* made ads for ad blockers (Pro) work when Google Analytics ID is not set

* prevented Google Custom Search tags from breaking with content injection

* added code to fix Analytics tracking in Tracking add-on for multisites loading an ad from another blog

= 1.8.27 =

* prepared for repeating content ad injections in [Pro](

* minor backend fixes

= 1.8.26 =

* fixed issue for new installations

= 1.8.25 =

* updated labels and links for AdSense Page-Level ads and QuickStart since both are now combined as “Auto Ads”

* added link to create new AdSense account

* removed “Remove Widget ID” option. No longer needed after fixing a compatibility issue with Q2W3 Fixed Widget plugin

* prepared for Pro feature to repeat an ad multiple times by injecting it into the content

= 1.8.24 =

* fixed minor conflict caused by Bridge theme

* fixed links to support page

* fixed possibility to create an infinite loop by adding an ad (type: group) to a group which it represents

* fixed issue when rebuilding Ad Blocker file folder and using not direct filesystem method

= 1.8.23 =

* moved support page into a tab on the settings page

* show link to assigned ad and ad group on placement page

= 1.8.22 =

* dynamically adjust available ad weight in a group depending on the number of ads

* added option to interpret shortcodes in plain text ad type

* specified some of the warnings on settings page

* fixed ‘Display only once’ feature when used together with Content placement

= 1.8.21 =

* added more checks for conflicting plugins

* show critical warnings also on settings page

* reopen placement options that were opened last when saving the placement list

* added check for missing PHP extensions

* updated label for bot detection setting and warn, if current user is bot-like

* minified ad block counter code in frontend or remove, if not used

* introduced `advanced-ads-ad-image-tag-style` filter to adjust image ad style

* fixed images not being centered when in a placement

= 1.8.20 =

* added “placement_has_ads” and “group_has_ads” functions to test if a placement/group has not empty output

* allowed to rotate ordered ads with same weight

* show warning if Page-level ad code is used for AdSense ad type

= 1.8.19 =

* delayed Ad Health checks for hidden AdSense ads

* added fix for WooCommerce store page to work with Specific Pages condition

* prepared for more AMP features in next update of Responsive add-on

= 1.8.18 =

* fixed bug when old version of [Tracking]( was running

= 1.8.17 =

* updated review message

* prepared for upcoming fixes for Pro add-ons with WP Rocket defer option

* fixed index issue

= 1.8.16 =

* fixed issue introduced to some ad types with last code highlighting support update

* fixed layout issue on sites with ‘Right to Left’ locale

* ignore content and excerpt when searching for a post in the Specific Pages condition

= 1.8.15 =

* use code highlighting by default for plain text ad type

* fixed newsletter signup form

* fixed bug that shows install message for Genesis add-on even if already installed

= 1.8.14 =

* prevent ad injection on BuddyPress image upload pages

* added more Yandex bots to bot check

* compatibility with iOS 9.3

= 1.8.13 =

* improved security of WP Admin forms and AJAX requests

* added translation notice

* fixed publish date showing up for newly created ads

* fixed issue when searching for post IDs in the “Specific Pages” Display Condition

= 1.8.12 =

* linked the new [AdSense In-feed add-on]( where needed

* optimized settings page layout

* process Advanced Ads shortcodes correctly when they are nested inside Rich Content ads

= 1.8.11 =

* added option to make AdSense background transparent

* only show missing the_content filter warning if relevant

* show Ad Health warning if current user looks like a bot

* fixed showing correct group type options

= 1.8.10 =

* added Ad Health warning if ads are disabled in the frontend

* fix for Wizard navigation

= 1.8.9 =

* added option to disable AdSense-related Ad-Health warnings

* fixed search for terms with numbers in them

* added check for hidden AdSense units

* added warning that AdSense InFeed and InArticle ads can’t be aligned left or right

= 1.8.8 =

* fix to feedback form

= 1.8.7 =

* added option to analyze the number of visitors using an ad blocker

* exchanged Dummy ad image and URL to something more neutral

* compatibility with PHP 5.2

* use margin: auto to center reserved ad space

* renamed Groups menu item to also mention “Rotations”

* do not execute shortcodes of the current ad in its own content

* updated first-ad video tutorial link

* fixed wizard skipping a step after being stopped and reopened

* fixed wrong scheduled time displayed on ad overview list

= 1.8.6 =

* hotfix for PHP below 5.4

* fixed HTTPS warning showing up for links

= 1.8.5 =

* optimized Wizard – fewer steps and less clutter

* added more options to the placement box after a new ad is saved

* load dashboard widget using AJAX

* show a warning in Ad Health if an ad contains HTTPS, but the site is using HTTP

* fixed problem when multiple add-ons were updated at once

= 1.8.4 =

* added “Taxonomy” Display Condition

* display arrow if an Ad Health message is a link

* removed “jQuery not in Header” warning after we fixed all known issues

* renamed and updated add-on updater class to use SSL only

* updated pt_BR translation

* added Japanese translation

* replaced “Cheatin’ uh?” message with something useful if user role does not have required permissions

* prevent output of Adsense ads on AMP pages if they are not converted to AMP-format with Responsive add-on

= 1.8.3 =

* introduced `advads_is_amp` function to fix ad injections on AMP pages

* implemented a simple ad block counter with Google Analytics

= 1.8.2 =

* fixed Content Age condition

* fixed group options not changing correctly when switching types

= 1.8.1 =

* added support for new AdSense InFeed and InArticle ad codes

* create a new ad group on group page

* add group wrapper even if the group was not edited on the group edit page

* add the ‘advanced-ads-output-wrapper-after-content-group’ filter

* removed unused MarketPress license code

* removed debug page

* removed license expires notice

* updated composer

* updated translation files

* fixed issue with inheriting settings of ad group ad type

* removed PHP notice in Import feature

= 1.8 =

This release is even larger under the hood than the following list. Please make sure to also update all [your add-ons]( and let us know directly about any issues [here](

* new Content Age display condition added – display ads based on post age

* allow to enable/disable ad label for each placement

* complete rework of group and placement options

* added Dummy ad type

* show AdSense code form inline instead of in a popup

* optimized workflow in wizard to show only relevant information

* select draft, pending and future posts in the Specific Pages condition, too

* warn if QuickStart ads from AdSense are loaded

* show ads on AMP pages for all bots

* properly escaped output of image ad title and alt attribute

* removed description field from groups since we have never seen this being used, let us know when you need it though

* updated all translation files

* fixed wrong month names in translated versions of the ad overview list

* fixed with small image ads not appearing on AMP pages

* fixed missing and wrong textdomains

* fixed search for single digit IDs in Specific Pages condition not working

= 1.7.25 =

* added explicit “link ads” AdSense type with normal and responsive format

* included link to AdSense types manual

* optimized bot check

* removed TinyMCE security features from links added to the rich media ad type to not break affiliate links

* fixed error appearing when image of an image ad does not exist anymore

* fixed wizard not going to ad parameters box automatically after selecting ad type

= 1.7.24 =

* fixed issue with shortcode button that caused some page builders and scripts to break

* fixed saving settings on multisite sub-blogs

* applied fix to updater class

* fixed basic fix function needed for Sticky ads

= 1.7.23 =

* fix a warning that appears when wp admin bar is missing.

= 1.7.22 =

* added option to also consider elements in containers for ad content injection

* show warning in Ad Health bar when not all ads could be injected

* added logic to display ad specific warnings and possible conflicts

* added warning to disable shortcode button or ad blocker in order to use the visual editor for posts

* reapplied user capabilities to create or edit ads to make sure they are never wrong

* added warning about left and right position not working with responsive AdSense units

* edited feedback form

* add ad/group wrapper, if needed

= 1.7.21 =

* fixed jumping “more terms” button in taxonomy conditions

* fixed advanced JavaScript for frontend picker in Pro

= 1.7.20 =

* updated local storage script

* fixed issue causing passive-cache busting and layer not to work together

= 1.7.19 =

* check if local storage is supported by the browser, if needed

* use flexbox layout for longer input fields in conditions

* use `advanced-ads-admin-max-terms` filter also for limit in author condition

* updated EDD Updater Class for add-on updates

* fixed error message when all placements were removed

* fixed adblock disguise folder not working correctly on https pages

= 1.7.18 =

* use the same ad block disguise settings for all sites in a multisite

* update to advanced.js to allow injection into hidden elements

* fixed group options being overridden, when filtered groups are being saved

* fixed missing attribute for responsive Matched Content ads

* fixed issue with MarketPress license check

= 1.7.17 =

* add `ADVANCED_ADS_DISABLE_SHORTCODE_BUTTON` constant to wp-config.php in order to remove the shortcode button from the TinyMCE interface

* don’t move ads into hidden elements

* set license key fields to readonly after updated

* show “reserve ad space” only for ad types where it makes sense

* using WordPress Filesystem to create ad block disguise folder

* disable page level ads on pages where all ads are disabled

* hide double compatibility warning with cache-busting in Advanced Ads Pro

* hide warning about unexcaped `&` in urls

= 1.7.16 =

* added helpful links when download of an add-on failed

* set active license key fields to readonly

* bundles add-on related functions into one class

* updated Spanish translation

* added Vietnamese translation

= 1.7.15 =

* allow Unlimited Ad Injection setting to specify the number of posts in the loop to show ads

* allow to override specific options in functions and shortcodes

* added feedback form on deactivation

* fixed Visitor Conditions connector being saved wrongly first

* fixed ads not appearing on AMP pages

= 1.7.14 =

* added `ADVANCED_ADS_ENABLE_REVISIONS` constant to allow revisions for ads

* fixed wrong output after using quick edit in the ads list

* fixed custom position logic to not leave critical errors when localStorage is disabled

* fixed update checks on every admin page impression due to W3TC object cache breaking transients

= 1.7.13 =

* fix for class name sensitive systems and Tracking autoloader

= 1.7.12 =

* better highlighting of AND and OR connectors in display and visitor conditions

* removed general conditions as default from display conditions

* highlighted video and manual links for conditions

* show is_home and is_front_page as the same item in ad debug mode

* show warning if plain ad code contains HTTP, but the website is using HTTPS

* added notice if add-on licenses expired to plugin page

* changed “mobile device” into “device” condition with better option descriptions (mobile + tablet | desktop)

* changed “Post Content” placement label into “Content” since it is used for all post types

* hide manage ads link in dashboard widget from users who can not edit ads

* fixed dependency issue with Tracking add-on

* fixed dependency issue with AJAX cache-busting

* fixed missing scripts for ad block disguise

= 1.7.11 =

* added filter to change General display conditions set

* set `ADVANCED_ADS_AD_DEBUG_FOR_ADMIN_ONLY` in order to allow only admins to see ad debug mode

* introduced `advanced-ads-output-final` filter

* only check once per day for add-on updates

* fixed one support link

* fixed multiple add-on update checks

* fixed error message when ad group is empty

= 1.7.10 =

* highlight ads in the frontend through the “Ad Health” options

* check if PHP DOM module is enabled and warn in “Ad Health” if not

* added DFP debug link to “Ad Health”

* added button to check Add-On license keys for changes

* extended ad debug mode with more information

* restructured support page to reach helper more quickly

* fixed header ad bug

* fixed compatibility issues with Yoast SEO, WPML, and Jetpack

* confirmed working with Divi Themes and NewsMag

= =

* added Selling Ads widget on overview page

* removed add-on update transient hopefully fixing update checks

* updated EDD class

* workaround for empty post-id error caused by BuddyPress

= =

* display ad health menu only to ad admins

* removed update notices prior to 1.7

* fixed is_not operator for specific pages did not display the ad on archive pages

* fixed disabled-ads notice showing on support page when no option was selected

* fixed user rights not set correctly on network activate in a multisite – please disable and reenable the plugin if you have it network activated

= =

* removed the `the_content` check from non-singular pages

* moved ad blocker check into footer

= 1.7.9 =

* added frontend error checks to the admin bar

* changed default value for AdSense limit from true to false due to AdSense policy change, [read more](

* fixed unhighlighted placement type in Chrome

= 1.7.8 =

* prevent any ad container output in the header

* show advertisement label also for manually placed ads

* fixed AdSense slot ID when delivered through cache-busting

* fixed reserved place option not working after image upload

* fixed placement type display

* fixed missing translation for show/hide options

= 1.7.7 =

* allow to inject a new ad into existing placements

* added is/is_not operator to “post type” display condition

* show ads with the “specific pages” display condition only on these pages and not on archives

* set expired ads to “draft” post status

* highlight draft and pending ads in ad list

* updated AdSense 3-ads-limit text. AdSense has no explicit limit anymore

= 1.7.6 =

* prevent third part meta boxes in the ad edit screen

* set `ADVANCED_ADS_DISABLE_FRONTEND_AD_WEIGHT_UPDATE` constant to disable frontend group updates (for high traffic sites)

* enabled overriding placements through the import

* added uninstall option to remove all data on plugin uninstall (default: not removed)

* optimized element selector script used in Pro and Sticky

* fixed specific page display condition on archive pages

* fixed output of wrong publisher ID in admin panel

* fixed missing index error with ad block disguise

* fixed minor widget error on ad dashboard page

= =

* add and remove ads in groups in the group overview page

* separated admin code into multiple files for better overview

* log possible content injection errors only for admin users in the frontend

* double error messages hidden on plugin support page

= 1.7.5 =

* prepared for [Advanced Ads Pro]( 1.4 with ad reloads, single request mode and placement tests

= =

* extended feed cache to 48 hours

* updated EDD add-on updater class

* display possible injection errors only, when WP_DEBUG is enabled

* fixed content injection when duplicate ids are found in content

* fixed JavaScript conflict that prevented Display Conditions from working

= =

* linked first-ad tutorials above ad list if less than 3 ads created yet

* fixed Wizard buttons not working due to JavaScript conflict

* fixed manual added container id not displayed for ads not added through placement

= =

* changed content injection parsing from xml to html to decrease issues with broken html

* added check for content injection compatibility on ad edit page

* fixed error when ad list columns are missing

* fixed missing post format display condition

* added fix for sticky ads with timeout

= =

* hide contrainer class, id and ad debug mode in Wizard

* fixed term query showing on every page impression

* fixed capabilities issue with Theia post slider

* fixed unnecessary admin notifications queries

* fixed ad title disappear when type was selected

* fixed ad group parameter layout

* fixed init hook to allow adding custom taxonomies

* ad meta boxes are now forced to be visible

* added link to advertisement label manual

= =

* order ads in widgets and placements by ad title

* set OR as default connector in Display Conditions

* force OR on Display Conditions where conditions with AND never show the ad

= 1.7.4 =

* added Wizard to quickly create new ads, [manual](

* import / export feature

* optimized ad setting lists layout

* select scheduled ads for placements or in the ad widget

* allow wrapper class to include uppercase letters

* display ad image icon on ad overview page

* reactivate existing add-on licenses after shop upgrade

* don’t show ads on unrelated page types when a “show” + category display condition is set

* fix for using groups in some advanced placements

* fixed caching of dashboard widget

* fixed missing user capabilities after update

* fixed public url for ads due to possible WP bug

* updated Portuguese (Brazil) translation

= 1.7.3 =

* allow ad injection with just one click after ad was published

* fix for unset ad type breaks saving the ad

* fix for ads injected into main content which use document.write with closing tags

* fixed pro placements not visible when adblocker is enabled

* forces ad type metabox to stay open for new ads

= =

* fix for missing index with newly created ads

= 1.7.2 =

* license settings page rewritten

* added Ad Group ad type

* added ad specific capabilities

* added label above ads

* collapse ad type meta box for existing ads

* added links to manual and inline videos to the meta box headline

* updated translation files

* remove hyphen from automatically created id prefix to not break ID creation

= =

* hotfix: added missing file

= =

* search for title or id instead of content when selecting a Specific Page Display Condition

* fixed double display conditions

* fixes notices appearing once after update

* fixed display condition error warning

* fixed content injection breaking when unescaped `</script>` was used within `document.write`

* added taxonomies created by Custom Post Type UI plugin to the display conditions

* add content placement for paragraphs without images

= =

* fixed error when $wp_query is not set

* added French translation

= =

* tested with WP 4.5

* create random widget id, if not set yet

* allow content injection into nested paragraphs if none found at level 1 and 2

* minor security update for admin ajax actions

* fixed home condition for some cases

* fixed secondary query check

* fixed de/activation hook

* fixed Spanish translation

* updated translation files

= =

* added Feed condition to General Display Conditions

* trim license keys when saving

* reverted too strict display condition checks for taxonomies

* shortened debug page

= 1.7.1 =

* introduced AND/OR connectors for Display Conditions

* display conditions for some pages (archive page) are now stricter

* connectors for existing visitor conditions can be changed now

* added option to reserve ad space

* set ADVANCED_ADS_DISALLOW_PHP constant to prevent usage of PHP in plain ad code

* update ad block disguise files automatically, when Advanced Ads scripts changed after an update

= =

* added debug mode for ads, see [manual](

* skip check for general conditions if all are on (allows ad injection also in iframes and new wp instances)

* display jQuery issue notice in display conditions

* lifted the restriction to choose each display condition only once

* add notice when ad block folder needs to be rebuild

* hide an ad with a tag condition in posts that don’t have a tag at all

* prevent broken custom queries to interfere with display conditions

= =

* hide ad if no term is selected for taxonomy display conditions

* show warning, if no items selected in display conditions

* fixed 500 error caused by plugins using WP_Query unsecured

= =

* hotfix for missing get_current_screen issue

= 1.7 =

* rewritten Display Conditions interface and logic, see [manual](

* rich content ads now render oembed links

* added author display condition

* added link to Visitor Conditions manual

* added incompatibility warning for Q2W3 plugin

* home page display condition honored also on static pages

* single post display condition honored also on archive pages

* prevent ads from being loaded in wp_head when they are not a header placement

* optimized support form and added feedback messages

* fixed general secondary query setting

* fixes for jQuery issues and message for solutions

* fix error when editor role is missing

= =

* hotfix for default time zones and expiry dates

= =

* fixed complex Visitor Condition chains

* added link to Visitor Conditions manual

* added Spanish translation

* fixed expiry time gaps

= 1.6.17 =

* asking nicely for a [review on](

* compatibility with passive cache-busting in Advanced Ads Pro

* automatically reenable license if it was already activated one the site

* updated links to plugin page

* sanitized frontend prefix

= 1.6.16 =

* added link to manual for mobile devices visitor condition

* added links to support and add-ons to plugin page

* fixed potential issue for licenses on multisites

* fixed missing wrapper for placements with a group

* fixed missing index error for widget

* fixed missing index error for display conditions

= 1.6.15 =

* added overview widget for [Geo Targeting add-on](

* added ad block disguise for plugin files

* fixed missing wrapper id

* fixed link to license page on multisites

* fixed links on intro page

* fixed rare license activation error

* fixed license issue on multisites

* under the hood: changes for ad select of ads and groups for auto cache-busting

= 1.6.14 =

Please [share your ideas]( about more capabilities.

* option to allow editors to manage ads

* remove shortcut icon from tinymce editor for non-admins

= 1.6.13 =

* added responsive images as introduced in WordPress 4.4

* tested with WordPress 4.4 beta 4

* hide AdSense on 404 pages by default

* fix add-on updates check in front ajax calls

* noindex image ad attachment pages

* fixed random bug where already existing class causes the plugin not to work

= 1.6.12 =

* added filters to ad list

* display expired date in ad list

* display ad dates in ads list on group page

* hide unrelated columns in ad list

* fix saving adsense ad unit as non-superadmin

* error message for possible jQueryUI library conflicts

* fix widget_title override

= =

* hotfix for widgets

= 1.6.11 =

* added icon to rich media editor to quickly add shortcodes

* added widget placement type

* added new column for ad planning

* TinyMCE is now working when ad type is switched to content ad

* enable license key deactivation

* hide unnecessary fields for image ads in media gallery

* loading jQuery ui styles only on Advanced Ads dashboard pages now

* fixed AdSense ad not retrieving values due to slashes

* fixed issue with licenses being activated twice

= =

* warn on support page if ads are (partially) disabled

* inform users of Pro that AdSense limit does not work with cache-busting

* added hooks to extend content injection

* group slug hidden, because it currently serves no purpose

* fixed possible issues with content injection priority being lower than wpautop

= =

* hotfix for empty id field

= 1.6.10 =

* added image ad type

* added option to set id and class attributes

* added check for conflicting plugins

* allow a higher number of visible ads in a group if more are existing

= =

* last settings tab is now opened again after being saved

* exchanged text domain constants with string to match translate criteria

= =

* order placement list by slug (which normally equals name)

* updated Autoptimize message. If you use the Autoptimize plugin then check out the Autoptimize-Support in [Advanced Ads Pro](

* unquote json request

* added missing advertisement image for AdBlock check

* added `advanced-ads-can-inject-into-content-` hook to check if individual placements can be injected into the content

= =

* small adjustment to make cache-busting from [Advanced Ads Pro]( compatible with [Sticky Ads](

= =

* fixed AdBlocker check on Support page

* display Advanced Ads notices on Support page

= 1.6.9 =


* add AdSense Page-Level ads code globally

* added hours and minutes to expiry date

* allow to set content priority to negative value

* added checks for main issues to the Support page

* added check for AdBlocker to all Advanced Ads pages in the dashboard

*fixes and maintenance*

* don’t display error message if not on archive page

* fixed issue with placement tooltips not showing up

* optimized content injection code

* added collapsed field for advanced placement options

* fix “support email sent” message showing all the time

* allow JSON encoded arguments for ajax callback

* make conditions case insensitive and binary safe

* renamed some classes belonging to AdSense module

* updated composer

* display warning on AdSense settings page if publisher ID is missing

* optimized support form layout

* added can-display check + filter for placements

= =

* Hoe vet is dat!? – added Dutch translation

* fix selecting placement type in IE 11

* fix errors with content injection when mbstring extension is missing on the server

= =

* added introduction page with first steps

* optimized error handling in placement form

* added option to remove the public id from widgets completely

* rewritten dismiss buttons of notices based on new WP standard

= =

* added menu page to get support from within your dashboard

* stricter control of ad group archives not being public

* fix: content-injection requires more than one item per level for p-tags only

* updated German translation

= 1.6.8 =

* added option to change the prefix of ids and classes in the frontend to prevent widgets from being ad-blocked

* minor optimization to autocomplete feature of post display condition

* minor changes to align with changes in WordPress 4.3

* content-injection now detects wrappers around content up to the third level

= =

* hotfix to prevent error message on empty content injection placements

= 1.6.7 =


* allow to inject ads into content starting from bottom

* prevent ad injection into lower-level paragraphs (e.g. into tables or containers)

* hide ad widget when the content is empty

* show post type or date when searching an individual post display condition

*fixes and maintenance*

* fix placement types images not showing up completely

* warn if any used placement type is missing

* added `advads-ad-allow-php` class to php-setting of plain text

* added `advanced-ads-activate-advanced-js` filter to allow add-ons to attach advanced js file without bothering the user

* updated German translation

= =

* removed link to no-longer-existing manual page

* the option to close internal notices now also hides update messages

* fixed broken html on placement page

= 1.6.6 =


* added images to placement form ui

* allow to select item when creating a new placement

* always display placement form if no placement exists

* display shortcode and function for default placement type

* display notice if license keys are invalid, expired, or expire soon

* display error when AdSense Publisher ID is missing

* log error message in case regular expression is used wrong in visitor conditions

*fixes and under-the-hood*

* extended advanced js by move and fix_element function

* minified advanced js file

* added `advanced-ads-sanitize-settings` filter to sanitize plugin options

* added `advanced-ads-can-inject-into-content` filter

* added `advanced-ads-dashboard-screens` filter

* removed wrong output on Responsive settings

* store jquery ui css locally

* fixed saving empty placement options

* fixed free add-on notice showing up twice

* fixed error message in ads list when AdSense ad is empty

* fixed saving quick edit on ad list returning wrong columns

= 1.6.5 =

* removed “use strict” from js

* hide error message caused by third party code that uses post_updated_messages filter wrong

* hide licenses tab on non-main-blogs on multisites

* made plugin name untranslatable

= =

* fixed free-add-on notice not closing forever

= 1.6.4 =

COOL: newsletter subscribers now receive 2 free add-ons

* changed newsletter subscription text

* display description of visitor conditions, if selected

* minor fix to display conditions ui

* updated German translation

= 1.6.3 =

* added visitor condition to check for logged in visitors

* fixed display conditions buttons

* updated German translation

= =

* added missing files to repository

= 1.6.2 =

* display dashboard widget only to authors and higher roles

* include admin javascript file only on pages which need it

* no need to save AdSense publisher ID separately anymore

* added warning if AdSense publisher ID has wrong format

* list more than 10 ads from a group on the group overview page

* active settings and conditions are now blue

* clear object cache when saving an ad (thanks to pete-sch)

= 1.6.1 =

* fix secondary query condition (this was revered in 1.6)

* fix wrong constant displaying errors on add-on license page

* display license expire date for add-ons

* prevent accidental removal of license keys

= 1.6 =


[Update post](

Changes you can test:

* fixed ordered ad groups displaying ads with 0 ad weight

* fixed order of ad groups to deliver ad with highest weight first

* added option to allow ad injections on archive pages and outside the loop

* minor layout fix for update button after selecting rich content ad type

* fixed timestamp issues using GMT only now (might shift old ad expiry timestamps by timezone offset)

* load adsense script with every ad request

Changes under the hood:

* allow to cache groups when persistend object cache is available

* pass placement options to underlying ad/ group

* allow to exchange loaded ad ids for ajax callback

* fix override option for ad select

* wp query is now prepared as ad argument on selection

* moved query based display conditions to own module

* fixed ajax request parser

* actually serve placement on injection (and allow to use placement arguments)

* `advanced-ads-ajax-ad-select-init` action when ad is going to be selected by ajax call

* provide action when plugin was loaded

= 1.5.6 =

* check out the new [Slider add-on](

* please [vote for your preferred support channel](

* display usage help after an ad was published

* fixed AdSense ads counting when injected outside the loop

* added better explanation for visitor conditions

* updated German translation

= 1.5.5 =

* fixed outdated links to the manual and feature requests

* added hooks and options to be able to extend ad groups

= =

* hotfix for new visitor conditions not showing up

= 1.5.4 =

* PLEASE READ the [update notice]( to learn more about the changes on visitor conditions

* visitor conditions completely rewritten to allow combination of multiple conditions

* created simpler placement creation

* reordered Advanced Ads dashboard

* added AdSense tutorial

= 1.5.3 =

* display all ads of an ad group

* no ad wrapper is created if the main ad content is empty

* hide ad meta box on posts and pages for non admins

* display if ad expired on group overview

* added tutorial subscription

* added notices and newsletter logic

* new hook `advanced-ads-debug-after`

* updated all class names from “Advads_” to “Advanced_Ads_”

* updated German translation

= =

* fixed inclusion / exclusion of ads for single posts

= 1.5.2 =

* fixed empty bots not excluded if option is activated

* fixed updated placements not showing up right away

* removing spaces from AdSense publisher id

* simplify admin capabilities for modules

* fixed admin includes to avoid relative paths

* fixed a warning in add-on admin settings

* fixed wrong path to advanced.js

* removed old code and global ad conditions previously saved in field ‘advads-ads-by-conditions’

* updated German translation

= 1.5.1 =

* added tab menu für settings

* allow to set ad weights for pending, future and private ads

* improvements to groups overview based on group types

* fixed switching ad types

* fixed individual post conditions not showing up

* fixed update message being displayed for new installations

* other fixes under the hood

* new hooks: `advanced-ads-setting-tabs`, `advanced-ads-adsense-settings-init`

* removed hooks: `advanced-ads-gadsense-after-id-changed`

= 1.5.0 =

* major changes in the code base to support upcoming features

* further interface cleanup

* fully implemented autoloading

* added composer definitions

* hook modules deep into ad selection and display

* autoload modules (for base plugin and add-ons)

* added `advanced-ads-ad-select-args` filter to modify ad selection arguments

* added `advanced-ads-ad-select-methods` filter to append or override ad code selection methods

* standardise and autoload modules

* add AJAX handler

= 1.4.9 =

* added option to hide ads from crawlers and other bots (option is disabled by default)

* added Secondary Queries display condition, e.g. to hide ads from posts in sidebars

* added frontend function `advads_can_display_ads()` to check if ads are displayed in general

* global option to disable all ads in secondary queries

* search for term ids in display conditions

* fixed ad conditions using conditional tags of subquery instead of the main query

* fixed search for terms in display conditions

= 1.4.8 =


* added ordered ad group type to control the order of ads displayed

* display multiple ads from an ad group (allowing ad blocks)

* fixed wrong group ids displaying ads

* fixed ads group output being empty on first frontend impression

* added filter `advanced-ads-group-types`

= 1.4.7 =

* COOL: beautiful selection of terms in display conditions

* search for terms if there are more than 50 in the current taxonomy

* updated more messages in the dashboard

* fixed expiry date discrepancy

* minor general code fixes

* minor fix for AdSense ads

= 1.4.6 =

* hotfix

= 1.4.5 =

* optimized code for some WordPress coding standards

* ad content injection now also supports tags with attributes (e.g. `<h2 class=”headline”>)

* added `advanced-ads-output-inside-wrapper` filter

* avoid session for gadsense module option page

* complete makeover of display conditions for specific page types

* added logic for important update messages

* fix for `is_home` condition

= 1.4.4 =

* possible hotfix for update issue

* cleared unneeded sessions for better performance

= 1.4.3 =

* COOL: complete makeover of the plugin dashboard based on WP standards

* added `advanced-ads-admin-overview-after` action hook to overview page

* fixed display of only 10 posts for display conditions

* minor optimization

* updated German translation

= 1.4.2 =

* COOL: [vote for and suggest features](

* switching from an existing plain text ad with AdSense code into the AdSense ad type gets the right options automatically

* added Advanced Ads Tutorials rss to dashboard widget

Need ad analytics and impression tracking? Try the [tracking add-on](

= 1.4.1 =

* COOL: limitation of AdSense ads prevents you from breaking the AdSense terms of service (can be disabled)

* added option to change the content injection priority

* load ad output for content injection only, if an injection is possible

* added hook `advanced-ads-settings-init` to add new settings

* renamed multiple hooks in the AdSense module

* updated German translation

= 1.4.0 =

* COOL: AdSense ad type, [manual](

* added multiple action hooks

* fix translation of textdomain if the plugin folder is renamed

* load pro module, if exists

* updated German translation

= 1.3.18 =

* removed wrapper for header injection placement

* removed deprecated code used for ad based content injections

* ordered ads by title in ads list

* removed broken pagination from ad groups list. now, all ad groups are displayed

* order ad groups by name when no other order is specified

* fixed search for ad groups in ad groups list

* PHP is not automatically allowed for new plain text ad codes anymore

* add an internal description and notes to your ads

= 1.3.17 =

* allow ad injection in all public post types now

* added Portuguese translation, props to [brunobarros](

* added advanced js file into the repository

= 1.3.16 =

* fixed minor issue in admin js

* fixed expiry date showing up on other post types too

= 1.3.15 =

* COOL: added expiry date for ads, see the [manual](

* removed limit on ads loaded for one group, props to [brunobarros](

* updated German translation

= 1.3.14 =

* fixed ad wrapper class for [Advanced Ads Layer add-on](

= 1.3.13 =

* fixed ad wrapper options disappearing for placements

= 1.3.12 =

* limited number of terms on ad edit screen to 200, introduced _advanced-ads-admin-max-terms_ filter

* wrapped placement ads in a container with a unique id and a class to target them with CSS and JS

* added dashboard widget with plugin version and news about ad optimization

Good to know: [What you didn’t know about the AdSense Program Policies](

= 1.3.11 =

* COOL: disable ads completely, on 404 pages or for non-singular pages with a single click

* renamed hooks starting with _advads_ to _advanced-ads_ for better names consistency

* ordered ads by ad title, not by date in placement and widget ad select list

Good to know: AdSense does not allow ads on 404 pages, so if you use AdSense a lot, be sure to check this new option on your settings page.

= 1.3.10 =

* COOL: disable all ads on individual single pages

* fixed saving some ad conditions to global array

* fixed minor issue with empty ad condition

* updated translation files

* updated German translation

Developers might want to take a look at the [Codex]( I am currently updating the cool stuff in there.

= 1.3.9 =

* disabled empty css file in frontend

* removed older changelog from readme

* fixed saving new ad conditions type “other” into global array

= 1.3.8 =

* fixed empty content placements still being parsed

* fixed missing or double tags created by content placements

= 1.3.7 =

* fixed bug with display conditions not working for custom post types and taxonomies

* minor fix in ad injection

= 1.3.6 =

* COOL: inject ads into content before or after specific paragraphs or headlines

* Updated translation files, German translation

= 1.3.5 =

* hotfix: fix the use of shortcodes within ads

= 1.3.4 =

* hotfix: display ads for placements when no ad group exists

= 1.3.3 =

* added column with ad details

* removed the date column from ad list

* fixed saving and retrieving of settings

* changed the dashboard icon

* renamed admin images so they won’t get blocked by ad blockers

* ACTION REQUIRED: please check and resave settings (_Advanced Ads > Settings_)

= 1.3.2 =

* hotfix: prevent infinite loops (ads within ads…) for rich content ads

= 1.3.1 =

* COOL: new ad type: rich media and formatable content – it’s like editing a normal post

* parse ad content as post content; this allows the use of shortcodes

* increased priority of content filter to reduce the risk of `wpautop` not being run yet

* finished German translation

= 1.3 =

* COOL: layout options for ads, e.g. to set floating and margins (see the [manual](

* list ad groups before ads when selecting them for a placement

* fixed error when removing an ad that is still in a group

* fixed possible translation issue

* added partial German translation

* added Italien translation (thanks to sangkavr)

= 1.2.7 =

* fixed translation files (thanks to sangkavr)

* fixed inconsistent text domains

* started with German translation

= 1.2.6 =

* layout updates to display condition box

* moved single post display condition to new layout

* individual post ids display condition is now only checked on singular pages

* added quick action buttons to overview page

* added debug output for display conditions (if WP_DEBUG is true)

* fixed bug with trashed ads still showing

* fixed admin notices appearing on overview page on the wrong place

* fixed display conditions for category of post and category archives interfered with each other

IMPORTANT: It is no longer possible to use the single post display condition to select individual posts where the ad is displayed and where it is hidden at the same time. This didn’t made sense before and is prevented now completely.

= 1.2.5 =

* fixed wrong links on overview page

* consider the “all” option for display conditions

* moved category archive ids display condition to new layout

* extended category archive ids to all category archive pages

* prevent a display condition option to be included and excluded at the same time

* optimized layout of overview page

* fix for php prior to 5.3

= 1.2.4 =

* fixed wrong links for ad groups and debug page

* display ad groups in ad list

= 1.2.3 =

major changes:

* added advanced js functions ([see some examples](

* moved taxonomies display condition to new layout

* rearranged the menu to fix its occasional disappearance

* added donation link – donations are very welcome 🙂

= 1.2.2 =

major changes:

* added overview page

* new layout for display condition check for post types

* added ad width and height values


* don’t display ads that are not published or visible to logged in users only

= 1.2.1 =

major changes:

* moved auto injections from ads to placements [PLEASE MOVE YOUR INJECTIONS THERE]

* added post content injections

* reading suggestion: [My test of AdSense Responsive Ads](

other fixes:

* fix bugs with ad weights throwing issues when not set

* removed public ad groups query

* updated arrays displayed on debug page

* ad groups are now displayed before ads in placements and ad widget

* added title to widget

= 1.2 =

* added widget for ads or ad groups

* added information on how to display ads, ad groups and ad placements

* tested with WordPress 4.0

* added filters and function to dynamically create a wrapper around the ad

* ! ad injection works on posts and pages now

* fixed excluded post types for ads

= 1.1.3 =

* minor changes for better extendability for the [sticky ads add-on](

= 1.1.2 =

* composer bugfix

* changes some unclear descriptions

* use group names instead of slug on placement page

* reenabled handles for metaboxes on ad edit screen

* added success message for placement updates

= 1.1.1 =

* added filter to be able to add own checks whether to display an ad or not

* added action to add content to the visitor metabox

* option to hide/disable ad conditions

* option to hide all ads from logged in users based on user roles

= 1.1.0 =

* allow displaying ads on mobile devices only or exclude from mobile devices

* auto inject ad into header, footer and post content

* display Ad id on Ad edit page

* hide Ad for groups if the Ad is not made public

* use Ad Placements to be more flexible when displaying ads or ad group in template files

* bugfixes

= 1.0.3 =

* bugfix added missing file to repository

= 1.0.2 =

* bugfix for editing ad weights in ad groups

* bugfix for autoloader

= 1.0.1 =

* several new hooks

* seperated settings and debug page

* few internal optimizations

* few bugfixes for php < 5.3

= 1.0 =

* first release