Version Description
(October 25, 2022) =
- Improvement: align the ad image preview in the Ad Parameters with other options
- Improvement: order ads on the groups page by weight first and then by ad title
- Fix: remove superfluous output above hints about cache-busting
- Fix: ensure "Expired" and "Expiring" view stay active, when posts list is filtered or searched
- Fix: allow saving an ad with an invalid user if the user was already the author of this ad
- Fix: show a notice if positioning is used with responsive AdSense ads
Download this release
Release Info
Developer | advancedads |
Plugin | Advanced Ads |
Version | 1.37.1 |
Comparing to | |
See all releases |
Code changes from version 1.37.0 to 1.37.1
- admin/assets/css/admin.css +3 -1
- admin/assets/js/admin.js +6 -5
- admin/includes/ad-authors.php +5 -5
- admin/includes/class-ad-groups-list.php +33 -5
- admin/includes/class-list-filters.php +21 -0
- admin/includes/class-overview-widgets.php +1 -24
- admin/views/group-hints.php +0 -1
- admin/views/modal.php +1 -1
- admin/views/settings.php +1 -1
- admin/views/upgrades/all-access.php +0 -1
- admin/views/upgrades/pro-tab.php +1 -0
- advanced-ads.php +2 -2
- changelog.txt +22 -12
- classes/ad_type_image.php +20 -19
- classes/plugin.php +0 -1
- classes/visitor-conditions.php +1 -3
- languages/advanced-ads.pot +82 -86
- lib/autoload.php +15 -2
- modules/gadsense/admin/assets/js/adsense.js +2 -2
- readme.txt +10 -2
admin/assets/css/admin.css
CHANGED
@@ -303,7 +303,9 @@ select + .advads-conditions-single { display: inline-flex; flex-wrap: wrap; alig
|
|
303 |
#advads-image-url,
|
304 |
#advads-image-title,
|
305 |
#advads-image-alt { width: 80%; }
|
306 |
-
|
|
|
|
|
307 |
#advads-image-preview img { max-width: 100%; height: auto; }
|
308 |
|
309 |
/* Wizard adjustments */
|
303 |
#advads-image-url,
|
304 |
#advads-image-title,
|
305 |
#advads-image-alt { width: 80%; }
|
306 |
+
.advads_image_upload { font-weight: normal; }
|
307 |
+
#advads-image-edit-link { text-decoration: none; vertical-align: top; }
|
308 |
+
#advads-image-preview { display: inline-block; max-width: calc(100% - 2em) }
|
309 |
#advads-image-preview img { max-width: 100%; height: auto; }
|
310 |
|
311 |
/* Wizard adjustments */
|
admin/assets/js/admin.js
CHANGED
@@ -619,7 +619,8 @@ jQuery( document ).ready( function ( $ ) {
|
|
619 |
var new_image = '<img width="' + attachment.width + '" height="' + attachment.height +
|
620 |
'" title="' + attachment.title + '" alt="' + attachment.alt + '" src="' + attachment.url + '"/>'
|
621 |
$( '#advads-image-preview' ).html( new_image )
|
622 |
-
$( '#advads-image-edit-link' ).attr( 'href', attachment.editLink )
|
|
|
623 |
// process "reserve this space" checkbox
|
624 |
$( '#advanced-ads-ad-parameters-size input[type=number]:first' ).trigger( 'change' );
|
625 |
}
|
@@ -740,8 +741,8 @@ jQuery( document ).ready( function ( $ ) {
|
|
740 |
} );
|
741 |
} )
|
742 |
|
743 |
-
function modal_submit_form( event, ID, validation = '' ) {
|
744 |
-
if ( validation !== '' && ! window[validation]() ) {
|
745 |
event.preventDefault();
|
746 |
return;
|
747 |
}
|
@@ -816,9 +817,9 @@ function advads_toggle_box_enable ( e, selector ) {
|
|
816 |
}
|
817 |
|
818 |
/**
|
819 |
-
*
|
820 |
*/
|
821 |
-
function advads_validate_placement_form () {
|
822 |
// check if placement type was selected
|
823 |
if ( ! jQuery( '.advads-placement-type input:checked' ).length ) {
|
824 |
jQuery( '.advads-placement-type-error' ).show()
|
619 |
var new_image = '<img width="' + attachment.width + '" height="' + attachment.height +
|
620 |
'" title="' + attachment.title + '" alt="' + attachment.alt + '" src="' + attachment.url + '"/>'
|
621 |
$( '#advads-image-preview' ).html( new_image )
|
622 |
+
$( '#advads-image-edit-link' ).attr( 'href', attachment.editLink );
|
623 |
+
$( '#advads-image-edit-link' ).removeClass( 'hidden' );
|
624 |
// process "reserve this space" checkbox
|
625 |
$( '#advanced-ads-ad-parameters-size input[type=number]:first' ).trigger( 'change' );
|
626 |
}
|
741 |
} );
|
742 |
} )
|
743 |
|
744 |
+
function modal_submit_form( event, ID, modalID, validation = '' ) {
|
745 |
+
if ( validation !== '' && ! window[validation]( modalID ) ) {
|
746 |
event.preventDefault();
|
747 |
return;
|
748 |
}
|
817 |
}
|
818 |
|
819 |
/**
|
820 |
+
* Validate placement form on submit.
|
821 |
*/
|
822 |
+
function advads_validate_placement_form (modalID) {
|
823 |
// check if placement type was selected
|
824 |
if ( ! jQuery( '.advads-placement-type input:checked' ).length ) {
|
825 |
jQuery( '.advads-placement-type-error' ).show()
|
admin/includes/ad-authors.php
CHANGED
@@ -107,11 +107,11 @@ class Advanced_Ads_Ad_Authors {
|
|
107 |
* @return void
|
108 |
*/
|
109 |
public function sanitize_author_saving( $post_id, $data ) {
|
110 |
-
if (
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
return;
|
116 |
}
|
117 |
|
107 |
* @return void
|
108 |
*/
|
109 |
public function sanitize_author_saving( $post_id, $data ) {
|
110 |
+
if (
|
111 |
+
get_post_type( $post_id ) !== Advanced_Ads::POST_TYPE_SLUG
|
112 |
+
|| (int) $data['post_author'] === get_current_user_id()
|
113 |
+
|| (int) $data['post_author'] === (int) get_post_field( 'post_author', $post_id )
|
114 |
+
) {
|
115 |
return;
|
116 |
}
|
117 |
|
admin/includes/class-ad-groups-list.php
CHANGED
@@ -116,9 +116,8 @@ class Advanced_Ads_Groups_List {
|
|
116 |
// query ads.
|
117 |
$ads = $this->get_ads( $group );
|
118 |
$weights = $group->get_ad_weights( wp_list_pluck( $ads->posts, 'ID' ) );
|
119 |
-
$ad_form_rows = $weights;
|
120 |
-
|
121 |
-
$max_weight = Advanced_Ads_Group::get_max_ad_weight( $ads->post_count );
|
122 |
|
123 |
// The Loop.
|
124 |
if ( $ads->post_count ) {
|
@@ -169,8 +168,7 @@ class Advanced_Ads_Groups_List {
|
|
169 |
return get_post_status( $post ) === 'publish';
|
170 |
} ) );
|
171 |
$weight_sum = array_sum( array_intersect_key( $weights, array_flip( $published_ads ) ) );
|
172 |
-
$ads_output = $weights;
|
173 |
-
arsort( $ads_output );
|
174 |
|
175 |
// The Loop.
|
176 |
if ( $ads->have_posts() ) {
|
@@ -620,4 +618,34 @@ class Advanced_Ads_Groups_List {
|
|
620 |
return $sanitized_weights;
|
621 |
}
|
622 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
623 |
}
|
116 |
// query ads.
|
117 |
$ads = $this->get_ads( $group );
|
118 |
$weights = $group->get_ad_weights( wp_list_pluck( $ads->posts, 'ID' ) );
|
119 |
+
$ad_form_rows = $this->get_weighted_ad_order( $weights );
|
120 |
+
$max_weight = Advanced_Ads_Group::get_max_ad_weight( $ads->post_count );
|
|
|
121 |
|
122 |
// The Loop.
|
123 |
if ( $ads->post_count ) {
|
168 |
return get_post_status( $post ) === 'publish';
|
169 |
} ) );
|
170 |
$weight_sum = array_sum( array_intersect_key( $weights, array_flip( $published_ads ) ) );
|
171 |
+
$ads_output = $this->get_weighted_ad_order( $weights );
|
|
|
172 |
|
173 |
// The Loop.
|
174 |
if ( $ads->have_posts() ) {
|
618 |
return $sanitized_weights;
|
619 |
}
|
620 |
|
621 |
+
/**
|
622 |
+
* Order the ad list by weight first and then by title.
|
623 |
+
*
|
624 |
+
* @param array<int, int> $weights indexed by ad_id, weight as value.
|
625 |
+
*
|
626 |
+
* @return array<int, int>
|
627 |
+
*/
|
628 |
+
private function get_weighted_ad_order( array $weights ) {
|
629 |
+
arsort( $weights );
|
630 |
+
$ad_title_weights = array();
|
631 |
+
|
632 |
+
// index ads with the same weight by weight.
|
633 |
+
foreach ( $weights as $ad_id => $weight ) {
|
634 |
+
$ad_title_weights[ $weight ][ $ad_id ] = get_the_title( $ad_id );
|
635 |
+
}
|
636 |
+
|
637 |
+
// order them by title
|
638 |
+
array_walk( $ad_title_weights, static function( &$weight_group ) {
|
639 |
+
natsort( $weight_group );
|
640 |
+
} );
|
641 |
+
|
642 |
+
// flatten the array with the ad_id as key and the weight as value
|
643 |
+
$ad_order = array();
|
644 |
+
foreach ( $ad_title_weights as $weight => $ad_array ) {
|
645 |
+
$ad_order += array_fill_keys( array_keys( $ad_array ), $weight );
|
646 |
+
}
|
647 |
+
|
648 |
+
return $ad_order;
|
649 |
+
}
|
650 |
+
|
651 |
}
|
admin/includes/class-list-filters.php
CHANGED
@@ -67,6 +67,8 @@ class Advanced_Ads_Ad_List_Filters {
|
|
67 |
|
68 |
add_filter( 'views_edit-' . Advanced_Ads::POST_TYPE_SLUG, array( $this, 'add_expired_view' ) );
|
69 |
add_filter( 'views_edit-' . Advanced_Ads::POST_TYPE_SLUG, array( $this, 'add_expiring_view' ) );
|
|
|
|
|
70 |
add_action( 'manage_posts_extra_tablenav', array( $this, 'ad_views' ) );
|
71 |
add_action( 'admin_enqueue_scripts', array( $this, 'ad_list_scripts' ), 11 );
|
72 |
}
|
@@ -756,4 +758,23 @@ class Advanced_Ads_Ad_List_Filters {
|
|
756 |
});
|
757 |
" );
|
758 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
759 |
}
|
67 |
|
68 |
add_filter( 'views_edit-' . Advanced_Ads::POST_TYPE_SLUG, array( $this, 'add_expired_view' ) );
|
69 |
add_filter( 'views_edit-' . Advanced_Ads::POST_TYPE_SLUG, array( $this, 'add_expiring_view' ) );
|
70 |
+
add_action( 'restrict_manage_posts', array( $this, 'send_addate_in_filter' ) );
|
71 |
+
|
72 |
add_action( 'manage_posts_extra_tablenav', array( $this, 'ad_views' ) );
|
73 |
add_action( 'admin_enqueue_scripts', array( $this, 'ad_list_scripts' ), 11 );
|
74 |
}
|
758 |
});
|
759 |
" );
|
760 |
}
|
761 |
+
|
762 |
+
/**
|
763 |
+
* If there is an addate dimension, add it to the filter.
|
764 |
+
* This ensures that the "view" buttons for expiring and expired ads
|
765 |
+
* maintain the `.current` class.
|
766 |
+
*
|
767 |
+
* @return void
|
768 |
+
*/
|
769 |
+
public function send_addate_in_filter() {
|
770 |
+
if (
|
771 |
+
! isset( $_GET['post_type'] )
|
772 |
+
|| $_GET['post_type'] !== Advanced_Ads::POST_TYPE_SLUG
|
773 |
+
|| empty( $_GET['addate'] )
|
774 |
+
) {
|
775 |
+
return;
|
776 |
+
}
|
777 |
+
|
778 |
+
printf( '<input type="hidden" name="addate" value="%s">', esc_attr( $_GET['addate'] ) );
|
779 |
+
}
|
780 |
}
|
admin/includes/class-overview-widgets.php
CHANGED
@@ -430,6 +430,7 @@ endif;
|
|
430 |
<li><?php esc_html_e( '11 more display and visitor conditions', 'advanced-ads' ); ?></li>
|
431 |
<li><?php esc_html_e( '6 more placements', 'advanced-ads' ); ?></li>
|
432 |
<li><?php esc_html_e( 'placement tests for ad optimization', 'advanced-ads' ); ?></li>
|
|
|
433 |
<li><?php esc_html_e( 'ad grids and many more advanced features', 'advanced-ads' ); ?></li>
|
434 |
</ul>
|
435 |
<?php
|
@@ -473,12 +474,6 @@ endif;
|
|
473 |
'link' => ADVADS_URL . 'add-ons/popup-and-layer-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=overview-add-ons',
|
474 |
'order' => 5,
|
475 |
),
|
476 |
-
'geo' => array(
|
477 |
-
'title' => 'Geo Targeting',
|
478 |
-
'desc' => __( 'Target visitors with ads that match their geo location and make more money with regional campaigns.', 'advanced-ads' ),
|
479 |
-
'link' => ADVADS_URL . 'add-ons/geo-targeting/?utm_source=advanced-ads&utm_medium=link&utm_campaign=overview-add-ons',
|
480 |
-
'order' => 5,
|
481 |
-
),
|
482 |
'selling' => array(
|
483 |
'title' => 'Selling Ads',
|
484 |
'desc' => __( 'Earn more money and let advertisers pay for ad space directly on the frontend of your site.', 'advanced-ads' ),
|
@@ -644,24 +639,6 @@ endif;
|
|
644 |
}
|
645 |
}
|
646 |
|
647 |
-
// GEO TARGETING.
|
648 |
-
if ( isset( $installed_plugins['advanced-ads-geo/advanced-ads-geo.php'] ) && ! class_exists( 'Advanced_Ads_Geo_Plugin' ) ) { // is installed, but not active.
|
649 |
-
$add_ons['geo']['link'] = wp_nonce_url( 'plugins.php?action=activate&plugin=advanced-ads-geo/advanced-ads-geo.php&', 'activate-plugin_advanced-ads-geo/advanced-ads-geo.php' );
|
650 |
-
$add_ons['geo']['link_title'] = __( 'Activate now', 'advanced-ads' );
|
651 |
-
$installed_pro_plugins++;
|
652 |
-
} elseif ( class_exists( 'Advanced_Ads_Geo_Plugin' ) ) {
|
653 |
-
$add_ons['geo']['link'] = ADVADS_URL . 'manual/geo-targeting-condition/?utm_source=advanced-ads&utm_medium=link&utm_campaign=overview-add-ons-manual';
|
654 |
-
$add_ons['geo']['desc'] = '';
|
655 |
-
$add_ons['geo']['installed'] = true;
|
656 |
-
$add_ons['geo']['order'] = 20;
|
657 |
-
$installed_pro_plugins++;
|
658 |
-
|
659 |
-
// remove the add-on.
|
660 |
-
if ( $hide_activated ) {
|
661 |
-
unset( $add_ons['geo'] );
|
662 |
-
}
|
663 |
-
}
|
664 |
-
|
665 |
// SLIDER.
|
666 |
if ( isset( $installed_plugins['advanced-ads-slider/slider.php'] ) && ! class_exists( 'Advanced_Ads_Slider_Plugin' ) ) { // is installed, but not active.
|
667 |
$add_ons['slider']['link'] = wp_nonce_url( 'plugins.php?action=activate&plugin=advanced-ads-slider/slider.php&', 'activate-plugin_advanced-ads-slider/slider.php' );
|
430 |
<li><?php esc_html_e( '11 more display and visitor conditions', 'advanced-ads' ); ?></li>
|
431 |
<li><?php esc_html_e( '6 more placements', 'advanced-ads' ); ?></li>
|
432 |
<li><?php esc_html_e( 'placement tests for ad optimization', 'advanced-ads' ); ?></li>
|
433 |
+
<li><?php esc_html_e( 'Geo Targeting', 'advanced-ads' ); ?></li>
|
434 |
<li><?php esc_html_e( 'ad grids and many more advanced features', 'advanced-ads' ); ?></li>
|
435 |
</ul>
|
436 |
<?php
|
474 |
'link' => ADVADS_URL . 'add-ons/popup-and-layer-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=overview-add-ons',
|
475 |
'order' => 5,
|
476 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
477 |
'selling' => array(
|
478 |
'title' => 'Selling Ads',
|
479 |
'desc' => __( 'Earn more money and let advertisers pay for ad space directly on the frontend of your site.', 'advanced-ads' ),
|
639 |
}
|
640 |
}
|
641 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
642 |
// SLIDER.
|
643 |
if ( isset( $installed_plugins['advanced-ads-slider/slider.php'] ) && ! class_exists( 'Advanced_Ads_Slider_Plugin' ) ) { // is installed, but not active.
|
644 |
$add_ons['slider']['link'] = wp_nonce_url( 'plugins.php?action=activate&plugin=advanced-ads-slider/slider.php&', 'activate-plugin_advanced-ads-slider/slider.php' );
|
admin/views/group-hints.php
CHANGED
@@ -6,7 +6,6 @@
|
|
6 |
*/
|
7 |
?>
|
8 |
<?php foreach ( $hints as $hint ) : ?>
|
9 |
-
?>
|
10 |
<p class="advads-notice-inline advads-error">
|
11 |
<?php
|
12 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- the output is already escaped
|
6 |
*/
|
7 |
?>
|
8 |
<?php foreach ( $hints as $hint ) : ?>
|
|
|
9 |
<p class="advads-notice-inline advads-error">
|
10 |
<?php
|
11 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- the output is already escaped
|
admin/views/modal.php
CHANGED
@@ -20,7 +20,7 @@ $close_validation = isset( $close_validation ) ? $close_validation : '';
|
|
20 |
<script>
|
21 |
document.addEventListener( 'DOMContentLoaded', function () {
|
22 |
document.querySelector( '#modal-<?php echo esc_attr( $modal_slug ); ?> .advads-modal-close-action' ).addEventListener( 'click', function ( event ) {
|
23 |
-
modal_submit_form( event, '<?php echo esc_attr( $close_form ); ?>', '<?php echo esc_attr( $close_validation ); ?>' );
|
24 |
} );
|
25 |
} );
|
26 |
</script>
|
20 |
<script>
|
21 |
document.addEventListener( 'DOMContentLoaded', function () {
|
22 |
document.querySelector( '#modal-<?php echo esc_attr( $modal_slug ); ?> .advads-modal-close-action' ).addEventListener( 'click', function ( event ) {
|
23 |
+
modal_submit_form( event, '<?php echo esc_attr( $close_form ); ?>', '#modal-<?php echo esc_attr( $modal_slug ); ?>', '<?php echo esc_attr( $close_validation ); ?>' );
|
24 |
} );
|
25 |
} );
|
26 |
</script>
|
admin/views/settings.php
CHANGED
@@ -131,7 +131,7 @@ jQuery( '.advads-tab-sub-menu' ).each( function( key, e ){
|
|
131 |
advads_settings_parent_tab = jQuery( e ).parent( '.advads-tab');
|
132 |
var headlines = advads_settings_parent_tab.find( 'h2' );
|
133 |
// create list
|
134 |
-
if( headlines.length ){
|
135 |
advads_submenu_list = jQuery('<ul>');
|
136 |
headlines.each( function( key, h ){
|
137 |
// create anchor for this headline
|
131 |
advads_settings_parent_tab = jQuery( e ).parent( '.advads-tab');
|
132 |
var headlines = advads_settings_parent_tab.find( 'h2' );
|
133 |
// create list
|
134 |
+
if( headlines.length > 1 ){
|
135 |
advads_submenu_list = jQuery('<ul>');
|
136 |
headlines.each( function( key, h ){
|
137 |
// create anchor for this headline
|
admin/views/upgrades/all-access.php
CHANGED
@@ -4,7 +4,6 @@
|
|
4 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'Tracking'; ?></li>
|
5 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'Responsive, AMP and Mobile ads'; ?></li>
|
6 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'Google Ad Manager Integration'; ?></li>
|
7 |
-
<li><span class="dashicons dashicons-yes"></span><?php echo 'Geo Targeting'; ?></li>
|
8 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'Sticky Ads'; ?></li>
|
9 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'PopUp Ads'; ?></li>
|
10 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'Selling Ads'; ?></li>
|
4 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'Tracking'; ?></li>
|
5 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'Responsive, AMP and Mobile ads'; ?></li>
|
6 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'Google Ad Manager Integration'; ?></li>
|
|
|
7 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'Sticky Ads'; ?></li>
|
8 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'PopUp Ads'; ?></li>
|
9 |
<li><span class="dashicons dashicons-yes"></span><?php echo 'Selling Ads'; ?></li>
|
admin/views/upgrades/pro-tab.php
CHANGED
@@ -5,6 +5,7 @@
|
|
5 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( 'Click Fraud Protection', 'advanced-ads' ); ?></li>
|
6 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( 'Lazy Loading', 'advanced-ads' ); ?></li>
|
7 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( 'support for cached sites', 'advanced-ads' ); ?></li>
|
|
|
8 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( '11 more display and visitor conditions', 'advanced-ads' ); ?></li>
|
9 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( '6 more placements', 'advanced-ads' ); ?></li>
|
10 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( 'placement tests for ad optimization', 'advanced-ads' ); ?></li>
|
5 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( 'Click Fraud Protection', 'advanced-ads' ); ?></li>
|
6 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( 'Lazy Loading', 'advanced-ads' ); ?></li>
|
7 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( 'support for cached sites', 'advanced-ads' ); ?></li>
|
8 |
+
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( 'Geo Targeting', 'advanced-ads' ); ?></li>
|
9 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( '11 more display and visitor conditions', 'advanced-ads' ); ?></li>
|
10 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( '6 more placements', 'advanced-ads' ); ?></li>
|
11 |
<li><span class="dashicons dashicons-yes"></span><?php esc_html_e( 'placement tests for ad optimization', 'advanced-ads' ); ?></li>
|
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.37.
|
16 |
* Author: Thomas Maier, Advanced Ads GmbH
|
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.37.
|
43 |
|
44 |
// Autoloading, modules and functions.
|
45 |
|
12 |
* Plugin Name: Advanced Ads
|
13 |
* Plugin URI: https://wpadvancedads.com
|
14 |
* Description: Manage and optimize your ads in WordPress
|
15 |
+
* Version: 1.37.1
|
16 |
* Author: Thomas Maier, Advanced Ads GmbH
|
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.37.1' );
|
43 |
|
44 |
// Autoloading, modules and functions.
|
45 |
|
changelog.txt
CHANGED
@@ -1,23 +1,33 @@
|
|
1 |
== Changelog ==
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
= 1.37.0 (October 11, 2022) =
|
4 |
|
5 |
- Feature: bump minimum required PHP version to 7.2
|
6 |
-
- Improvement:
|
7 |
-
- Improvement:
|
8 |
-
- Improvement:
|
9 |
-
- Improvement:
|
10 |
-
-
|
11 |
- Improvement: hide the following columns on the ad list view by default: notes, size, author
|
12 |
- Improvement: remove the background color for some ad status, like draft
|
13 |
-
- Improvement:
|
14 |
-
- Improvement:
|
15 |
-
- Improvement:
|
16 |
-
- Improvement:
|
17 |
-
- Improvement:
|
18 |
-
- Improvement:
|
19 |
-
- Fix:
|
20 |
- Fix: show proper message for empty AdSense account
|
|
|
21 |
|
22 |
= 1.36.3 (September 30, 2022) =
|
23 |
|
1 |
== Changelog ==
|
2 |
|
3 |
+
= 1.37.1 (October 25, 2022) =
|
4 |
+
|
5 |
+
- Improvement: align the ad image preview in the Ad Parameters with other options
|
6 |
+
- Improvement: order ads on the groups page by weight first and then by ad title
|
7 |
+
- Fix: remove superfluous output above hints about cache-busting
|
8 |
+
- Fix: ensure "Expired" and "Expiring" view stay active, when posts list is filtered or searched
|
9 |
+
- Fix: allow saving an ad with an invalid user if the user was already the author of this ad
|
10 |
+
- Fix: show a notice if positioning is used with responsive AdSense ads
|
11 |
+
|
12 |
= 1.37.0 (October 11, 2022) =
|
13 |
|
14 |
- Feature: bump minimum required PHP version to 7.2
|
15 |
+
- Improvement: cleanup of the header items on list pages in the admin and unified layout elements
|
16 |
+
- Improvement: show filters and search options on the ad, group, and placement list pages with the new Filters button in the page header
|
17 |
+
- Improvement: show filters on the ad overview list permanently using the new Show Filters Permanently screen option
|
18 |
+
- Improvement: unify the links and buttons in the header of admin pages related to Advanced Ads
|
19 |
+
- Improvement: show the bulk options only when items in the ad list are selected
|
20 |
- Improvement: hide the following columns on the ad list view by default: notes, size, author
|
21 |
- Improvement: remove the background color for some ad status, like draft
|
22 |
+
- Improvement: add a new "Type" column to the beginning of the ad list with a tooltip with more details
|
23 |
+
- Improvement: add a new "Size" column for the ad size only
|
24 |
+
- Improvement: add a "Notes" column for the ad description
|
25 |
+
- Improvement: rename the "Title" Column into "Name"
|
26 |
+
- Improvement: rename the Ad Details column into "Preview", showing only image ad previews
|
27 |
+
- Improvement: search ad by post ID on the ad overview page
|
28 |
+
- Fix: "All" view on the ad list not highlighted
|
29 |
- Fix: show proper message for empty AdSense account
|
30 |
+
- Fix: prevent undefined index notice on Ad Blocker setting in multisite
|
31 |
|
32 |
= 1.36.3 (September 30, 2022) =
|
33 |
|
classes/ad_type_image.php
CHANGED
@@ -39,29 +39,30 @@ class Advanced_Ads_Ad_Type_Image extends Advanced_Ads_Ad_Type_Abstract {
|
|
39 |
* Output for the ad parameters metabox
|
40 |
*
|
41 |
* @param Advanced_Ads_Ad $ad ad object.
|
|
|
|
|
42 |
*/
|
43 |
public function render_parameters( Advanced_Ads_Ad $ad ) {
|
44 |
-
|
45 |
-
$
|
46 |
-
$
|
47 |
|
48 |
-
?><
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
<div id="advads-image-preview">
|
63 |
-
<?php $this->create_image_tag( $id, $ad ); ?>
|
64 |
</div>
|
|
|
65 |
<?php
|
66 |
// don’t show if tracking plugin enabled
|
67 |
if ( ! defined( 'AAT_VERSION' ) ) :
|
39 |
* Output for the ad parameters metabox
|
40 |
*
|
41 |
* @param Advanced_Ads_Ad $ad ad object.
|
42 |
+
*
|
43 |
+
* @return void
|
44 |
*/
|
45 |
public function render_parameters( Advanced_Ads_Ad $ad ) {
|
46 |
+
$id = isset( $ad->output['image_id'] ) ? $ad->output['image_id'] : '';
|
47 |
+
$url = isset( $ad->url ) ? esc_attr( $ad->url ) : '';
|
48 |
+
$edit_link = $id ? get_edit_post_link( $id ) : '';
|
49 |
|
50 |
+
?><span class="label">
|
51 |
+
<button href="#" class="advads_image_upload button advads-button-secondary" type="button"
|
52 |
+
data-uploader-title="<?php esc_attr_e( 'Insert File', 'advanced-ads' ); ?>"
|
53 |
+
data-uploader-button-text="<?php esc_attr_e( 'Insert', 'advanced-ads' ); ?>"
|
54 |
+
onclick="return false;">
|
55 |
+
<?php esc_html_e( 'Select image', 'advanced-ads' ); ?>
|
56 |
+
</button>
|
57 |
+
</span>
|
58 |
+
<div>
|
59 |
+
<input type="hidden" name="advanced_ad[output][image_id]" value="<?php echo absint( $id ); ?>" id="advads-image-id"/>
|
60 |
+
<div id="advads-image-preview">
|
61 |
+
<?php $this->create_image_tag( $id, $ad ); ?>
|
62 |
+
</div>
|
63 |
+
<a id="advads-image-edit-link" class="<?php echo ! $edit_link ? 'hidden' : ''; ?>" href="<?php echo esc_url( $edit_link ); ?>"><span class="dashicons dashicons-edit"></span></a>
|
|
|
|
|
64 |
</div>
|
65 |
+
<hr/>
|
66 |
<?php
|
67 |
// don’t show if tracking plugin enabled
|
68 |
if ( ! defined( 'AAT_VERSION' ) ) :
|
classes/plugin.php
CHANGED
@@ -752,7 +752,6 @@ class Advanced_Ads_Plugin {
|
|
752 |
|| defined( 'AASADS_VERSION' ) // Sticky Ads.
|
753 |
|| defined( 'AAR_VERSION' ) // Responsive Ads.
|
754 |
|| defined( 'AAPLDS_VERSION' ) // PopUp and Layer Ads.
|
755 |
-
|| defined( 'AAGT_SLUG' ) // Geo-Targeting.
|
756 |
);
|
757 |
}
|
758 |
|
752 |
|| defined( 'AASADS_VERSION' ) // Sticky Ads.
|
753 |
|| defined( 'AAR_VERSION' ) // Responsive Ads.
|
754 |
|| defined( 'AAPLDS_VERSION' ) // PopUp and Layer Ads.
|
|
|
755 |
);
|
756 |
}
|
757 |
|
classes/visitor-conditions.php
CHANGED
@@ -273,14 +273,12 @@ class Advanced_Ads_Visitor_Conditions {
|
|
273 |
$pro_conditions[] = __( 'max. ad impressions', 'advanced-ads' );
|
274 |
$pro_conditions[] = __( 'new visitor', 'advanced-ads' );
|
275 |
$pro_conditions[] = __( 'page impressions', 'advanced-ads' );
|
|
|
276 |
$pro_conditions[] = __( 'referrer url', 'advanced-ads' );
|
277 |
$pro_conditions[] = __( 'user agent', 'advanced-ads' );
|
278 |
$pro_conditions[] = __( 'user can (capabilities)', 'advanced-ads' );
|
279 |
$pro_conditions[] = __( 'user role', 'advanced-ads' );
|
280 |
}
|
281 |
-
if ( ! defined( 'AAGT_VERSION' ) ) {
|
282 |
-
$pro_conditions[] = __( 'geo location', 'advanced-ads' );
|
283 |
-
}
|
284 |
if ( ! defined( 'AAR_VERSION' ) ) {
|
285 |
$pro_conditions[] = __( 'browser width', 'advanced-ads' );
|
286 |
}
|
273 |
$pro_conditions[] = __( 'max. ad impressions', 'advanced-ads' );
|
274 |
$pro_conditions[] = __( 'new visitor', 'advanced-ads' );
|
275 |
$pro_conditions[] = __( 'page impressions', 'advanced-ads' );
|
276 |
+
$pro_conditions[] = __( 'geo location', 'advanced-ads' );
|
277 |
$pro_conditions[] = __( 'referrer url', 'advanced-ads' );
|
278 |
$pro_conditions[] = __( 'user agent', 'advanced-ads' );
|
279 |
$pro_conditions[] = __( 'user can (capabilities)', 'advanced-ads' );
|
280 |
$pro_conditions[] = __( 'user role', 'advanced-ads' );
|
281 |
}
|
|
|
|
|
|
|
282 |
if ( ! defined( 'AAR_VERSION' ) ) {
|
283 |
$pro_conditions[] = __( 'browser width', 'advanced-ads' );
|
284 |
}
|
languages/advanced-ads.pot
CHANGED
@@ -2,14 +2,14 @@
|
|
2 |
# This file is distributed under the GPL-2.0+.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Advanced Ads 1.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/advanced-ads/\n"
|
7 |
"Last-Translator: Thomas Maier <post@webzunft.de>\n"
|
8 |
"Language-Team: webgilde <support@wpadvancedads.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"POT-Creation-Date: 2022-10-
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.6.0\n"
|
15 |
"X-Domain: advanced-ads\n"
|
@@ -34,7 +34,7 @@ msgstr ""
|
|
34 |
|
35 |
#: admin/class-advanced-ads-admin.php:224
|
36 |
#: classes/display-conditions.php:317
|
37 |
-
#: classes/visitor-conditions.php:
|
38 |
#: modules/gadsense/admin/views/external-ads-links.php:17
|
39 |
#: modules/gadsense/admin/views/external-ads-links.php:22
|
40 |
#: modules/gadsense/admin/views/external-ads-links.php:29
|
@@ -43,7 +43,7 @@ msgstr ""
|
|
43 |
|
44 |
#: admin/class-advanced-ads-admin.php:225
|
45 |
#: classes/display-conditions.php:317
|
46 |
-
#: classes/visitor-conditions.php:
|
47 |
msgid "and"
|
48 |
msgstr ""
|
49 |
|
@@ -302,67 +302,67 @@ msgstr ""
|
|
302 |
msgid "Learn how."
|
303 |
msgstr ""
|
304 |
|
305 |
-
#: admin/includes/class-ad-groups-list.php:
|
306 |
msgid "Ad weight"
|
307 |
msgstr ""
|
308 |
|
309 |
#. translators: %s is a date.
|
310 |
-
#: admin/includes/class-ad-groups-list.php:
|
311 |
#: admin/views/ad-list/timing.php:21
|
312 |
msgid "starts %s"
|
313 |
msgstr ""
|
314 |
|
315 |
#. translators: %s is a date.
|
316 |
#. translators: %s is a time and date string.
|
317 |
-
#: admin/includes/class-ad-groups-list.php:
|
318 |
#: admin/views/ad-list/timing.php:59
|
319 |
msgid "expires %s"
|
320 |
msgstr ""
|
321 |
|
322 |
#. translators: %s is a date.
|
323 |
#. translators: %s is a time and date string.
|
324 |
-
#: admin/includes/class-ad-groups-list.php:
|
325 |
#: admin/views/ad-list/timing.php:70
|
326 |
msgid "<strong>expired</strong> %s"
|
327 |
msgstr ""
|
328 |
|
329 |
#. translators: %d is a number.
|
330 |
-
#: admin/includes/class-ad-groups-list.php:
|
331 |
msgid "show %d more ads"
|
332 |
msgstr ""
|
333 |
|
334 |
-
#: admin/includes/class-ad-groups-list.php:
|
335 |
msgid "No ads assigned"
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: admin/includes/class-ad-groups-list.php:
|
339 |
msgid "Add some"
|
340 |
msgstr ""
|
341 |
|
342 |
#. translators: amount of ads displayed
|
343 |
-
#: admin/includes/class-ad-groups-list.php:
|
344 |
msgid "Up to %d ad displayed."
|
345 |
msgid_plural "Up to %d ads displayed"
|
346 |
msgstr[0] ""
|
347 |
msgstr[1] ""
|
348 |
|
349 |
-
#: admin/includes/class-ad-groups-list.php:
|
350 |
msgid "Random ads"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: admin/includes/class-ad-groups-list.php:
|
354 |
msgid "Display random ads based on ad weight"
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: admin/includes/class-ad-groups-list.php:
|
358 |
msgid "Ordered ads"
|
359 |
msgstr ""
|
360 |
|
361 |
-
#: admin/includes/class-ad-groups-list.php:
|
362 |
msgid "Display ads with the highest ad weight first"
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: admin/includes/class-ad-groups-list.php:
|
366 |
#: admin/views/placements.php:273
|
367 |
#: modules/import-export/classes/import.php:153
|
368 |
#: modules/import-export/classes/import.php:193
|
@@ -371,27 +371,27 @@ msgstr ""
|
|
371 |
msgid "Edit"
|
372 |
msgstr ""
|
373 |
|
374 |
-
#: admin/includes/class-ad-groups-list.php:
|
375 |
#: admin/views/placements.php:131
|
376 |
msgid "show usage"
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: admin/includes/class-ad-groups-list.php:
|
380 |
#: admin/views/placements.php:10
|
381 |
msgid "Delete"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: admin/includes/class-ad-groups-list.php:
|
385 |
-
#: admin/includes/class-ad-groups-list.php:
|
386 |
msgid "Invalid Ad Group"
|
387 |
msgstr ""
|
388 |
|
389 |
-
#: admin/includes/class-ad-groups-list.php:
|
390 |
-
#: admin/includes/class-ad-groups-list.php:
|
391 |
msgid "You don’t have permission to change the ad groups"
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: admin/includes/class-ad-groups-list.php:
|
395 |
msgid "No ad group created"
|
396 |
msgstr ""
|
397 |
|
@@ -532,7 +532,7 @@ msgid "Pro Feature"
|
|
532 |
msgstr ""
|
533 |
|
534 |
#: admin/includes/class-admin-upgrades.php:108
|
535 |
-
#: admin/includes/class-overview-widgets.php:
|
536 |
msgid "A quick and error-free way of implementing ad units from your Google Ad Manager account."
|
537 |
msgstr ""
|
538 |
|
@@ -612,23 +612,23 @@ msgstr ""
|
|
612 |
msgid "Download failed. <a href=\"%s\" target=\"_blank\">Click here to learn why</a>."
|
613 |
msgstr ""
|
614 |
|
615 |
-
#: admin/includes/class-list-filters.php:
|
616 |
#: modules/gadsense/admin/views/adsense-ad-parameters.php:109
|
617 |
#: modules/gadsense/includes/class-ad-type-adsense.php:49
|
618 |
msgid "Responsive"
|
619 |
msgstr ""
|
620 |
|
621 |
-
#: admin/includes/class-list-filters.php:
|
622 |
msgctxt "Post list header for expired ads."
|
623 |
msgid "Expired"
|
624 |
msgstr ""
|
625 |
|
626 |
-
#: admin/includes/class-list-filters.php:
|
627 |
msgctxt "Post list header for ads expiring in the future."
|
628 |
msgid "Expiring"
|
629 |
msgstr ""
|
630 |
|
631 |
-
#: admin/includes/class-list-filters.php:
|
632 |
msgid "Showing search results for"
|
633 |
msgstr ""
|
634 |
|
@@ -909,108 +909,108 @@ msgid "click fraud protection, lazy load, ad-block ads"
|
|
909 |
msgstr ""
|
910 |
|
911 |
#: admin/includes/class-overview-widgets.php:430
|
912 |
-
#: admin/views/upgrades/pro-tab.php:
|
913 |
msgid "11 more display and visitor conditions"
|
914 |
msgstr ""
|
915 |
|
916 |
#: admin/includes/class-overview-widgets.php:431
|
917 |
-
#: admin/views/upgrades/pro-tab.php:
|
918 |
msgid "6 more placements"
|
919 |
msgstr ""
|
920 |
|
921 |
#: admin/includes/class-overview-widgets.php:432
|
922 |
-
#: admin/views/upgrades/pro-tab.php:
|
923 |
msgid "placement tests for ad optimization"
|
924 |
msgstr ""
|
925 |
|
926 |
#: admin/includes/class-overview-widgets.php:433
|
927 |
-
#: admin/views/upgrades/pro-tab.php:
|
|
|
|
|
|
|
|
|
|
|
928 |
msgid "ad grids and many more advanced features"
|
929 |
msgstr ""
|
930 |
|
931 |
-
#: admin/includes/class-overview-widgets.php:
|
932 |
msgid "Analyze clicks and impressions of your ads locally or in Google Analytics, share reports, and limit ads to a specific number of impressions or clicks."
|
933 |
msgstr ""
|
934 |
|
935 |
-
#: admin/includes/class-overview-widgets.php:
|
936 |
msgid "Display ads based on the device or the size of your visitor’s browser, and control ads on AMP pages."
|
937 |
msgstr ""
|
938 |
|
939 |
-
#: admin/includes/class-overview-widgets.php:
|
940 |
msgid "Increase click rates on your ads by placing them in sticky positions above, next or below your site."
|
941 |
msgstr ""
|
942 |
|
943 |
-
#: admin/includes/class-overview-widgets.php:
|
944 |
msgid "Users will never miss an ad or other information in a PopUp. Choose when it shows up and for how long a user can close it."
|
945 |
msgstr ""
|
946 |
|
947 |
-
#: admin/includes/class-overview-widgets.php:
|
948 |
-
msgid "Target visitors with ads that match their geo location and make more money with regional campaigns."
|
949 |
-
msgstr ""
|
950 |
-
|
951 |
-
#: admin/includes/class-overview-widgets.php:484
|
952 |
msgid "Earn more money and let advertisers pay for ad space directly on the frontend of your site."
|
953 |
msgstr ""
|
954 |
|
955 |
-
#: admin/includes/class-overview-widgets.php:
|
956 |
msgid "Create a beautiful and simple slider from your ads to show more information on less space."
|
957 |
msgstr ""
|
958 |
|
959 |
-
#: admin/includes/class-overview-widgets.php:
|
960 |
msgid "Place AdSense In-feed ads between posts on homepage, category, and archive pages."
|
961 |
msgstr ""
|
962 |
|
963 |
-
#: admin/includes/class-overview-widgets.php:
|
964 |
-
#: admin/includes/class-overview-widgets.php:
|
965 |
-
#: admin/includes/class-overview-widgets.php:
|
966 |
msgid "Install now"
|
967 |
msgstr ""
|
968 |
|
969 |
-
#: admin/includes/class-overview-widgets.php:
|
970 |
-
#: admin/includes/class-overview-widgets.php:
|
971 |
-
#: admin/includes/class-overview-widgets.php:
|
972 |
-
#: admin/includes/class-overview-widgets.php:
|
973 |
-
#: admin/includes/class-overview-widgets.php:
|
974 |
-
#: admin/includes/class-overview-widgets.php:
|
975 |
-
#: admin/includes/class-overview-widgets.php:
|
976 |
-
#: admin/includes/class-overview-widgets.php:
|
977 |
-
#: admin/includes/class-overview-widgets.php:668
|
978 |
#: classes/ad_group.php:620
|
979 |
msgid "Activate now"
|
980 |
msgstr ""
|
981 |
|
982 |
-
#: admin/includes/class-overview-widgets.php:
|
983 |
msgid "Visit your ad statistics"
|
984 |
msgstr ""
|
985 |
|
986 |
-
#: admin/includes/class-overview-widgets.php:
|
987 |
msgid "Use Genesis specific ad positions."
|
988 |
msgstr ""
|
989 |
|
990 |
-
#: admin/includes/class-overview-widgets.php:
|
991 |
msgid "Manage ad positions with WPBakery Page Builder (formerly Visual Composer)."
|
992 |
msgstr ""
|
993 |
|
994 |
-
#: admin/includes/class-overview-widgets.php:
|
995 |
msgid "Our best deal with all add-ons included."
|
996 |
msgstr ""
|
997 |
|
998 |
-
#: admin/includes/class-overview-widgets.php:
|
999 |
-
#: admin/includes/class-overview-widgets.php:
|
1000 |
msgid "Get full access"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
-
#: admin/includes/class-overview-widgets.php:
|
1004 |
msgid "A one-time payment for four years of support and updates. The package saves you up to 70% compared to individually purchasing our add-ons."
|
1005 |
msgstr ""
|
1006 |
|
1007 |
-
#: admin/includes/class-overview-widgets.php:
|
1008 |
#: admin/views/conditions/ad-display-metabox.php:37
|
1009 |
#: admin/views/conditions/ad-visitor-metabox.php:37
|
1010 |
msgid "Visit the manual"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
-
#: admin/includes/class-overview-widgets.php:
|
1014 |
#: classes/ad_group.php:623
|
1015 |
msgid "Get this add-on"
|
1016 |
msgstr ""
|
@@ -2404,11 +2404,11 @@ msgstr ""
|
|
2404 |
msgid "All Access – with all available add-ons"
|
2405 |
msgstr ""
|
2406 |
|
2407 |
-
#: admin/views/upgrades/all-access.php:
|
2408 |
msgid "Risk free with 30-day Money-Back guarantee"
|
2409 |
msgstr ""
|
2410 |
|
2411 |
-
#: admin/views/upgrades/all-access.php:
|
2412 |
msgid "Get All Access"
|
2413 |
msgstr ""
|
2414 |
|
@@ -2496,7 +2496,7 @@ msgstr ""
|
|
2496 |
msgid "Lazy Loading"
|
2497 |
msgstr ""
|
2498 |
|
2499 |
-
#: admin/views/upgrades/pro-tab.php:
|
2500 |
#: admin/views/upgrades/tracking.php:10
|
2501 |
msgid "See all features and pricing"
|
2502 |
msgstr ""
|
@@ -2717,7 +2717,7 @@ msgid "Uses a simple placeholder ad for quick testing."
|
|
2717 |
msgstr ""
|
2718 |
|
2719 |
#: classes/ad_type_dummy.php:44
|
2720 |
-
#: classes/ad_type_image.php:
|
2721 |
msgid "URL"
|
2722 |
msgstr ""
|
2723 |
|
@@ -2737,28 +2737,24 @@ msgstr ""
|
|
2737 |
msgid "Ads in various image formats."
|
2738 |
msgstr ""
|
2739 |
|
2740 |
-
#: classes/ad_type_image.php:
|
2741 |
msgid "Insert File"
|
2742 |
msgstr ""
|
2743 |
|
2744 |
-
#: classes/ad_type_image.php:
|
2745 |
msgid "Insert"
|
2746 |
msgstr ""
|
2747 |
|
2748 |
-
#: classes/ad_type_image.php:
|
2749 |
-
msgid "
|
2750 |
-
msgstr ""
|
2751 |
-
|
2752 |
-
#: classes/ad_type_image.php:59
|
2753 |
-
msgid "edit"
|
2754 |
msgstr ""
|
2755 |
|
2756 |
-
#: classes/ad_type_image.php:
|
2757 |
msgid "Link to target site including http(s)"
|
2758 |
msgstr ""
|
2759 |
|
2760 |
#. translators: $s is a size string like "728 x 90".
|
2761 |
-
#: classes/ad_type_image.php:
|
2762 |
msgid "Original size: %s"
|
2763 |
msgstr ""
|
2764 |
|
@@ -3270,26 +3266,26 @@ msgid "page impressions"
|
|
3270 |
msgstr ""
|
3271 |
|
3272 |
#: classes/visitor-conditions.php:276
|
3273 |
-
msgid "
|
3274 |
msgstr ""
|
3275 |
|
3276 |
#: classes/visitor-conditions.php:277
|
3277 |
-
msgid "
|
3278 |
msgstr ""
|
3279 |
|
3280 |
#: classes/visitor-conditions.php:278
|
3281 |
-
msgid "user
|
3282 |
msgstr ""
|
3283 |
|
3284 |
#: classes/visitor-conditions.php:279
|
3285 |
-
msgid "user
|
3286 |
msgstr ""
|
3287 |
|
3288 |
-
#: classes/visitor-conditions.php:
|
3289 |
-
msgid "
|
3290 |
msgstr ""
|
3291 |
|
3292 |
-
#: classes/visitor-conditions.php:
|
3293 |
msgid "browser width"
|
3294 |
msgstr ""
|
3295 |
|
2 |
# This file is distributed under the GPL-2.0+.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Advanced Ads 1.37.0\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/advanced-ads/\n"
|
7 |
"Last-Translator: Thomas Maier <post@webzunft.de>\n"
|
8 |
"Language-Team: webgilde <support@wpadvancedads.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"POT-Creation-Date: 2022-10-25T10:24:19+00:00\n"
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.6.0\n"
|
15 |
"X-Domain: advanced-ads\n"
|
34 |
|
35 |
#: admin/class-advanced-ads-admin.php:224
|
36 |
#: classes/display-conditions.php:317
|
37 |
+
#: classes/visitor-conditions.php:309
|
38 |
#: modules/gadsense/admin/views/external-ads-links.php:17
|
39 |
#: modules/gadsense/admin/views/external-ads-links.php:22
|
40 |
#: modules/gadsense/admin/views/external-ads-links.php:29
|
43 |
|
44 |
#: admin/class-advanced-ads-admin.php:225
|
45 |
#: classes/display-conditions.php:317
|
46 |
+
#: classes/visitor-conditions.php:309
|
47 |
msgid "and"
|
48 |
msgstr ""
|
49 |
|
302 |
msgid "Learn how."
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: admin/includes/class-ad-groups-list.php:185
|
306 |
msgid "Ad weight"
|
307 |
msgstr ""
|
308 |
|
309 |
#. translators: %s is a date.
|
310 |
+
#: admin/includes/class-ad-groups-list.php:197
|
311 |
#: admin/views/ad-list/timing.php:21
|
312 |
msgid "starts %s"
|
313 |
msgstr ""
|
314 |
|
315 |
#. translators: %s is a date.
|
316 |
#. translators: %s is a time and date string.
|
317 |
+
#: admin/includes/class-ad-groups-list.php:218
|
318 |
#: admin/views/ad-list/timing.php:59
|
319 |
msgid "expires %s"
|
320 |
msgstr ""
|
321 |
|
322 |
#. translators: %s is a date.
|
323 |
#. translators: %s is a time and date string.
|
324 |
+
#: admin/includes/class-ad-groups-list.php:221
|
325 |
#: admin/views/ad-list/timing.php:70
|
326 |
msgid "<strong>expired</strong> %s"
|
327 |
msgstr ""
|
328 |
|
329 |
#. translators: %d is a number.
|
330 |
+
#: admin/includes/class-ad-groups-list.php:238
|
331 |
msgid "show %d more ads"
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: admin/includes/class-ad-groups-list.php:243
|
335 |
msgid "No ads assigned"
|
336 |
msgstr ""
|
337 |
|
338 |
+
#: admin/includes/class-ad-groups-list.php:245
|
339 |
msgid "Add some"
|
340 |
msgstr ""
|
341 |
|
342 |
#. translators: amount of ads displayed
|
343 |
+
#: admin/includes/class-ad-groups-list.php:273
|
344 |
msgid "Up to %d ad displayed."
|
345 |
msgid_plural "Up to %d ads displayed"
|
346 |
msgstr[0] ""
|
347 |
msgstr[1] ""
|
348 |
|
349 |
+
#: admin/includes/class-ad-groups-list.php:343
|
350 |
msgid "Random ads"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: admin/includes/class-ad-groups-list.php:344
|
354 |
msgid "Display random ads based on ad weight"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: admin/includes/class-ad-groups-list.php:347
|
358 |
msgid "Ordered ads"
|
359 |
msgstr ""
|
360 |
|
361 |
+
#: admin/includes/class-ad-groups-list.php:348
|
362 |
msgid "Display ads with the highest ad weight first"
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: admin/includes/class-ad-groups-list.php:367
|
366 |
#: admin/views/placements.php:273
|
367 |
#: modules/import-export/classes/import.php:153
|
368 |
#: modules/import-export/classes/import.php:193
|
371 |
msgid "Edit"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: admin/includes/class-ad-groups-list.php:368
|
375 |
#: admin/views/placements.php:131
|
376 |
msgid "show usage"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: admin/includes/class-ad-groups-list.php:377
|
380 |
#: admin/views/placements.php:10
|
381 |
msgid "Delete"
|
382 |
msgstr ""
|
383 |
|
384 |
+
#: admin/includes/class-ad-groups-list.php:399
|
385 |
+
#: admin/includes/class-ad-groups-list.php:469
|
386 |
msgid "Invalid Ad Group"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: admin/includes/class-ad-groups-list.php:404
|
390 |
+
#: admin/includes/class-ad-groups-list.php:474
|
391 |
msgid "You don’t have permission to change the ad groups"
|
392 |
msgstr ""
|
393 |
|
394 |
+
#: admin/includes/class-ad-groups-list.php:438
|
395 |
msgid "No ad group created"
|
396 |
msgstr ""
|
397 |
|
532 |
msgstr ""
|
533 |
|
534 |
#: admin/includes/class-admin-upgrades.php:108
|
535 |
+
#: admin/includes/class-overview-widgets.php:461
|
536 |
msgid "A quick and error-free way of implementing ad units from your Google Ad Manager account."
|
537 |
msgstr ""
|
538 |
|
612 |
msgid "Download failed. <a href=\"%s\" target=\"_blank\">Click here to learn why</a>."
|
613 |
msgstr ""
|
614 |
|
615 |
+
#: admin/includes/class-list-filters.php:163
|
616 |
#: modules/gadsense/admin/views/adsense-ad-parameters.php:109
|
617 |
#: modules/gadsense/includes/class-ad-type-adsense.php:49
|
618 |
msgid "Responsive"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: admin/includes/class-list-filters.php:561
|
622 |
msgctxt "Post list header for expired ads."
|
623 |
msgid "Expired"
|
624 |
msgstr ""
|
625 |
|
626 |
+
#: admin/includes/class-list-filters.php:601
|
627 |
msgctxt "Post list header for ads expiring in the future."
|
628 |
msgid "Expiring"
|
629 |
msgstr ""
|
630 |
|
631 |
+
#: admin/includes/class-list-filters.php:731
|
632 |
msgid "Showing search results for"
|
633 |
msgstr ""
|
634 |
|
909 |
msgstr ""
|
910 |
|
911 |
#: admin/includes/class-overview-widgets.php:430
|
912 |
+
#: admin/views/upgrades/pro-tab.php:9
|
913 |
msgid "11 more display and visitor conditions"
|
914 |
msgstr ""
|
915 |
|
916 |
#: admin/includes/class-overview-widgets.php:431
|
917 |
+
#: admin/views/upgrades/pro-tab.php:10
|
918 |
msgid "6 more placements"
|
919 |
msgstr ""
|
920 |
|
921 |
#: admin/includes/class-overview-widgets.php:432
|
922 |
+
#: admin/views/upgrades/pro-tab.php:11
|
923 |
msgid "placement tests for ad optimization"
|
924 |
msgstr ""
|
925 |
|
926 |
#: admin/includes/class-overview-widgets.php:433
|
927 |
+
#: admin/views/upgrades/pro-tab.php:8
|
928 |
+
msgid "Geo Targeting"
|
929 |
+
msgstr ""
|
930 |
+
|
931 |
+
#: admin/includes/class-overview-widgets.php:434
|
932 |
+
#: admin/views/upgrades/pro-tab.php:12
|
933 |
msgid "ad grids and many more advanced features"
|
934 |
msgstr ""
|
935 |
|
936 |
+
#: admin/includes/class-overview-widgets.php:449
|
937 |
msgid "Analyze clicks and impressions of your ads locally or in Google Analytics, share reports, and limit ads to a specific number of impressions or clicks."
|
938 |
msgstr ""
|
939 |
|
940 |
+
#: admin/includes/class-overview-widgets.php:455
|
941 |
msgid "Display ads based on the device or the size of your visitor’s browser, and control ads on AMP pages."
|
942 |
msgstr ""
|
943 |
|
944 |
+
#: admin/includes/class-overview-widgets.php:467
|
945 |
msgid "Increase click rates on your ads by placing them in sticky positions above, next or below your site."
|
946 |
msgstr ""
|
947 |
|
948 |
+
#: admin/includes/class-overview-widgets.php:473
|
949 |
msgid "Users will never miss an ad or other information in a PopUp. Choose when it shows up and for how long a user can close it."
|
950 |
msgstr ""
|
951 |
|
952 |
+
#: admin/includes/class-overview-widgets.php:479
|
|
|
|
|
|
|
|
|
953 |
msgid "Earn more money and let advertisers pay for ad space directly on the frontend of your site."
|
954 |
msgstr ""
|
955 |
|
956 |
+
#: admin/includes/class-overview-widgets.php:485
|
957 |
msgid "Create a beautiful and simple slider from your ads to show more information on less space."
|
958 |
msgstr ""
|
959 |
|
960 |
+
#: admin/includes/class-overview-widgets.php:491
|
961 |
msgid "Place AdSense In-feed ads between posts on homepage, category, and archive pages."
|
962 |
msgstr ""
|
963 |
|
964 |
+
#: admin/includes/class-overview-widgets.php:494
|
965 |
+
#: admin/includes/class-overview-widgets.php:666
|
966 |
+
#: admin/includes/class-overview-widgets.php:682
|
967 |
msgid "Install now"
|
968 |
msgstr ""
|
969 |
|
970 |
+
#: admin/includes/class-overview-widgets.php:512
|
971 |
+
#: admin/includes/class-overview-widgets.php:530
|
972 |
+
#: admin/includes/class-overview-widgets.php:555
|
973 |
+
#: admin/includes/class-overview-widgets.php:573
|
974 |
+
#: admin/includes/class-overview-widgets.php:591
|
975 |
+
#: admin/includes/class-overview-widgets.php:609
|
976 |
+
#: admin/includes/class-overview-widgets.php:627
|
977 |
+
#: admin/includes/class-overview-widgets.php:645
|
|
|
978 |
#: classes/ad_group.php:620
|
979 |
msgid "Activate now"
|
980 |
msgstr ""
|
981 |
|
982 |
+
#: admin/includes/class-overview-widgets.php:538
|
983 |
msgid "Visit your ad statistics"
|
984 |
msgstr ""
|
985 |
|
986 |
+
#: admin/includes/class-overview-widgets.php:662
|
987 |
msgid "Use Genesis specific ad positions."
|
988 |
msgstr ""
|
989 |
|
990 |
+
#: admin/includes/class-overview-widgets.php:678
|
991 |
msgid "Manage ad positions with WPBakery Page Builder (formerly Visual Composer)."
|
992 |
msgstr ""
|
993 |
|
994 |
+
#: admin/includes/class-overview-widgets.php:694
|
995 |
msgid "Our best deal with all add-ons included."
|
996 |
msgstr ""
|
997 |
|
998 |
+
#: admin/includes/class-overview-widgets.php:696
|
999 |
+
#: admin/includes/class-overview-widgets.php:712
|
1000 |
msgid "Get full access"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
+
#: admin/includes/class-overview-widgets.php:710
|
1004 |
msgid "A one-time payment for four years of support and updates. The package saves you up to 70% compared to individually purchasing our add-ons."
|
1005 |
msgstr ""
|
1006 |
|
1007 |
+
#: admin/includes/class-overview-widgets.php:728
|
1008 |
#: admin/views/conditions/ad-display-metabox.php:37
|
1009 |
#: admin/views/conditions/ad-visitor-metabox.php:37
|
1010 |
msgid "Visit the manual"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
+
#: admin/includes/class-overview-widgets.php:731
|
1014 |
#: classes/ad_group.php:623
|
1015 |
msgid "Get this add-on"
|
1016 |
msgstr ""
|
2404 |
msgid "All Access – with all available add-ons"
|
2405 |
msgstr ""
|
2406 |
|
2407 |
+
#: admin/views/upgrades/all-access.php:12
|
2408 |
msgid "Risk free with 30-day Money-Back guarantee"
|
2409 |
msgstr ""
|
2410 |
|
2411 |
+
#: admin/views/upgrades/all-access.php:13
|
2412 |
msgid "Get All Access"
|
2413 |
msgstr ""
|
2414 |
|
2496 |
msgid "Lazy Loading"
|
2497 |
msgstr ""
|
2498 |
|
2499 |
+
#: admin/views/upgrades/pro-tab.php:14
|
2500 |
#: admin/views/upgrades/tracking.php:10
|
2501 |
msgid "See all features and pricing"
|
2502 |
msgstr ""
|
2717 |
msgstr ""
|
2718 |
|
2719 |
#: classes/ad_type_dummy.php:44
|
2720 |
+
#: classes/ad_type_image.php:70
|
2721 |
msgid "URL"
|
2722 |
msgstr ""
|
2723 |
|
2737 |
msgid "Ads in various image formats."
|
2738 |
msgstr ""
|
2739 |
|
2740 |
+
#: classes/ad_type_image.php:52
|
2741 |
msgid "Insert File"
|
2742 |
msgstr ""
|
2743 |
|
2744 |
+
#: classes/ad_type_image.php:53
|
2745 |
msgid "Insert"
|
2746 |
msgstr ""
|
2747 |
|
2748 |
+
#: classes/ad_type_image.php:55
|
2749 |
+
msgid "Select image"
|
|
|
|
|
|
|
|
|
2750 |
msgstr ""
|
2751 |
|
2752 |
+
#: classes/ad_type_image.php:74
|
2753 |
msgid "Link to target site including http(s)"
|
2754 |
msgstr ""
|
2755 |
|
2756 |
#. translators: $s is a size string like "728 x 90".
|
2757 |
+
#: classes/ad_type_image.php:247
|
2758 |
msgid "Original size: %s"
|
2759 |
msgstr ""
|
2760 |
|
3266 |
msgstr ""
|
3267 |
|
3268 |
#: classes/visitor-conditions.php:276
|
3269 |
+
msgid "geo location"
|
3270 |
msgstr ""
|
3271 |
|
3272 |
#: classes/visitor-conditions.php:277
|
3273 |
+
msgid "referrer url"
|
3274 |
msgstr ""
|
3275 |
|
3276 |
#: classes/visitor-conditions.php:278
|
3277 |
+
msgid "user agent"
|
3278 |
msgstr ""
|
3279 |
|
3280 |
#: classes/visitor-conditions.php:279
|
3281 |
+
msgid "user can (capabilities)"
|
3282 |
msgstr ""
|
3283 |
|
3284 |
+
#: classes/visitor-conditions.php:280
|
3285 |
+
msgid "user role"
|
3286 |
msgstr ""
|
3287 |
|
3288 |
+
#: classes/visitor-conditions.php:283
|
3289 |
msgid "browser width"
|
3290 |
msgstr ""
|
3291 |
|
lib/autoload.php
CHANGED
@@ -3,8 +3,21 @@
|
|
3 |
// autoload.php @generated by Composer
|
4 |
|
5 |
if (PHP_VERSION_ID < 50600) {
|
6 |
-
|
7 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
}
|
9 |
|
10 |
require_once __DIR__ . '/composer/autoload_real.php';
|
3 |
// autoload.php @generated by Composer
|
4 |
|
5 |
if (PHP_VERSION_ID < 50600) {
|
6 |
+
if (!headers_sent()) {
|
7 |
+
header('HTTP/1.1 500 Internal Server Error');
|
8 |
+
}
|
9 |
+
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
|
10 |
+
if (!ini_get('display_errors')) {
|
11 |
+
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
12 |
+
fwrite(STDERR, $err);
|
13 |
+
} elseif (!headers_sent()) {
|
14 |
+
echo $err;
|
15 |
+
}
|
16 |
+
}
|
17 |
+
trigger_error(
|
18 |
+
$err,
|
19 |
+
E_USER_ERROR
|
20 |
+
);
|
21 |
}
|
22 |
|
23 |
require_once __DIR__ . '/composer/autoload_real.php';
|
modules/gadsense/admin/assets/js/adsense.js
CHANGED
@@ -483,13 +483,13 @@ class AdvancedAdsNetworkAdsense extends AdvancedAdsAdNetwork {
|
|
483 |
*/
|
484 |
show_float_warnings( unit_type ) {
|
485 |
const resize_type = jQuery( '#ad-resize-type' ).val();
|
486 |
-
const position = jQuery( '
|
487 |
|
488 |
if (
|
489 |
( ['link-responsive', 'matched-content', 'in-article', 'in-feed'].indexOf( unit_type ) !== - 1
|
490 |
|| ( unit_type === 'responsive' && resize_type !== 'manual' )
|
491 |
)
|
492 |
-
&& ( position
|
493 |
) {
|
494 |
jQuery( '#ad-parameters-box-notices .advads-ad-notice-responsive-position' ).show();
|
495 |
} else {
|
483 |
*/
|
484 |
show_float_warnings( unit_type ) {
|
485 |
const resize_type = jQuery( '#ad-resize-type' ).val();
|
486 |
+
const position = jQuery( 'input[name="advanced_ad[output][position]"]:checked' ).val();
|
487 |
|
488 |
if (
|
489 |
( ['link-responsive', 'matched-content', 'in-article', 'in-feed'].indexOf( unit_type ) !== - 1
|
490 |
|| ( unit_type === 'responsive' && resize_type !== 'manual' )
|
491 |
)
|
492 |
+
&& ( position.startsWith( 'left' ) || position.startsWith( 'right' ) )
|
493 |
) {
|
494 |
jQuery( '#ad-parameters-box-notices .advads-ad-notice-responsive-position' ).show();
|
495 |
} else {
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: ads, adsense, amp, ads.txt, ad rotations, ad blocker, amazon, banner, clic
|
|
4 |
Requires at least: 4.9
|
5 |
Tested up to: 6.0
|
6 |
Requires PHP: 7.2
|
7 |
-
Stable tag: 1.37.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -160,7 +160,6 @@ https://vimeo.com/577170591
|
|
160 |
> * [Tracking](https://wpadvancedads.com/add-ons/tracking/?utm_source=wporg&utm_medium=link&utm_campaign=wp-add-ons) – track ad impressions and ad clicks with local methods or Google Analytics
|
161 |
> * [Responsive Ads](https://wpadvancedads.com/add-ons/responsive-ads/?utm_source=wporg&utm_medium=link&utm_campaign=wp-add-ons) – target ads to specific browser sizes and create ads for AMP
|
162 |
> * [Google Ad Manager Integration](https://wpadvancedads.com/add-ons/google-ad-manager/?utm_source=wporg&utm_medium=link&utm_campaign=wp-add-ons) – a quick and error-free way to load ad units from your Google Ad Manager (formerly Google DoubleClick for Publishers, DFP) account without touching any ad codes
|
163 |
-
> * [Geo Targeting](https://wpadvancedads.com/add-ons/geo-targeting/?utm_source=wporg&utm_medium=link&utm_campaign=wp-add-ons) – display ads based on the geo location of the visitor
|
164 |
> * [Sticky Ads](https://wpadvancedads.com/add-ons/sticky-ads/?utm_source=wporg&utm_medium=link&utm_campaign=wp-add-ons) – increase click rates with fixed, sticky, and anchor ads
|
165 |
> * [Fixed Widget for WordPress](https://wordpress.org/plugins/q2w3-fixed-widget/) – turn sidebar widgets into performant fixed sticky ads
|
166 |
> * [PopUp and Layer Ads](https://wpadvancedads.com/add-ons/popup-and-layer-ads/?utm_source=wporg&utm_medium=link&utm_campaign=wp-add-ons) – display ads and other content in layers, popups, and interstitials
|
@@ -337,6 +336,15 @@ Yes. You can use plenty of [hooks](https://wpadvancedads.com/codex/) to customiz
|
|
337 |
|
338 |
== Changelog ==
|
339 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
340 |
= 1.37.0 (October 11, 2022) =
|
341 |
|
342 |
- Feature: bump minimum required PHP version to 7.2
|
4 |
Requires at least: 4.9
|
5 |
Tested up to: 6.0
|
6 |
Requires PHP: 7.2
|
7 |
+
Stable tag: 1.37.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
160 |
> * [Tracking](https://wpadvancedads.com/add-ons/tracking/?utm_source=wporg&utm_medium=link&utm_campaign=wp-add-ons) – track ad impressions and ad clicks with local methods or Google Analytics
|
161 |
> * [Responsive Ads](https://wpadvancedads.com/add-ons/responsive-ads/?utm_source=wporg&utm_medium=link&utm_campaign=wp-add-ons) – target ads to specific browser sizes and create ads for AMP
|
162 |
> * [Google Ad Manager Integration](https://wpadvancedads.com/add-ons/google-ad-manager/?utm_source=wporg&utm_medium=link&utm_campaign=wp-add-ons) – a quick and error-free way to load ad units from your Google Ad Manager (formerly Google DoubleClick for Publishers, DFP) account without touching any ad codes
|
|
|
163 |
> * [Sticky Ads](https://wpadvancedads.com/add-ons/sticky-ads/?utm_source=wporg&utm_medium=link&utm_campaign=wp-add-ons) – increase click rates with fixed, sticky, and anchor ads
|
164 |
> * [Fixed Widget for WordPress](https://wordpress.org/plugins/q2w3-fixed-widget/) – turn sidebar widgets into performant fixed sticky ads
|
165 |
> * [PopUp and Layer Ads](https://wpadvancedads.com/add-ons/popup-and-layer-ads/?utm_source=wporg&utm_medium=link&utm_campaign=wp-add-ons) – display ads and other content in layers, popups, and interstitials
|
336 |
|
337 |
== Changelog ==
|
338 |
|
339 |
+
= 1.37.1 (October 25, 2022) =
|
340 |
+
|
341 |
+
- Improvement: align the ad image preview in the Ad Parameters with other options
|
342 |
+
- Improvement: order ads on the groups page by weight first and then by ad title
|
343 |
+
- Fix: remove superfluous output above hints about cache-busting
|
344 |
+
- Fix: ensure "Expired" and "Expiring" view stay active, when posts list is filtered or searched
|
345 |
+
- Fix: allow saving an ad with an invalid user if the user was already the author of this ad
|
346 |
+
- Fix: show a notice if positioning is used with responsive AdSense ads
|
347 |
+
|
348 |
= 1.37.0 (October 11, 2022) =
|
349 |
|
350 |
- Feature: bump minimum required PHP version to 7.2
|