array( 'text' => sprintf( // translators: %1$s is a version number. __( 'Your PHP version (%1$s) is too low. Advanced Ads is built for PHP %2$s and higher. It might work, but updating PHP is highly recommended. Please ask your hosting provider for more information.', 'advanced-ads' ), phpversion(), Advanced_Ads_Checks::MINIMUM_PHP_VERSION ), 'type' => 'problem', ), // cache enabled, but not Advanced Ads Pro // checked using Advanced_Ads_Checks::cache() && ! defined( 'AAP_VERSION' ). 'cache_no_pro' => array( 'text' => sprintf( // translators: %s is a target URL. __( 'Your website uses cache. Some dynamic features like ad rotation or visitor conditions might not work properly. Use the cache-busting feature of Advanced Ads Pro to load ads dynamically.', 'advanced-ads' ), ADVADS_URL . 'add-ons/advanced-ads-pro/#utm_source=advanced-ads&utm_medium=link&utm_campaign=error-cache' ), 'type' => 'problem', ), // updates for Advanced Ads plugins are available // checked using Advanced_Ads_Checks::plugin_updates_available(). 'plugin_updates_available' => array( 'text' => __( 'There are plugin updates available. Please update.', 'advanced-ads' ), 'type' => 'problem', 'hide' => false, ), // Autoptimize found, but no Advanced Ads Pro // Advanced_Ads_Checks::active_autoptimize() && ! defined( 'AAP_VERSION' ) ). 'autoptimize_no_pro' => array( 'text' => sprintf( // translators: %s is a target URL. __( 'Autoptimize plugin detected. While this plugin is great for site performance, it is known to alter code, including scripts from ad networks. Advanced Ads Pro has a build-in support for Autoptimize.', 'advanced-ads' ), ADVADS_URL . 'add-ons/advanced-ads-pro/#utm_source=advanced-ads&utm_medium=link&utm_campaign=error-autoptimize' ), 'type' => 'problem', ), // conflicting plugins found // Advanced_Ads_Checks::conflicting_plugins(). 'conflicting_plugins' => array( 'text' => sprintf( // translators: %1$s is a list of plugin names; %2$s a target URL. __( 'Plugins that are known to cause (partial) problems: %1$s. Learn more.', 'advanced-ads' ), implode( ', ', Advanced_Ads_Checks::conflicting_plugins() ), ADVADS_URL . 'manual/known-plugin-conflicts/#utm_source=advanced-ads&utm_medium=link&utm_campaign=error-plugin-conflicts' ), 'type' => 'problem', ), // PHP extensions missing // Advanced_Ads_Checks::php_extensions(). 'php_extensions_missing' => array( 'text' => sprintf( // translators: %s is a list of PHP extensions. __( 'Missing PHP extensions could cause issues. Please ask your hosting provider to enable them: %s', 'advanced-ads' ), implode( ", ", Advanced_Ads_Checks::php_extensions() ) ), 'type' => 'problem', ), // ads are disabled // Advanced_Ads_Checks::ads_disabled(). 'ads_disabled' => array( 'text' => sprintf( // translators: %s is a target URL. __( 'Ads are disabled for all or some pages. See "disabled ads" in settings.', 'advanced-ads' ), admin_url( 'admin.php?page=advanced-ads-settings#top#general' ) ), 'type' => 'problem', ), // user is on wordpress.com // defined( 'IS_WPCOM' ). 'wp_com' => array( 'text' => __( 'This site is hosted on wordpress.com.', 'advanced-ads' ), 'type' => 'problem', ), // check if Advanced Ads related constants are enabled // Advanced_Ads_Checks::get_defined_constants(). 'constants_enabled' => array( 'text' => '' . esc_html__( 'Advanced Ads related constants enabled', 'advanced-ads' ) . '', 'type' => 'notice', ), // possible JavaScript conflicts // Advanced_Ads_Checks::jquery_ui_conflict(). 'jquery_ui_conflict' => array( 'text' => sprintf( // translators: %s is a target URL. __( 'Possible conflict between jQueryUI library, used by Advanced Ads and other libraries (probably Twitter Bootstrap). This might lead to misfortunate formats in forms, but should not damage features.', 'advanced-ads' ), 'http://getbootstrap.com/javascript/#js-noconflict' ), 'type' => 'problem', ), // adblocker assets expired // Advanced_Ads_Checks::assets_expired(). 'assets_expired' => array( 'text' => sprintf( // translators: %s is a target URL. __( 'Some assets were changed. Please rebuild the asset folder in the Advanced Ads settings to update the ad blocker disguise.', 'advanced-ads' ), admin_url( 'admin.php?page=advanced-ads-settings' ) ), 'type' => 'problem', 'hide' => true, ), // missing license codes // Advanced_Ads_Checks::license_invalid(). 'license_invalid' => array( 'text' => __( 'One or more license keys for Advanced Ads add-ons are invalid or missing.', 'advanced-ads' ) . ' ' . sprintf( // translators: %s is a target URL. __( 'Please add valid license keys here.', 'advanced-ads' ), get_admin_url( 1, 'admin.php?page=advanced-ads-settings#top#licenses' ) ), 'type' => 'problem', 'can_hide' => false, ), // an individual ad expired. 'ad_expired' => array( 'text' => __( 'Ad expired', 'advanced-ads' ) . ': ', 'type' => 'notice', 'hide' => false, ), // an individual ad expired // is checked in the frontend by Ad Health in Advanced_Ads_Frontend_Checks::can_use_head_placement(). 'ad_with_output_in_head' => array( // we keep the %s here and replace it with an empty string, because we use it somewhere else and don’t want to create a new string that is basically the same. 'text' => sprintf( // translators: %s is empty here, but the string will be followed by a name of an ad unit. __( 'Visible ads should not use the Header placement: %s', 'advanced-ads' ), '' ), 'type' => 'notice', 'hide' => false, 'get_help_link' => ADVADS_URL . 'manual/ad-health/?utm_source=advanced-ads&utm_medium=link&utm_campaign=error-visible-ad-in-header#header-ads', ), // ad AdSense ad was hidden in the frontend using CSS // check in Ad Health in frontend. 'adsense_hidden' => array( // we keep the %s here and replace it with an empty string, because we use it somewhere else and don’t want to create a new string that is basically the same. 'text' => sprintf( '%s: %s.', __( 'AdSense violation', 'advanced-ads' ), __( 'Ad is hidden', 'advanced-ads' ) ), 'type' => 'problem', 'hide' => false, 'get_help_link' => ADVADS_URL . 'adsense-errors/?utm_source=advanced-ads&utm_medium=link&utm_campaign=error-adsense-hidden#AdSense_hidden', ), // Ad has HTTP, but site uses HTTPS // check in Ad Health in frontend. 'ad_has_http' => array( 'text' => __( 'Your website is using HTTPS, but the ad code contains HTTP and might not work.', 'advanced-ads' ), 'type' => 'notice', 'hide' => false, 'get_help_link' => ADVADS_URL . 'manual/ad-health/?utm_source=advanced-ads&utm_medium=link&utm_campaign=error-https-ads#https-ads', ), // dummy text for general AdSense issue. 'adsense_issue' => array( // we keep the %s here and replace it with an empty string, because we use it somewhere else and don’t want to create a new string that is basically the same. 'text' => __( 'AdSense issue' ), 'type' => 'problem', ), // no ads created, yet. 'no_ads' => array( // we keep the %s here and replace it with an empty string, because we use it somewhere else and don’t want to create a new string that is basically the same. 'text' => '' . __( 'Create your first ad', 'advanced-ads' ) . '.', 'type' => 'notice', ), // AdSense connection error: disapproved account. 'adsense_connect_disapprovedAccount' => array( 'text' => __( 'Last AdSense account connection attempt failed.', 'advanced-ads' ) . ' ' . __( 'Your account was not approved by AdSense.', 'advance-ads' ) . ' ' . Advanced_Ads_Ad_Health_Notices::get_adsense_error_link( 'disapprovedAccount' ), 'type' => 'problem', 'hide' => false, ), // AdSense connection error: no adsense account. 'adsense_connect_noAdSenseAccount' => array( 'text' => sprintf( __( 'Last AdSense account connection attempt failed.', 'advanced-ads' ) . ' ' . __( 'Create a new AdSense account %1$shere%2$s.', 'advance-ads' ) . ' ' . Advanced_Ads_Ad_Health_Notices::get_adsense_error_link( 'noAdSenseAccount' ), '', '' ), 'type' => 'problem', 'hide' => false, ), // AdSense account alert. 'adsense_alert_ALERT_TYPE_ADS_TXT_UNAUTHORIZED' => array( 'text' => __( 'One of your sites is missing the AdSense publisher ID in the ads.txt file.', 'advanced-ads' ) . ' ' . Advanced_Ads_Ad_Health_Notices::get_adsense_error_link( 'ALERT_TYPE_ADS_TXT_UNAUTHORIZED' ), 'type' => 'problem', ), ) );