Version Description
Download this release
Release Info
Developer | cartflowswp |
Plugin | WooCommerce Cart Abandonment Recovery |
Version | 1.2.16 |
Comparing to | |
See all releases |
Code changes from version 1.2.15 to 1.2.16
- admin/assets/images/cartflows-email-logo.png +0 -0
- admin/assets/images/cartflows-logo-small.jpg +0 -0
- admin/assets/images/facebook2x.png +0 -0
- admin/assets/images/twitter2x.png +0 -0
- admin/assets/images/wcar-icon.png +0 -0
- admin/assets/images/youtube2x.png +0 -0
- admin/assets/js/admin-email-templates.js +10 -7
- admin/assets/js/admin-mce.js +5 -5
- admin/assets/js/admin-settings.js +56 -9
- changelog.txt +5 -0
- classes/class-cartflows-ca-admin-notices.php +46 -2
- classes/class-cartflows-ca-loader.php +3 -1
- classes/class-cartflows-ca-settings.php +89 -8
- classes/class-cartflows-ca-update.php +4 -0
- languages/woo-cart-abandonment-recovery.pot +190 -136
- modules/cart-abandonment/assets/js/cart-abandonment-tracking.js +9 -9
- modules/cart-abandonment/classes/class-cartflows-ca-database.php +1 -0
- modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php +36 -12
- modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php +59 -33
- modules/cart-abandonment/classes/class-cartflows-ca-module-loader.php +1 -0
- modules/weekly-email-report/class-cartflows-ca-admin-report-emails.php +185 -0
- modules/weekly-email-report/templates/email-body.php +94 -0
- modules/weekly-email-report/templates/email-bsf-product-block.php +58 -0
- modules/weekly-email-report/templates/email-cf-block.php +82 -0
- modules/weekly-email-report/templates/email-content-section.php +113 -0
- modules/weekly-email-report/templates/email-footer.php +83 -0
- modules/weekly-email-report/templates/email-header.php +75 -0
- modules/weekly-email-report/templates/email-recovery-stat.php +152 -0
- readme.txt +6 -1
- uninstall.php +2 -0
- woo-cart-abandonment-recovery.php +2 -2
admin/assets/images/cartflows-email-logo.png
ADDED
Binary file
|
admin/assets/images/cartflows-logo-small.jpg
DELETED
Binary file
|
admin/assets/images/facebook2x.png
ADDED
Binary file
|
admin/assets/images/twitter2x.png
ADDED
Binary file
|
admin/assets/images/wcar-icon.png
ADDED
Binary file
|
admin/assets/images/youtube2x.png
ADDED
Binary file
|
admin/assets/js/admin-email-templates.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
( function( $ ) {
|
2 |
EmailTemplatesAdmin = {
|
3 |
init() {
|
4 |
$( document ).on(
|
@@ -34,7 +34,7 @@
|
|
34 |
$( document ).on(
|
35 |
'click',
|
36 |
'#wcf_override_global_coupon',
|
37 |
-
function() {
|
38 |
$( coupon_child_fields )
|
39 |
.closest( 'tr' )
|
40 |
.fadeToggle(
|
@@ -56,6 +56,8 @@
|
|
56 |
|
57 |
const email_subject = $( '#wcf_email_subject' ).val();
|
58 |
const email_send_to = $( '#wcf_send_test_email' ).val();
|
|
|
|
|
59 |
const wp_nonce = $( '#_wpnonce' ).val();
|
60 |
|
61 |
$( this ).next( 'div.error' ).remove();
|
@@ -77,6 +79,7 @@
|
|
77 |
email_subject,
|
78 |
email_body,
|
79 |
email_send_to,
|
|
|
80 |
action: 'wcf_ca_preview_email_send',
|
81 |
security: wp_nonce,
|
82 |
};
|
@@ -85,7 +88,7 @@
|
|
85 |
.attr( 'disabled', true );
|
86 |
|
87 |
// since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
|
88 |
-
$.post( ajaxurl, data, function( response ) {
|
89 |
$( '#mail_response_msg' ).empty().fadeIn();
|
90 |
|
91 |
if ( response.success ) {
|
@@ -126,7 +129,7 @@
|
|
126 |
$( '#wcf_ca_delete_coupons' )
|
127 |
.css( 'cursor', 'wait' )
|
128 |
.attr( 'disabled', true );
|
129 |
-
$.post( ajaxurl, data, function( response ) {
|
130 |
$( '.wcf-ca-response-msg' ).empty().fadeIn();
|
131 |
if ( response.success ) {
|
132 |
$( '.wcf-ca-spinner' ).hide();
|
@@ -163,7 +166,7 @@
|
|
163 |
state,
|
164 |
security: wcf_ca_details.email_toggle_button_nonce,
|
165 |
},
|
166 |
-
function( response ) {
|
167 |
$( '#wcf_activate_email_template' ).val(
|
168 |
new_state === 'on' ? 1 : 0
|
169 |
);
|
@@ -194,7 +197,7 @@
|
|
194 |
},
|
195 |
};
|
196 |
|
197 |
-
$( function() {
|
198 |
EmailTemplatesAdmin.init();
|
199 |
} );
|
200 |
-
}( jQuery )
|
1 |
+
( function ( $ ) {
|
2 |
EmailTemplatesAdmin = {
|
3 |
init() {
|
4 |
$( document ).on(
|
34 |
$( document ).on(
|
35 |
'click',
|
36 |
'#wcf_override_global_coupon',
|
37 |
+
function () {
|
38 |
$( coupon_child_fields )
|
39 |
.closest( 'tr' )
|
40 |
.fadeToggle(
|
56 |
|
57 |
const email_subject = $( '#wcf_email_subject' ).val();
|
58 |
const email_send_to = $( '#wcf_send_test_email' ).val();
|
59 |
+
const email_template_id = document.getElementsByName( 'id' )[ 0 ]
|
60 |
+
.value;
|
61 |
const wp_nonce = $( '#_wpnonce' ).val();
|
62 |
|
63 |
$( this ).next( 'div.error' ).remove();
|
79 |
email_subject,
|
80 |
email_body,
|
81 |
email_send_to,
|
82 |
+
email_template_id,
|
83 |
action: 'wcf_ca_preview_email_send',
|
84 |
security: wp_nonce,
|
85 |
};
|
88 |
.attr( 'disabled', true );
|
89 |
|
90 |
// since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
|
91 |
+
$.post( ajaxurl, data, function ( response ) {
|
92 |
$( '#mail_response_msg' ).empty().fadeIn();
|
93 |
|
94 |
if ( response.success ) {
|
129 |
$( '#wcf_ca_delete_coupons' )
|
130 |
.css( 'cursor', 'wait' )
|
131 |
.attr( 'disabled', true );
|
132 |
+
$.post( ajaxurl, data, function ( response ) {
|
133 |
$( '.wcf-ca-response-msg' ).empty().fadeIn();
|
134 |
if ( response.success ) {
|
135 |
$( '.wcf-ca-spinner' ).hide();
|
166 |
state,
|
167 |
security: wcf_ca_details.email_toggle_button_nonce,
|
168 |
},
|
169 |
+
function ( response ) {
|
170 |
$( '#wcf_activate_email_template' ).val(
|
171 |
new_state === 'on' ? 1 : 0
|
172 |
);
|
197 |
},
|
198 |
};
|
199 |
|
200 |
+
$( function () {
|
201 |
EmailTemplatesAdmin.init();
|
202 |
} );
|
203 |
+
} )( jQuery );
|
admin/assets/js/admin-mce.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
-
( function( $ ) {
|
2 |
-
$( document ).ready( function() {
|
3 |
-
tinymce.PluginManager.add( 'cartflows_ac', function( editor ) {
|
4 |
editor.addButton( 'cartflows_ac', {
|
5 |
type: 'menubutton',
|
6 |
text: 'WCAR Fields',
|
@@ -90,10 +90,10 @@
|
|
90 |
editor.insertContent( this.value() );
|
91 |
},
|
92 |
},
|
93 |
-
].sort( function( a, b ) {
|
94 |
return a.text.localeCompare( b.text );
|
95 |
} ),
|
96 |
} );
|
97 |
} );
|
98 |
} );
|
99 |
-
}( jQuery )
|
1 |
+
( function ( $ ) {
|
2 |
+
$( document ).ready( function () {
|
3 |
+
tinymce.PluginManager.add( 'cartflows_ac', function ( editor ) {
|
4 |
editor.addButton( 'cartflows_ac', {
|
5 |
type: 'menubutton',
|
6 |
text: 'WCAR Fields',
|
90 |
editor.insertContent( this.value() );
|
91 |
},
|
92 |
},
|
93 |
+
].sort( function ( a, b ) {
|
94 |
return a.text.localeCompare( b.text );
|
95 |
} ),
|
96 |
} );
|
97 |
} );
|
98 |
} );
|
99 |
+
} )( jQuery );
|
admin/assets/js/admin-settings.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
( function( $ ) {
|
2 |
CartAbandonmentSettings = {
|
3 |
init() {
|
4 |
$( '#wcf_ca_custom_filter_from' )
|
@@ -31,7 +31,7 @@
|
|
31 |
.attr( 'readonly', 'readonly' )
|
32 |
.css( 'background', 'white' );
|
33 |
|
34 |
-
$( '#wcf_ca_custom_filter' ).on( 'click', function() {
|
35 |
const from = $( '#wcf_ca_custom_filter_from' ).val().trim();
|
36 |
const to = $( '#wcf_ca_custom_filter_to' ).val().trim();
|
37 |
let url = window.location.search;
|
@@ -45,7 +45,7 @@
|
|
45 |
window.location.href = url;
|
46 |
} );
|
47 |
|
48 |
-
$( '#wcf_search_id_submit' ).on( 'click', function() {
|
49 |
const search = $( '#wcf_search_id_search_input' ).val().trim();
|
50 |
window.location.href =
|
51 |
window.location.search + '&search_term=' + search;
|
@@ -81,7 +81,7 @@
|
|
81 |
.show();
|
82 |
}
|
83 |
|
84 |
-
$( '#wcf_ca_coupon_code_status' ).on( 'click', function() {
|
85 |
if ( ! $( '#wcf_ca_coupon_code_status:checked' ).length ) {
|
86 |
$(
|
87 |
'#wcf_ca_discount_type, #wcf_ca_coupon_amount, #wcf_ca_coupon_expiry'
|
@@ -97,7 +97,7 @@
|
|
97 |
}
|
98 |
} );
|
99 |
|
100 |
-
$( '#wcf_ca_gdpr_status' ).on( 'click', function() {
|
101 |
if ( ! $( '#wcf_ca_gdpr_status:checked' ).length ) {
|
102 |
$( '#wcf_ca_gdpr_message' ).closest( 'tr' ).fadeOut();
|
103 |
} else {
|
@@ -105,7 +105,7 @@
|
|
105 |
}
|
106 |
} );
|
107 |
|
108 |
-
$( '#wcf_ca_zapier_tracking_status' ).on( 'click', function() {
|
109 |
if ( ! $( '#wcf_ca_zapier_tracking_status:checked' ).length ) {
|
110 |
$(
|
111 |
'#wcf_ca_zapier_cart_abandoned_webhook, #wcf_ca_coupon_code_status'
|
@@ -137,6 +137,27 @@
|
|
137 |
.fadeOut();
|
138 |
}
|
139 |
} );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
},
|
141 |
};
|
142 |
|
@@ -241,7 +262,7 @@
|
|
241 |
init() {
|
242 |
$( '.wcf-ca-report-table-row .wcf-ca-icon-row' ).on(
|
243 |
'hover',
|
244 |
-
function() {
|
245 |
$( this )
|
246 |
.find( '.wcf-ca-tooltip-text' )
|
247 |
.toggleClass( 'display_tool_tip' );
|
@@ -250,9 +271,35 @@
|
|
250 |
},
|
251 |
};
|
252 |
|
253 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
CartAbandonmentSettings.init();
|
255 |
ZapierSettings.init();
|
256 |
ToolTipHover.init();
|
|
|
257 |
} );
|
258 |
-
}( jQuery )
|
1 |
+
( function ( $ ) {
|
2 |
CartAbandonmentSettings = {
|
3 |
init() {
|
4 |
$( '#wcf_ca_custom_filter_from' )
|
31 |
.attr( 'readonly', 'readonly' )
|
32 |
.css( 'background', 'white' );
|
33 |
|
34 |
+
$( '#wcf_ca_custom_filter' ).on( 'click', function () {
|
35 |
const from = $( '#wcf_ca_custom_filter_from' ).val().trim();
|
36 |
const to = $( '#wcf_ca_custom_filter_to' ).val().trim();
|
37 |
let url = window.location.search;
|
45 |
window.location.href = url;
|
46 |
} );
|
47 |
|
48 |
+
$( '#wcf_search_id_submit' ).on( 'click', function () {
|
49 |
const search = $( '#wcf_search_id_search_input' ).val().trim();
|
50 |
window.location.href =
|
51 |
window.location.search + '&search_term=' + search;
|
81 |
.show();
|
82 |
}
|
83 |
|
84 |
+
$( '#wcf_ca_coupon_code_status' ).on( 'click', function () {
|
85 |
if ( ! $( '#wcf_ca_coupon_code_status:checked' ).length ) {
|
86 |
$(
|
87 |
'#wcf_ca_discount_type, #wcf_ca_coupon_amount, #wcf_ca_coupon_expiry'
|
97 |
}
|
98 |
} );
|
99 |
|
100 |
+
$( '#wcf_ca_gdpr_status' ).on( 'click', function () {
|
101 |
if ( ! $( '#wcf_ca_gdpr_status:checked' ).length ) {
|
102 |
$( '#wcf_ca_gdpr_message' ).closest( 'tr' ).fadeOut();
|
103 |
} else {
|
105 |
}
|
106 |
} );
|
107 |
|
108 |
+
$( '#wcf_ca_zapier_tracking_status' ).on( 'click', function () {
|
109 |
if ( ! $( '#wcf_ca_zapier_tracking_status:checked' ).length ) {
|
110 |
$(
|
111 |
'#wcf_ca_zapier_cart_abandoned_webhook, #wcf_ca_coupon_code_status'
|
137 |
.fadeOut();
|
138 |
}
|
139 |
} );
|
140 |
+
|
141 |
+
if (
|
142 |
+
! $( '#wcf_ca_send_recovery_report_emails_to_admin:checked' )
|
143 |
+
.length
|
144 |
+
) {
|
145 |
+
$( '#wcf_ca_admin_email' ).closest( 'tr' ).hide();
|
146 |
+
}
|
147 |
+
$( '#wcf_ca_send_recovery_report_emails_to_admin' ).on(
|
148 |
+
'click',
|
149 |
+
function () {
|
150 |
+
if (
|
151 |
+
! $(
|
152 |
+
'#wcf_ca_send_recovery_report_emails_to_admin:checked'
|
153 |
+
).length
|
154 |
+
) {
|
155 |
+
$( '#wcf_ca_admin_email' ).closest( 'tr' ).fadeOut();
|
156 |
+
} else {
|
157 |
+
$( '#wcf_ca_admin_email' ).closest( 'tr' ).fadeIn();
|
158 |
+
}
|
159 |
+
}
|
160 |
+
);
|
161 |
},
|
162 |
};
|
163 |
|
262 |
init() {
|
263 |
$( '.wcf-ca-report-table-row .wcf-ca-icon-row' ).on(
|
264 |
'hover',
|
265 |
+
function () {
|
266 |
$( this )
|
267 |
.find( '.wcf-ca-tooltip-text' )
|
268 |
.toggleClass( 'display_tool_tip' );
|
271 |
},
|
272 |
};
|
273 |
|
274 |
+
DisableAdminNotices = {
|
275 |
+
init() {
|
276 |
+
$( document ).on(
|
277 |
+
'click',
|
278 |
+
'.weekly-report-email-notice.wcar-dismissible-notice .notice-dismiss',
|
279 |
+
DisableAdminNotices.disable_weekly_report_email_admin_notice
|
280 |
+
);
|
281 |
+
},
|
282 |
+
|
283 |
+
disable_weekly_report_email_admin_notice( event ) {
|
284 |
+
event.preventDefault();
|
285 |
+
$.ajax( {
|
286 |
+
url: ajaxurl,
|
287 |
+
type: 'POST',
|
288 |
+
data: {
|
289 |
+
action: 'wcar_disable_weekly_report_email_notice',
|
290 |
+
security: wcf_ca_details.weekly_report_email_notice_nonce,
|
291 |
+
},
|
292 |
+
} )
|
293 |
+
.done( function () {} )
|
294 |
+
.fail( function () {} )
|
295 |
+
.always( function () {} );
|
296 |
+
},
|
297 |
+
};
|
298 |
+
|
299 |
+
$( function () {
|
300 |
CartAbandonmentSettings.init();
|
301 |
ZapierSettings.init();
|
302 |
ToolTipHover.init();
|
303 |
+
DisableAdminNotices.init();
|
304 |
} );
|
305 |
+
} )( jQuery );
|
changelog.txt
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
Version 1.2.15 - Thursday, 21st April 2022
|
2 |
- Improvement: Handled WordPress database error while creating tables on plugin activation.
|
3 |
|
1 |
+
Version 1.2.16 - Tuesday, 17th May 2022
|
2 |
+
- New: Introduced weekly order recovery reports via email.
|
3 |
+
- New: Added an option to send the recovery emails in WooCommerce email format.
|
4 |
+
- Improvement: Updated the default unsubscribe text from "Unsubscribe" to "Don't remind me again".
|
5 |
+
|
6 |
Version 1.2.15 - Thursday, 21st April 2022
|
7 |
- Improvement: Handled WordPress database error while creating tables on plugin activation.
|
8 |
|
classes/class-cartflows-ca-admin-notices.php
CHANGED
@@ -42,6 +42,10 @@ class Cartflows_Ca_Admin_Notices {
|
|
42 |
public function __construct() {
|
43 |
|
44 |
add_action( 'admin_init', array( $this, 'show_admin_notices' ) );
|
|
|
|
|
|
|
|
|
45 |
}
|
46 |
|
47 |
/**
|
@@ -49,7 +53,7 @@ class Cartflows_Ca_Admin_Notices {
|
|
49 |
*/
|
50 |
public function show_admin_notices() {
|
51 |
|
52 |
-
$image_path = esc_url( CARTFLOWS_CA_URL . 'admin/assets/images/
|
53 |
|
54 |
Astra_Notices::add_notice(
|
55 |
array(
|
@@ -60,7 +64,7 @@ class Cartflows_Ca_Admin_Notices {
|
|
60 |
/* translators: %1$s white label plugin name and %2$s deactivation link */
|
61 |
'message' => sprintf(
|
62 |
'<div class="notice-image" style="display: flex;">
|
63 |
-
<img src="%1$s" class="custom-logo" alt="CartFlows Icon" itemprop="logo" style="max-width: 90px;
|
64 |
<div class="notice-content">
|
65 |
<div class="notice-heading">
|
66 |
%2$s
|
@@ -94,6 +98,46 @@ class Cartflows_Ca_Admin_Notices {
|
|
94 |
)
|
95 |
);
|
96 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
}
|
98 |
|
99 |
Cartflows_Ca_Admin_Notices::get_instance();
|
42 |
public function __construct() {
|
43 |
|
44 |
add_action( 'admin_init', array( $this, 'show_admin_notices' ) );
|
45 |
+
|
46 |
+
add_action( 'admin_notices', array( $this, 'show_weekly_report_email_settings_notice' ) );
|
47 |
+
|
48 |
+
add_action( 'wp_ajax_wcar_disable_weekly_report_email_notice', array( $this, 'disable_weekly_report_email_notice' ) );
|
49 |
}
|
50 |
|
51 |
/**
|
53 |
*/
|
54 |
public function show_admin_notices() {
|
55 |
|
56 |
+
$image_path = esc_url( CARTFLOWS_CA_URL . 'admin/assets/images/wcar-icon.png' );
|
57 |
|
58 |
Astra_Notices::add_notice(
|
59 |
array(
|
64 |
/* translators: %1$s white label plugin name and %2$s deactivation link */
|
65 |
'message' => sprintf(
|
66 |
'<div class="notice-image" style="display: flex;">
|
67 |
+
<img src="%1$s" class="custom-logo" alt="CartFlows Icon" itemprop="logo" style="max-width: 90px;"></div>
|
68 |
<div class="notice-content">
|
69 |
<div class="notice-heading">
|
70 |
%2$s
|
98 |
)
|
99 |
);
|
100 |
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Show the weekly email Notice
|
104 |
+
*
|
105 |
+
* @return void
|
106 |
+
*/
|
107 |
+
public function show_weekly_report_email_settings_notice() {
|
108 |
+
|
109 |
+
$is_show_notice = get_option( 'wcf_ca_show_weekly_report_email_notice', 'no' );
|
110 |
+
|
111 |
+
if ( 'yes' === $is_show_notice && current_user_can( 'manage_options' ) ) {
|
112 |
+
|
113 |
+
$setting_url = admin_url( 'admin.php?page=woo-cart-abandonment-recovery&action=settings#wcf-ca-weekly-report-email-settings' );
|
114 |
+
|
115 |
+
/* translators: %1$s Software Title, %2$s Plugin, %3$s Anchor opening tag, %4$s Anchor closing tag, %5$s Software Title. */
|
116 |
+
$message = sprintf( __( '%1$sWooCommerce Cart Abandonment recovery:%2$s We just introduced an awesome new feature, weekly order recovery reports via email. Now you can see how many orders we are recovering for your store each week, without having to log into your website. You can set the email address for these email from %3$shere.%4$s', 'woo-cart-abandonment-recovery' ), '<strong>', '</strong>', '<a class="wcf-ca-redirect-to-settings" target="_blank" href=" ' . esc_url( $setting_url ) . ' ">', '</a>' );
|
117 |
+
$output = '<div class="weekly-report-email-notice wcar-dismissible-notice notice notice-info is-dismissible">';
|
118 |
+
$output .= '<p>' . $message . '</p>';
|
119 |
+
$output .= '</div>';
|
120 |
+
|
121 |
+
echo wp_kses_post( $output );
|
122 |
+
}
|
123 |
+
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Disable the weekly email Notice
|
128 |
+
*
|
129 |
+
* @return void
|
130 |
+
*/
|
131 |
+
public function disable_weekly_report_email_notice() {
|
132 |
+
|
133 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
134 |
+
return;
|
135 |
+
}
|
136 |
+
|
137 |
+
check_ajax_referer( 'wcar_disable_weekly_report_email_notice', 'security' );
|
138 |
+
delete_option( 'wcf_ca_show_weekly_report_email_notice' );
|
139 |
+
wp_send_json_success();
|
140 |
+
}
|
141 |
}
|
142 |
|
143 |
Cartflows_Ca_Admin_Notices::get_instance();
|
classes/class-cartflows-ca-loader.php
CHANGED
@@ -81,7 +81,7 @@ if ( ! class_exists( 'CARTFLOWS_CA_Loader' ) ) {
|
|
81 |
define( 'CARTFLOWS_CA_BASE', plugin_basename( CARTFLOWS_CA_FILE ) );
|
82 |
define( 'CARTFLOWS_CA_DIR', plugin_dir_path( CARTFLOWS_CA_FILE ) );
|
83 |
define( 'CARTFLOWS_CA_URL', plugins_url( '/', CARTFLOWS_CA_FILE ) );
|
84 |
-
define( 'CARTFLOWS_CA_VER', '1.2.
|
85 |
|
86 |
define( 'CARTFLOWS_CA_SLUG', 'cartflows_ca' );
|
87 |
|
@@ -331,6 +331,8 @@ if ( ! class_exists( 'CARTFLOWS_CA_Loader' ) ) {
|
|
331 |
/* Cart abandonment templates class */
|
332 |
include_once CARTFLOWS_CA_DIR . 'modules/cart-abandonment/classes/class-cartflows-ca-module-loader.php';
|
333 |
|
|
|
|
|
334 |
}
|
335 |
|
336 |
|
81 |
define( 'CARTFLOWS_CA_BASE', plugin_basename( CARTFLOWS_CA_FILE ) );
|
82 |
define( 'CARTFLOWS_CA_DIR', plugin_dir_path( CARTFLOWS_CA_FILE ) );
|
83 |
define( 'CARTFLOWS_CA_URL', plugins_url( '/', CARTFLOWS_CA_FILE ) );
|
84 |
+
define( 'CARTFLOWS_CA_VER', '1.2.16' );
|
85 |
|
86 |
define( 'CARTFLOWS_CA_SLUG', 'cartflows_ca' );
|
87 |
|
331 |
/* Cart abandonment templates class */
|
332 |
include_once CARTFLOWS_CA_DIR . 'modules/cart-abandonment/classes/class-cartflows-ca-module-loader.php';
|
333 |
|
334 |
+
include_once CARTFLOWS_CA_DIR . 'modules/weekly-email-report/class-cartflows-ca-admin-report-emails.php';
|
335 |
+
|
336 |
}
|
337 |
|
338 |
|
classes/class-cartflows-ca-settings.php
CHANGED
@@ -55,7 +55,8 @@ class Cartflows_Ca_Settings {
|
|
55 |
// Start: Settings for cart abandonment.
|
56 |
add_settings_section(
|
57 |
WCF_CA_GENERAL_SETTINGS_SECTION,
|
58 |
-
|
|
|
59 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
60 |
WCF_CA_PAGE_NAME
|
61 |
);
|
@@ -149,7 +150,8 @@ class Cartflows_Ca_Settings {
|
|
149 |
|
150 |
add_settings_section(
|
151 |
WCF_CA_COUPONS_SETTINGS_SECTION,
|
152 |
-
|
|
|
153 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
154 |
WCF_CA_PAGE_NAME
|
155 |
);
|
@@ -186,7 +188,8 @@ class Cartflows_Ca_Settings {
|
|
186 |
// Start: Settings for email templates.
|
187 |
add_settings_section(
|
188 |
WCF_CA_EMAIL_SETTINGS_SECTION,
|
189 |
-
|
|
|
190 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
191 |
WCF_CA_PAGE_NAME
|
192 |
);
|
@@ -235,6 +238,44 @@ class Cartflows_Ca_Settings {
|
|
235 |
array( $this, 'wcf_ca_reply_email_validation' )
|
236 |
);
|
237 |
// End: Settings for email templates.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
238 |
// Start: Settings for coupon code.
|
239 |
add_settings_field(
|
240 |
'wcf_ca_zapier_tracking_status',
|
@@ -266,7 +307,8 @@ class Cartflows_Ca_Settings {
|
|
266 |
|
267 |
add_settings_section(
|
268 |
WCF_CA_ZAPIER_SETTINGS_SECTION,
|
269 |
-
|
|
|
270 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
271 |
WCF_CA_PAGE_NAME
|
272 |
);
|
@@ -335,7 +377,8 @@ class Cartflows_Ca_Settings {
|
|
335 |
// Start: Settings for Zapier.
|
336 |
add_settings_section(
|
337 |
WCF_CA_ZAPIER_SETTINGS_SECTION,
|
338 |
-
|
|
|
339 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
340 |
WCF_CA_PAGE_NAME
|
341 |
);
|
@@ -344,7 +387,8 @@ class Cartflows_Ca_Settings {
|
|
344 |
// Start: GDPR Settings.
|
345 |
add_settings_section(
|
346 |
WCF_CA_GDPR_SETTINGS_SECTION,
|
347 |
-
|
|
|
348 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
349 |
WCF_CA_PAGE_NAME
|
350 |
);
|
@@ -381,7 +425,8 @@ class Cartflows_Ca_Settings {
|
|
381 |
|
382 |
add_settings_section(
|
383 |
WCF_CA_PLUGIN_SETTINGS_SECTION,
|
384 |
-
|
|
|
385 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
386 |
WCF_CA_PAGE_NAME
|
387 |
);
|
@@ -400,6 +445,42 @@ class Cartflows_Ca_Settings {
|
|
400 |
|
401 |
}
|
402 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
403 |
/**
|
404 |
* Callback for add utm param.
|
405 |
*
|
@@ -674,7 +755,7 @@ class Cartflows_Ca_Settings {
|
|
674 |
<?php
|
675 |
foreach ( $roles_names_array as $role_name ) {
|
676 |
?>
|
677 |
-
<input type="checkbox" name="wcf_ca_ignore_users[]"
|
678 |
<?php
|
679 |
if ( ! empty( $wcf_ca_ignore_users ) ) {
|
680 |
foreach ( $wcf_ca_ignore_users as $user ) {
|
55 |
// Start: Settings for cart abandonment.
|
56 |
add_settings_section(
|
57 |
WCF_CA_GENERAL_SETTINGS_SECTION,
|
58 |
+
/* translators: %1$s: html start, %2$s: html end*/
|
59 |
+
sprintf( __( '%1$sCart Abandonment Settings%2$s', 'woo-cart-abandonment-recovery' ), '<span class="wcf-ca-tracking-settings">', '</span>' ),
|
60 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
61 |
WCF_CA_PAGE_NAME
|
62 |
);
|
150 |
|
151 |
add_settings_section(
|
152 |
WCF_CA_COUPONS_SETTINGS_SECTION,
|
153 |
+
/* translators: %1$s: html start, %2$s: html end*/
|
154 |
+
sprintf( __( '%1$sCoupons Settings%2$s', 'woo-cart-abandonment-recovery' ), '<span class="wcf-ca-coupon-settings">', '</span>' ),
|
155 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
156 |
WCF_CA_PAGE_NAME
|
157 |
);
|
188 |
// Start: Settings for email templates.
|
189 |
add_settings_section(
|
190 |
WCF_CA_EMAIL_SETTINGS_SECTION,
|
191 |
+
/* translators: %1$s: html start, %2$s: html end*/
|
192 |
+
sprintf( __( '%1$sEmail Settings%2$s', 'woo-cart-abandonment-recovery' ), '<span class="wcf-ca-email-settings">', '</span>' ),
|
193 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
194 |
WCF_CA_PAGE_NAME
|
195 |
);
|
238 |
array( $this, 'wcf_ca_reply_email_validation' )
|
239 |
);
|
240 |
// End: Settings for email templates.
|
241 |
+
// Start: Settings for recovery report email templates.
|
242 |
+
add_settings_section(
|
243 |
+
WCF_CA_RECOVERY_EMAIL_SETTINGS_SECTION,
|
244 |
+
/* translators: %1$s: html start, %2$s: html end*/
|
245 |
+
sprintf( __( '%1$sRecovery Report Emails%2$s', 'woo-cart-abandonment-recovery' ), '<span id="wcf-ca-weekly-report-email-settings">', '<span/>' ),
|
246 |
+
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
247 |
+
WCF_CA_PAGE_NAME
|
248 |
+
);
|
249 |
+
|
250 |
+
add_settings_field(
|
251 |
+
'wcf_ca_send_recovery_report_emails_to_admin',
|
252 |
+
__( 'Send recovery report emails', 'woo-cart-abandonment-recovery' ),
|
253 |
+
array( $this, 'send_recovery_report_emails_to_admin' ),
|
254 |
+
WCF_CA_PAGE_NAME,
|
255 |
+
WCF_CA_RECOVERY_EMAIL_SETTINGS_SECTION,
|
256 |
+
array( __( 'Enable sending recovery report emails.', 'woo-cart-abandonment-recovery' ) )
|
257 |
+
);
|
258 |
+
|
259 |
+
add_settings_field(
|
260 |
+
'wcf_ca_admin_email',
|
261 |
+
__( 'Email address', 'woo-cart-abandonment-recovery' ),
|
262 |
+
array( $this, 'admin_email_callback' ),
|
263 |
+
WCF_CA_PAGE_NAME,
|
264 |
+
WCF_CA_RECOVERY_EMAIL_SETTINGS_SECTION,
|
265 |
+
array( __( 'Email to send recovery report emails.', 'woo-cart-abandonment-recovery' ) )
|
266 |
+
);
|
267 |
+
|
268 |
+
register_setting(
|
269 |
+
WCF_CA_SETTINGS_OPTION_GROUP,
|
270 |
+
'wcf_ca_send_recovery_report_emails_to_admin'
|
271 |
+
);
|
272 |
+
|
273 |
+
register_setting(
|
274 |
+
WCF_CA_SETTINGS_OPTION_GROUP,
|
275 |
+
'wcf_ca_admin_email',
|
276 |
+
array( $this, 'wcf_ca_from_email_validation' )
|
277 |
+
);
|
278 |
+
// End: Settings for recovery report email templates.
|
279 |
// Start: Settings for coupon code.
|
280 |
add_settings_field(
|
281 |
'wcf_ca_zapier_tracking_status',
|
307 |
|
308 |
add_settings_section(
|
309 |
WCF_CA_ZAPIER_SETTINGS_SECTION,
|
310 |
+
/* translators: %1$s: html start, %2$s: html end*/
|
311 |
+
sprintf( __( '%1$sCoupon Code Settings%2$s', 'woo-cart-abandonment-recovery' ), '<span class="wcf-ca-webhook-coupon-settings">', '</span>' ),
|
312 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
313 |
WCF_CA_PAGE_NAME
|
314 |
);
|
377 |
// Start: Settings for Zapier.
|
378 |
add_settings_section(
|
379 |
WCF_CA_ZAPIER_SETTINGS_SECTION,
|
380 |
+
/* translators: %1$s: html start, %2$s: html end*/
|
381 |
+
sprintf( __( '%1$sWebhook Settings%2$s', 'woo-cart-abandonment-recovery' ), '<span class="wcf-ca-webhook-settings">', '</span>' ),
|
382 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
383 |
WCF_CA_PAGE_NAME
|
384 |
);
|
387 |
// Start: GDPR Settings.
|
388 |
add_settings_section(
|
389 |
WCF_CA_GDPR_SETTINGS_SECTION,
|
390 |
+
/* translators: %1$s: html start, %2$s: html end*/
|
391 |
+
sprintf( __( '%1$sGDPR Settings%2$s', 'woo-cart-abandonment-recovery' ), '<span class="wcf-ca-gdpr-settings">', '</span>' ),
|
392 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
393 |
WCF_CA_PAGE_NAME
|
394 |
);
|
425 |
|
426 |
add_settings_section(
|
427 |
WCF_CA_PLUGIN_SETTINGS_SECTION,
|
428 |
+
/* translators: %1$s: html start, %2$s: html end*/
|
429 |
+
sprintf( __( '%1$sPlugin Settings%2$s', 'woo-cart-abandonment-recovery' ), '<span class="wcf-ca-plugin-settings">', '</span>' ),
|
430 |
array( $this, 'wcf_cart_abandonment_options_callback' ),
|
431 |
WCF_CA_PAGE_NAME
|
432 |
);
|
445 |
|
446 |
}
|
447 |
|
448 |
+
/**
|
449 |
+
* Callback for send recovery report email to admin.
|
450 |
+
*
|
451 |
+
* @param array $args args.
|
452 |
+
* @since 1.1.5
|
453 |
+
*/
|
454 |
+
public function send_recovery_report_emails_to_admin( $args ) {
|
455 |
+
$email_admin_on_recovery = get_option( 'wcf_ca_send_recovery_report_emails_to_admin', 'on' );
|
456 |
+
|
457 |
+
$html = '';
|
458 |
+
printf(
|
459 |
+
'<input type="checkbox" id="wcf_ca_send_recovery_report_emails_to_admin" name="wcf_ca_send_recovery_report_emails_to_admin" value="on"
|
460 |
+
' . checked( 'on', $email_admin_on_recovery, false ) . ' />'
|
461 |
+
);
|
462 |
+
$html .= '<label for="wcf_ca_send_recovery_report_emails_to_admin"> ' . $args[0] . '</label>';
|
463 |
+
echo wp_kses_post( $html );
|
464 |
+
}
|
465 |
+
|
466 |
+
/**
|
467 |
+
* Callback for send recovery report email to admin.
|
468 |
+
*
|
469 |
+
* @param array $args args.
|
470 |
+
* @since 1.1.5
|
471 |
+
*/
|
472 |
+
public function admin_email_callback( $args ) {
|
473 |
+
$wcf_ca_admin_email = get_option( 'wcf_ca_admin_email', get_option( 'admin_email' ) );
|
474 |
+
|
475 |
+
$html = '';
|
476 |
+
printf(
|
477 |
+
'<input class="wcf-ca-trigger-input wcf-ca-recovery-email-inputs" type="text" id="wcf_ca_admin_email" name="wcf_ca_admin_email" value="%s" />',
|
478 |
+
isset( $wcf_ca_admin_email ) ? esc_attr( $wcf_ca_admin_email ) : ''
|
479 |
+
);
|
480 |
+
$html = '<label for="wcf_ca_admin_email"> ' . $args[0] . '</label>';
|
481 |
+
echo wp_kses_post( $html );
|
482 |
+
}
|
483 |
+
|
484 |
/**
|
485 |
* Callback for add utm param.
|
486 |
*
|
755 |
<?php
|
756 |
foreach ( $roles_names_array as $role_name ) {
|
757 |
?>
|
758 |
+
<input type="checkbox" name="wcf_ca_ignore_users[]"
|
759 |
<?php
|
760 |
if ( ! empty( $wcf_ca_ignore_users ) ) {
|
761 |
foreach ( $wcf_ca_ignore_users as $user ) {
|
classes/class-cartflows-ca-update.php
CHANGED
@@ -79,6 +79,10 @@ if ( ! class_exists( 'Cartflows_Ca_Update' ) ) :
|
|
79 |
return;
|
80 |
}
|
81 |
|
|
|
|
|
|
|
|
|
82 |
// Update auto saved version number.
|
83 |
update_option( 'wcf_ca_version', CARTFLOWS_CA_VER );
|
84 |
|
79 |
return;
|
80 |
}
|
81 |
|
82 |
+
if ( version_compare( $saved_version, '1.2.16', '<' ) ) {
|
83 |
+
update_option( 'wcf_ca_show_weekly_report_email_notice', 'yes' );
|
84 |
+
}
|
85 |
+
|
86 |
// Update auto saved version number.
|
87 |
update_option( 'wcf_ca_version', CARTFLOWS_CA_VER );
|
88 |
|
languages/woo-cart-abandonment-recovery.pot
CHANGED
@@ -2,14 +2,14 @@
|
|
2 |
# This file is distributed under the same license as the WooCommerce Cart Abandonment Recovery plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: WooCommerce Cart Abandonment Recovery 1.2.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woo-cart-abandonment-recovery\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\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-
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.5.0\n"
|
15 |
"X-Domain: woo-cart-abandonment-recovery\n"
|
@@ -71,239 +71,273 @@ msgstr ""
|
|
71 |
msgid "Learn More."
|
72 |
msgstr ""
|
73 |
|
74 |
-
#: classes/class-cartflows-ca-admin-notices.php:
|
75 |
msgid "Hello! Seems like you have used WooCommerce Cart Abandonment Recovery plugin to recover abandoned carts. — Thanks a ton!"
|
76 |
msgstr ""
|
77 |
|
78 |
-
#: classes/class-cartflows-ca-admin-notices.php:
|
79 |
msgid "Could you please do us a BIG favor and give it a 5-star rating on WordPress? This would boost our motivation and help other users make a comfortable decision while choosing the CartFlows cart abandonment plugin."
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: classes/class-cartflows-ca-admin-notices.php:
|
83 |
msgid "Ok, you deserve it"
|
84 |
msgstr ""
|
85 |
|
86 |
-
#: classes/class-cartflows-ca-admin-notices.php:
|
87 |
msgid "Nope, maybe later"
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: classes/class-cartflows-ca-admin-notices.php:
|
91 |
msgid "I already did"
|
92 |
msgstr ""
|
93 |
|
|
|
|
|
|
|
|
|
|
|
94 |
#. translators: %s: html tags
|
95 |
-
#: classes/class-cartflows-ca-loader.php:
|
96 |
-
msgid "Required database tables are not
|
97 |
msgstr ""
|
98 |
|
99 |
#. translators: %s: html tags
|
100 |
-
#: classes/class-cartflows-ca-loader.php:
|
101 |
msgid "The %1$sWooCommerce Cart Abandonment Recovery%2$s plugin requires %1$sWooCommerce%2$s plugin installed & activated."
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: classes/class-cartflows-ca-loader.php:
|
105 |
msgid "Activate WooCommerce"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: classes/class-cartflows-ca-loader.php:
|
109 |
msgid "Install WooCommerce"
|
110 |
msgstr ""
|
111 |
|
112 |
-
|
113 |
-
|
|
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: classes/class-cartflows-ca-settings.php:
|
117 |
msgid "Enable Tracking"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: classes/class-cartflows-ca-settings.php:
|
121 |
msgid "Start capturing abandoned carts. <br/><br/> <span class=\"description\"><strong>Note:</strong> Cart will be considered abandoned if order is not completed in cart abandoned cut-off time.</span>"
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: classes/class-cartflows-ca-settings.php:
|
125 |
msgid "Cart abandoned cut-off time"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: classes/class-cartflows-ca-settings.php:
|
129 |
msgid "Minutes. <br/><br/> <span class=\"description\"><strong>Note:</strong> Consider cart abandoned after above entered minutes of item being added to cart and order not placed.</span><span class=\"dashicons dashicons-editor-help\" title=\"Please remove the custom code to update cron cut off time, if added.\"></span>"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: classes/class-cartflows-ca-settings.php:
|
133 |
msgid "Disable Tracking For"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: classes/class-cartflows-ca-settings.php:
|
137 |
msgid " It will ignore selected users from abandonment process when they logged in, and hence they can not receive mail for cart abandoned by themselves."
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: classes/class-cartflows-ca-settings.php:
|
141 |
msgid "Exclude email sending For"
|
142 |
msgstr ""
|
143 |
|
144 |
-
#: classes/class-cartflows-ca-settings.php:
|
145 |
msgid " It will not send future recovery emails to selected order status and will mark as recovered."
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: classes/class-cartflows-ca-settings.php:
|
149 |
msgid "Notify recovery to admin"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: classes/class-cartflows-ca-settings.php:
|
153 |
msgid "This option will send an email to admin on new order recovery."
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: classes/class-cartflows-ca-settings.php:
|
157 |
msgid "UTM parameters"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: classes/class-cartflows-ca-settings.php:
|
161 |
msgid "The UTM parameters will be appended to the checkout page links which is available in the recovery emails."
|
162 |
msgstr ""
|
163 |
|
164 |
-
|
165 |
-
|
|
|
166 |
msgstr ""
|
167 |
|
168 |
-
#: classes/class-cartflows-ca-settings.php:
|
169 |
msgid "Delete Coupons Automatically"
|
170 |
msgstr ""
|
171 |
|
172 |
-
#: classes/class-cartflows-ca-settings.php:
|
173 |
msgid "Delete coupons automatically on weekly basis.<br><span class=\"description\"><br/><strong>Note:</strong> This option will set a weekly cron to delete all <strong>expired</strong> and <strong>used</strong> coupons automatically in the background.</p>"
|
174 |
msgstr ""
|
175 |
|
176 |
-
#: classes/class-cartflows-ca-settings.php:
|
177 |
msgid "Delete Coupons Manually"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: classes/class-cartflows-ca-settings.php:
|
181 |
msgid "<br><strong>Note:</strong> This will delete all <strong>expired</strong> and <strong>used</strong> coupons that were created by Woo Cart Abandonment Recovery.</p>"
|
182 |
msgstr ""
|
183 |
|
184 |
-
|
185 |
-
|
|
|
186 |
msgstr ""
|
187 |
|
188 |
-
#: classes/class-cartflows-ca-settings.php:
|
189 |
msgid "\"From\" Name"
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: classes/class-cartflows-ca-settings.php:
|
193 |
msgid "Name will appear in email sent."
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: classes/class-cartflows-ca-settings.php:
|
197 |
msgid "\"From\" Address"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: classes/class-cartflows-ca-settings.php:
|
201 |
msgid "Email which send from."
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: classes/class-cartflows-ca-settings.php:
|
205 |
msgid "\"Reply To\" Address"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: classes/class-cartflows-ca-settings.php:
|
209 |
msgid "When a user clicks reply, which email address should that reply be sent to?"
|
210 |
msgstr ""
|
211 |
|
212 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
msgid "Enable Webhook"
|
214 |
msgstr ""
|
215 |
|
216 |
-
#: classes/class-cartflows-ca-settings.php:
|
217 |
msgid "Allows you to trigger webhook automatically upon cart abandonment and recovery."
|
218 |
msgstr ""
|
219 |
|
220 |
-
#: classes/class-cartflows-ca-settings.php:
|
221 |
msgid "Webhook URL"
|
222 |
msgstr ""
|
223 |
|
224 |
-
|
225 |
-
|
|
|
226 |
msgstr ""
|
227 |
|
228 |
-
#: classes/class-cartflows-ca-settings.php:
|
229 |
msgid "Create Coupon Code"
|
230 |
msgstr ""
|
231 |
|
232 |
-
#: classes/class-cartflows-ca-settings.php:
|
233 |
msgid "Auto-create the special coupon for the abandoned cart to send over the emails."
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: classes/class-cartflows-ca-settings.php:
|
237 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
238 |
msgid "Discount Type"
|
239 |
msgstr ""
|
240 |
|
241 |
-
#: classes/class-cartflows-ca-settings.php:
|
242 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
243 |
msgid "Coupon Amount"
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: classes/class-cartflows-ca-settings.php:
|
247 |
msgid "Coupon Expires After"
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: classes/class-cartflows-ca-settings.php:
|
251 |
msgid "<br/><br/> <span class=\"description\"><strong>Note: </strong>. Enter zero (0) to restrict coupon from expiring.</span>"
|
252 |
msgstr ""
|
253 |
|
254 |
-
|
255 |
-
|
|
|
256 |
msgstr ""
|
257 |
|
258 |
-
|
259 |
-
|
|
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: classes/class-cartflows-ca-settings.php:
|
263 |
msgid "Enable GDPR Integration"
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: classes/class-cartflows-ca-settings.php:
|
267 |
msgid "Ask confirmation from the user before tracking data. <br/><br/> <span class=\"description\"><strong>Note:</strong> By checking this, it will show up confirmation text below the email id on checkout page.</span>"
|
268 |
msgstr ""
|
269 |
|
270 |
-
#: classes/class-cartflows-ca-settings.php:
|
271 |
msgid "GDPR Message"
|
272 |
msgstr ""
|
273 |
|
274 |
-
|
275 |
-
|
|
|
276 |
msgstr ""
|
277 |
|
278 |
-
#: classes/class-cartflows-ca-settings.php:
|
279 |
msgid "Delete Plugin Data"
|
280 |
msgstr ""
|
281 |
|
282 |
-
#: classes/class-cartflows-ca-settings.php:
|
283 |
msgid "Enabling this option will delete the plugin data while deleting the Plugin."
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: classes/class-cartflows-ca-settings.php:
|
287 |
msgid "Add UTM parameter per line."
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: classes/class-cartflows-ca-settings.php:
|
291 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
292 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
293 |
msgid "Hour(s)"
|
294 |
msgstr ""
|
295 |
|
296 |
-
#: classes/class-cartflows-ca-settings.php:
|
297 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
298 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
299 |
msgid "Day(s)"
|
300 |
msgstr ""
|
301 |
|
302 |
-
#: classes/class-cartflows-ca-settings.php:
|
303 |
msgid "Coupon code should be numeric and has to be greater than or equals to 1."
|
304 |
msgstr ""
|
305 |
|
306 |
-
#: classes/class-cartflows-ca-settings.php:
|
307 |
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates-table.php:88
|
308 |
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates-table.php:122
|
309 |
#: modules/cart-abandonment/classes/class-cartflows-ca-order-table.php:86
|
@@ -311,11 +345,11 @@ msgstr ""
|
|
311 |
msgid "Delete"
|
312 |
msgstr ""
|
313 |
|
314 |
-
#: classes/class-cartflows-ca-settings.php:
|
315 |
msgid "Invalid email \"From\" address field"
|
316 |
msgstr ""
|
317 |
|
318 |
-
#: classes/class-cartflows-ca-settings.php:
|
319 |
msgid "Invalid email \"Reply\" address field"
|
320 |
msgstr ""
|
321 |
|
@@ -345,29 +379,29 @@ msgid "Settings"
|
|
345 |
msgstr ""
|
346 |
|
347 |
#: classes/class-cartflows-ca-tabs.php:450
|
348 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:
|
349 |
msgid "Item"
|
350 |
msgstr ""
|
351 |
|
352 |
#: classes/class-cartflows-ca-tabs.php:451
|
353 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:
|
354 |
#: modules/cart-abandonment/classes/class-cartflows-ca-order-table.php:236
|
355 |
#: modules/cart-abandonment/includes/cartflows-ca-single-report-details.php:176
|
356 |
msgid "Name"
|
357 |
msgstr ""
|
358 |
|
359 |
#: classes/class-cartflows-ca-tabs.php:452
|
360 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:
|
361 |
msgid "Quantity"
|
362 |
msgstr ""
|
363 |
|
364 |
#: classes/class-cartflows-ca-tabs.php:453
|
365 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:
|
366 |
msgid "Price"
|
367 |
msgstr ""
|
368 |
|
369 |
#: classes/class-cartflows-ca-tabs.php:454
|
370 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:
|
371 |
msgid "Line Subtotal"
|
372 |
msgstr ""
|
373 |
|
@@ -409,16 +443,14 @@ msgid "there"
|
|
409 |
msgstr ""
|
410 |
|
411 |
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:124
|
412 |
-
|
413 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-order-table.php:142
|
414 |
-
msgid "Unsubscribe"
|
415 |
msgstr ""
|
416 |
|
417 |
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:143
|
418 |
msgid "Admin"
|
419 |
msgstr ""
|
420 |
|
421 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:
|
422 |
msgid "Cart Total ( Cart Total + Shipping + Tax )"
|
423 |
msgstr ""
|
424 |
|
@@ -447,195 +479,203 @@ msgstr ""
|
|
447 |
msgid "Activate Template"
|
448 |
msgstr ""
|
449 |
|
450 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
451 |
msgid "Admin Firstname"
|
452 |
msgstr ""
|
453 |
|
454 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
455 |
msgid "Admin Company"
|
456 |
msgstr ""
|
457 |
|
458 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
459 |
msgid "Abandoned Product Details Table"
|
460 |
msgstr ""
|
461 |
|
462 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
463 |
msgid "Abandoned Product Names"
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
467 |
msgid "Cart Checkout URL"
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
471 |
msgid "Coupon Code"
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
475 |
msgid "Customer First Name"
|
476 |
msgstr ""
|
477 |
|
478 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
479 |
msgid "Customer Last Name"
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
483 |
msgid "Customer Full Name"
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
487 |
msgid "Cart Abandonment Date"
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
491 |
msgid "Site URL"
|
492 |
msgstr ""
|
493 |
|
494 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
495 |
msgid "Unsubscribe Link"
|
496 |
msgstr ""
|
497 |
|
498 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
499 |
msgid "Triggering..."
|
500 |
msgstr ""
|
501 |
|
502 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
503 |
msgid "Trigger Failed."
|
504 |
msgstr ""
|
505 |
|
506 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
507 |
msgid "Trigger Success."
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
511 |
msgid "Please verify webhook URL."
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
515 |
msgid "Webhook URL is required."
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
519 |
msgid "Something went wrong"
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
523 |
msgid "Activated"
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
527 |
msgid "Deactivated"
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
531 |
msgid "The Email Template has been successfully added."
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
535 |
msgid "The Email Template has been cloned successfully."
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
539 |
msgid "The Email Template has been successfully deleted."
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
543 |
msgid "The Email Template has been successfully updated."
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
547 |
msgid "Default Email Templates has been restored successfully."
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
551 |
msgid "Activate Template now?"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
555 |
msgid "Template Name:"
|
556 |
msgstr ""
|
557 |
|
558 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
559 |
msgid "Email Subject:"
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
563 |
msgid "Email Body:"
|
564 |
msgstr ""
|
565 |
|
566 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
567 |
msgid "Create Coupon"
|
568 |
msgstr ""
|
569 |
|
570 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
571 |
msgid "Allows you to send new coupon only for this template."
|
572 |
msgstr ""
|
573 |
|
574 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
575 |
msgid "Coupon expiry date"
|
576 |
msgstr ""
|
577 |
|
578 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
579 |
msgid "Enter zero (0) to restrict coupon from expiring"
|
580 |
msgstr ""
|
581 |
|
582 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
583 |
msgid "Free Shipping"
|
584 |
msgstr ""
|
585 |
|
586 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
587 |
msgid "Allows you to grant free shipping. A free shipping method must be enabled in your shipping zone and be set to require \"a valid free shipping coupon\". "
|
588 |
msgstr ""
|
589 |
|
590 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
591 |
msgid "Individual use only"
|
592 |
msgstr ""
|
593 |
|
594 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
595 |
msgid "Check this box if the coupon cannot be used in conjunction with other coupons."
|
596 |
msgstr ""
|
597 |
|
598 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
599 |
msgid "Auto Apply Coupon"
|
600 |
msgstr ""
|
601 |
|
602 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
603 |
msgid " Automatically add the coupon to the cart at the checkout."
|
604 |
msgstr ""
|
605 |
|
606 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
607 |
msgid "Send This Email"
|
608 |
msgstr ""
|
609 |
|
610 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
611 |
msgid "Minute(s)"
|
612 |
msgstr ""
|
613 |
|
614 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
615 |
msgid "after cart is abandoned."
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
619 |
msgid "Send Test Email To:"
|
620 |
msgstr ""
|
621 |
|
622 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
623 |
msgid "Send a test email"
|
624 |
msgstr ""
|
625 |
|
626 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
627 |
msgid "Save Changes"
|
628 |
msgstr ""
|
629 |
|
630 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
631 |
msgid "Update Changes"
|
632 |
msgstr ""
|
633 |
|
634 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
635 |
msgid "Create New Template"
|
636 |
msgstr ""
|
637 |
|
638 |
-
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:
|
639 |
msgid " Restore Default Templates"
|
640 |
msgstr ""
|
641 |
|
@@ -643,6 +683,11 @@ msgstr ""
|
|
643 |
msgid "View"
|
644 |
msgstr ""
|
645 |
|
|
|
|
|
|
|
|
|
|
|
646 |
#: modules/cart-abandonment/classes/class-cartflows-ca-order-table.php:237
|
647 |
msgid "Email"
|
648 |
msgstr ""
|
@@ -680,6 +725,7 @@ msgstr ""
|
|
680 |
|
681 |
#: modules/cart-abandonment/classes/class-cartflows-ca-tracking.php:250
|
682 |
#: modules/cart-abandonment/includes/cartflows-ca-single-report-details.php:167
|
|
|
683 |
msgid "Unsubscribed"
|
684 |
msgstr ""
|
685 |
|
@@ -779,10 +825,6 @@ msgstr ""
|
|
779 |
msgid "Billing Address"
|
780 |
msgstr ""
|
781 |
|
782 |
-
#: modules/cart-abandonment/includes/cartflows-ca-single-report-details.php:179
|
783 |
-
msgid "Email address"
|
784 |
-
msgstr ""
|
785 |
-
|
786 |
#: modules/cart-abandonment/includes/cartflows-ca-single-report-details.php:184
|
787 |
msgid "Phone"
|
788 |
msgstr ""
|
@@ -917,3 +959,15 @@ msgstr ""
|
|
917 |
#: modules/cart-abandonment/includes/cartflows-cart-abandonment-tabs.php:16
|
918 |
msgid "WooCommerce Cart Abandonment Recovery "
|
919 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
# This file is distributed under the same license as the WooCommerce Cart Abandonment Recovery plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: WooCommerce Cart Abandonment Recovery 1.2.16\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woo-cart-abandonment-recovery\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\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-05-17T05:56:18+00:00\n"
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.5.0\n"
|
15 |
"X-Domain: woo-cart-abandonment-recovery\n"
|
71 |
msgid "Learn More."
|
72 |
msgstr ""
|
73 |
|
74 |
+
#: classes/class-cartflows-ca-admin-notices.php:88
|
75 |
msgid "Hello! Seems like you have used WooCommerce Cart Abandonment Recovery plugin to recover abandoned carts. — Thanks a ton!"
|
76 |
msgstr ""
|
77 |
|
78 |
+
#: classes/class-cartflows-ca-admin-notices.php:89
|
79 |
msgid "Could you please do us a BIG favor and give it a 5-star rating on WordPress? This would boost our motivation and help other users make a comfortable decision while choosing the CartFlows cart abandonment plugin."
|
80 |
msgstr ""
|
81 |
|
82 |
+
#: classes/class-cartflows-ca-admin-notices.php:91
|
83 |
msgid "Ok, you deserve it"
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: classes/class-cartflows-ca-admin-notices.php:93
|
87 |
msgid "Nope, maybe later"
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: classes/class-cartflows-ca-admin-notices.php:94
|
91 |
msgid "I already did"
|
92 |
msgstr ""
|
93 |
|
94 |
+
#. translators: %1$s Software Title, %2$s Plugin, %3$s Anchor opening tag, %4$s Anchor closing tag, %5$s Software Title.
|
95 |
+
#: classes/class-cartflows-ca-admin-notices.php:116
|
96 |
+
msgid "%1$sWooCommerce Cart Abandonment recovery:%2$s We just introduced an awesome new feature, weekly order recovery reports via email. Now you can see how many orders we are recovering for your store each week, without having to log into your website. You can set the email address for these email from %3$shere.%4$s"
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
#. translators: %s: html tags
|
100 |
+
#: classes/class-cartflows-ca-loader.php:139
|
101 |
+
msgid "Required database tables are not created for %1$sWooCommerce Cart Abandonment Recovery%2$s plugin. Please make sure that the database user has the REFERENCES privilege to create tables."
|
102 |
msgstr ""
|
103 |
|
104 |
#. translators: %s: html tags
|
105 |
+
#: classes/class-cartflows-ca-loader.php:162
|
106 |
msgid "The %1$sWooCommerce Cart Abandonment Recovery%2$s plugin requires %1$sWooCommerce%2$s plugin installed & activated."
|
107 |
msgstr ""
|
108 |
|
109 |
+
#: classes/class-cartflows-ca-loader.php:171
|
110 |
msgid "Activate WooCommerce"
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: classes/class-cartflows-ca-loader.php:179
|
114 |
msgid "Install WooCommerce"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#. translators: %1$s: html start, %2$s: html end
|
118 |
+
#: classes/class-cartflows-ca-settings.php:59
|
119 |
+
msgid "%1$sCart Abandonment Settings%2$s"
|
120 |
msgstr ""
|
121 |
|
122 |
+
#: classes/class-cartflows-ca-settings.php:66
|
123 |
msgid "Enable Tracking"
|
124 |
msgstr ""
|
125 |
|
126 |
+
#: classes/class-cartflows-ca-settings.php:70
|
127 |
msgid "Start capturing abandoned carts. <br/><br/> <span class=\"description\"><strong>Note:</strong> Cart will be considered abandoned if order is not completed in cart abandoned cut-off time.</span>"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: classes/class-cartflows-ca-settings.php:80
|
131 |
msgid "Cart abandoned cut-off time"
|
132 |
msgstr ""
|
133 |
|
134 |
+
#: classes/class-cartflows-ca-settings.php:84
|
135 |
msgid "Minutes. <br/><br/> <span class=\"description\"><strong>Note:</strong> Consider cart abandoned after above entered minutes of item being added to cart and order not placed.</span><span class=\"dashicons dashicons-editor-help\" title=\"Please remove the custom code to update cron cut off time, if added.\"></span>"
|
136 |
msgstr ""
|
137 |
|
138 |
+
#: classes/class-cartflows-ca-settings.php:94
|
139 |
msgid "Disable Tracking For"
|
140 |
msgstr ""
|
141 |
|
142 |
+
#: classes/class-cartflows-ca-settings.php:98
|
143 |
msgid " It will ignore selected users from abandonment process when they logged in, and hence they can not receive mail for cart abandoned by themselves."
|
144 |
msgstr ""
|
145 |
|
146 |
+
#: classes/class-cartflows-ca-settings.php:108
|
147 |
msgid "Exclude email sending For"
|
148 |
msgstr ""
|
149 |
|
150 |
+
#: classes/class-cartflows-ca-settings.php:112
|
151 |
msgid " It will not send future recovery emails to selected order status and will mark as recovered."
|
152 |
msgstr ""
|
153 |
|
154 |
+
#: classes/class-cartflows-ca-settings.php:122
|
155 |
msgid "Notify recovery to admin"
|
156 |
msgstr ""
|
157 |
|
158 |
+
#: classes/class-cartflows-ca-settings.php:126
|
159 |
msgid "This option will send an email to admin on new order recovery."
|
160 |
msgstr ""
|
161 |
|
162 |
+
#: classes/class-cartflows-ca-settings.php:136
|
163 |
msgid "UTM parameters"
|
164 |
msgstr ""
|
165 |
|
166 |
+
#: classes/class-cartflows-ca-settings.php:140
|
167 |
msgid "The UTM parameters will be appended to the checkout page links which is available in the recovery emails."
|
168 |
msgstr ""
|
169 |
|
170 |
+
#. translators: %1$s: html start, %2$s: html end
|
171 |
+
#: classes/class-cartflows-ca-settings.php:154
|
172 |
+
msgid "%1$sCoupons Settings%2$s"
|
173 |
msgstr ""
|
174 |
|
175 |
+
#: classes/class-cartflows-ca-settings.php:161
|
176 |
msgid "Delete Coupons Automatically"
|
177 |
msgstr ""
|
178 |
|
179 |
+
#: classes/class-cartflows-ca-settings.php:165
|
180 |
msgid "Delete coupons automatically on weekly basis.<br><span class=\"description\"><br/><strong>Note:</strong> This option will set a weekly cron to delete all <strong>expired</strong> and <strong>used</strong> coupons automatically in the background.</p>"
|
181 |
msgstr ""
|
182 |
|
183 |
+
#: classes/class-cartflows-ca-settings.php:175
|
184 |
msgid "Delete Coupons Manually"
|
185 |
msgstr ""
|
186 |
|
187 |
+
#: classes/class-cartflows-ca-settings.php:179
|
188 |
msgid "<br><strong>Note:</strong> This will delete all <strong>expired</strong> and <strong>used</strong> coupons that were created by Woo Cart Abandonment Recovery.</p>"
|
189 |
msgstr ""
|
190 |
|
191 |
+
#. translators: %1$s: html start, %2$s: html end
|
192 |
+
#: classes/class-cartflows-ca-settings.php:192
|
193 |
+
msgid "%1$sEmail Settings%2$s"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: classes/class-cartflows-ca-settings.php:199
|
197 |
msgid "\"From\" Name"
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: classes/class-cartflows-ca-settings.php:203
|
201 |
msgid "Name will appear in email sent."
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: classes/class-cartflows-ca-settings.php:208
|
205 |
msgid "\"From\" Address"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: classes/class-cartflows-ca-settings.php:212
|
209 |
msgid "Email which send from."
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: classes/class-cartflows-ca-settings.php:217
|
213 |
msgid "\"Reply To\" Address"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: classes/class-cartflows-ca-settings.php:221
|
217 |
msgid "When a user clicks reply, which email address should that reply be sent to?"
|
218 |
msgstr ""
|
219 |
|
220 |
+
#. translators: %1$s: html start, %2$s: html end
|
221 |
+
#: classes/class-cartflows-ca-settings.php:245
|
222 |
+
msgid "%1$sRecovery Report Emails%2$s"
|
223 |
+
msgstr ""
|
224 |
+
|
225 |
+
#: classes/class-cartflows-ca-settings.php:252
|
226 |
+
msgid "Send recovery report emails"
|
227 |
+
msgstr ""
|
228 |
+
|
229 |
+
#: classes/class-cartflows-ca-settings.php:256
|
230 |
+
msgid "Enable sending recovery report emails."
|
231 |
+
msgstr ""
|
232 |
+
|
233 |
+
#: classes/class-cartflows-ca-settings.php:261
|
234 |
+
#: modules/cart-abandonment/includes/cartflows-ca-single-report-details.php:179
|
235 |
+
msgid "Email address"
|
236 |
+
msgstr ""
|
237 |
+
|
238 |
+
#: classes/class-cartflows-ca-settings.php:265
|
239 |
+
msgid "Email to send recovery report emails."
|
240 |
+
msgstr ""
|
241 |
+
|
242 |
+
#: classes/class-cartflows-ca-settings.php:282
|
243 |
msgid "Enable Webhook"
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: classes/class-cartflows-ca-settings.php:286
|
247 |
msgid "Allows you to trigger webhook automatically upon cart abandonment and recovery."
|
248 |
msgstr ""
|
249 |
|
250 |
+
#: classes/class-cartflows-ca-settings.php:291
|
251 |
msgid "Webhook URL"
|
252 |
msgstr ""
|
253 |
|
254 |
+
#. translators: %1$s: html start, %2$s: html end
|
255 |
+
#: classes/class-cartflows-ca-settings.php:311
|
256 |
+
msgid "%1$sCoupon Code Settings%2$s"
|
257 |
msgstr ""
|
258 |
|
259 |
+
#: classes/class-cartflows-ca-settings.php:318
|
260 |
msgid "Create Coupon Code"
|
261 |
msgstr ""
|
262 |
|
263 |
+
#: classes/class-cartflows-ca-settings.php:322
|
264 |
msgid "Auto-create the special coupon for the abandoned cart to send over the emails."
|
265 |
msgstr ""
|
266 |
|
267 |
+
#: classes/class-cartflows-ca-settings.php:327
|
268 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:568
|
269 |
msgid "Discount Type"
|
270 |
msgstr ""
|
271 |
|
272 |
+
#: classes/class-cartflows-ca-settings.php:336
|
273 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:600
|
274 |
msgid "Coupon Amount"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: classes/class-cartflows-ca-settings.php:345
|
278 |
msgid "Coupon Expires After"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: classes/class-cartflows-ca-settings.php:349
|
282 |
msgid "<br/><br/> <span class=\"description\"><strong>Note: </strong>. Enter zero (0) to restrict coupon from expiring.</span>"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#. translators: %1$s: html start, %2$s: html end
|
286 |
+
#: classes/class-cartflows-ca-settings.php:381
|
287 |
+
msgid "%1$sWebhook Settings%2$s"
|
288 |
msgstr ""
|
289 |
|
290 |
+
#. translators: %1$s: html start, %2$s: html end
|
291 |
+
#: classes/class-cartflows-ca-settings.php:391
|
292 |
+
msgid "%1$sGDPR Settings%2$s"
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: classes/class-cartflows-ca-settings.php:398
|
296 |
msgid "Enable GDPR Integration"
|
297 |
msgstr ""
|
298 |
|
299 |
+
#: classes/class-cartflows-ca-settings.php:402
|
300 |
msgid "Ask confirmation from the user before tracking data. <br/><br/> <span class=\"description\"><strong>Note:</strong> By checking this, it will show up confirmation text below the email id on checkout page.</span>"
|
301 |
msgstr ""
|
302 |
|
303 |
+
#: classes/class-cartflows-ca-settings.php:407
|
304 |
msgid "GDPR Message"
|
305 |
msgstr ""
|
306 |
|
307 |
+
#. translators: %1$s: html start, %2$s: html end
|
308 |
+
#: classes/class-cartflows-ca-settings.php:429
|
309 |
+
msgid "%1$sPlugin Settings%2$s"
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: classes/class-cartflows-ca-settings.php:439
|
313 |
msgid "Delete Plugin Data"
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: classes/class-cartflows-ca-settings.php:443
|
317 |
msgid "Enabling this option will delete the plugin data while deleting the Plugin."
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: classes/class-cartflows-ca-settings.php:494
|
321 |
msgid "Add UTM parameter per line."
|
322 |
msgstr ""
|
323 |
|
324 |
+
#: classes/class-cartflows-ca-settings.php:620
|
325 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:638
|
326 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:734
|
327 |
msgid "Hour(s)"
|
328 |
msgstr ""
|
329 |
|
330 |
+
#: classes/class-cartflows-ca-settings.php:621
|
331 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:639
|
332 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:735
|
333 |
msgid "Day(s)"
|
334 |
msgstr ""
|
335 |
|
336 |
+
#: classes/class-cartflows-ca-settings.php:689
|
337 |
msgid "Coupon code should be numeric and has to be greater than or equals to 1."
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: classes/class-cartflows-ca-settings.php:839
|
341 |
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates-table.php:88
|
342 |
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates-table.php:122
|
343 |
#: modules/cart-abandonment/classes/class-cartflows-ca-order-table.php:86
|
345 |
msgid "Delete"
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: classes/class-cartflows-ca-settings.php:925
|
349 |
msgid "Invalid email \"From\" address field"
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: classes/class-cartflows-ca-settings.php:943
|
353 |
msgid "Invalid email \"Reply\" address field"
|
354 |
msgstr ""
|
355 |
|
379 |
msgstr ""
|
380 |
|
381 |
#: classes/class-cartflows-ca-tabs.php:450
|
382 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:321
|
383 |
msgid "Item"
|
384 |
msgstr ""
|
385 |
|
386 |
#: classes/class-cartflows-ca-tabs.php:451
|
387 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:322
|
388 |
#: modules/cart-abandonment/classes/class-cartflows-ca-order-table.php:236
|
389 |
#: modules/cart-abandonment/includes/cartflows-ca-single-report-details.php:176
|
390 |
msgid "Name"
|
391 |
msgstr ""
|
392 |
|
393 |
#: classes/class-cartflows-ca-tabs.php:452
|
394 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:323
|
395 |
msgid "Quantity"
|
396 |
msgstr ""
|
397 |
|
398 |
#: classes/class-cartflows-ca-tabs.php:453
|
399 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:324
|
400 |
msgid "Price"
|
401 |
msgstr ""
|
402 |
|
403 |
#: classes/class-cartflows-ca-tabs.php:454
|
404 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:325
|
405 |
msgid "Line Subtotal"
|
406 |
msgstr ""
|
407 |
|
443 |
msgstr ""
|
444 |
|
445 |
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:124
|
446 |
+
msgid "Don't remind me again."
|
|
|
|
|
447 |
msgstr ""
|
448 |
|
449 |
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:143
|
450 |
msgid "Admin"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php:314
|
454 |
msgid "Cart Total ( Cart Total + Shipping + Tax )"
|
455 |
msgstr ""
|
456 |
|
479 |
msgid "Activate Template"
|
480 |
msgstr ""
|
481 |
|
482 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:133
|
483 |
msgid "Admin Firstname"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:134
|
487 |
msgid "Admin Company"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:135
|
491 |
msgid "Abandoned Product Details Table"
|
492 |
msgstr ""
|
493 |
|
494 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:136
|
495 |
msgid "Abandoned Product Names"
|
496 |
msgstr ""
|
497 |
|
498 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:137
|
499 |
msgid "Cart Checkout URL"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:138
|
503 |
msgid "Coupon Code"
|
504 |
msgstr ""
|
505 |
|
506 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:139
|
507 |
msgid "Customer First Name"
|
508 |
msgstr ""
|
509 |
|
510 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:140
|
511 |
msgid "Customer Last Name"
|
512 |
msgstr ""
|
513 |
|
514 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:141
|
515 |
msgid "Customer Full Name"
|
516 |
msgstr ""
|
517 |
|
518 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:142
|
519 |
msgid "Cart Abandonment Date"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:143
|
523 |
msgid "Site URL"
|
524 |
msgstr ""
|
525 |
|
526 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:144
|
527 |
msgid "Unsubscribe Link"
|
528 |
msgstr ""
|
529 |
|
530 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:146
|
531 |
msgid "Triggering..."
|
532 |
msgstr ""
|
533 |
|
534 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:147
|
535 |
msgid "Trigger Failed."
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:148
|
539 |
msgid "Trigger Success."
|
540 |
msgstr ""
|
541 |
|
542 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:149
|
543 |
msgid "Please verify webhook URL."
|
544 |
msgstr ""
|
545 |
|
546 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:150
|
547 |
msgid "Webhook URL is required."
|
548 |
msgstr ""
|
549 |
|
550 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:171
|
551 |
msgid "Something went wrong"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:178
|
555 |
msgid "Activated"
|
556 |
msgstr ""
|
557 |
|
558 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:181
|
559 |
msgid "Deactivated"
|
560 |
msgstr ""
|
561 |
|
562 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:242
|
563 |
msgid "The Email Template has been successfully added."
|
564 |
msgstr ""
|
565 |
|
566 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:252
|
567 |
msgid "The Email Template has been cloned successfully."
|
568 |
msgstr ""
|
569 |
|
570 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:262
|
571 |
msgid "The Email Template has been successfully deleted."
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:271
|
575 |
msgid "The Email Template has been successfully updated."
|
576 |
msgstr ""
|
577 |
|
578 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:281
|
579 |
msgid "Default Email Templates has been restored successfully."
|
580 |
msgstr ""
|
581 |
|
582 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:448
|
583 |
msgid "Activate Template now?"
|
584 |
msgstr ""
|
585 |
|
586 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:468
|
587 |
msgid "Template Name:"
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:483
|
591 |
msgid "Email Subject:"
|
592 |
msgstr ""
|
593 |
|
594 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:498
|
595 |
msgid "Email Body:"
|
596 |
msgstr ""
|
597 |
|
598 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:527
|
599 |
+
msgid "Use WooCommerce email style"
|
600 |
+
msgstr ""
|
601 |
+
|
602 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:540
|
603 |
+
msgid "Email will be sent in WooCommerce email format. Also the sender name and sender email address will be replaced by the Woocommerce Email sender options."
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:548
|
607 |
msgid "Create Coupon"
|
608 |
msgstr ""
|
609 |
|
610 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:561
|
611 |
msgid "Allows you to send new coupon only for this template."
|
612 |
msgstr ""
|
613 |
|
614 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:618
|
615 |
msgid "Coupon expiry date"
|
616 |
msgstr ""
|
617 |
|
618 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:648
|
619 |
msgid "Enter zero (0) to restrict coupon from expiring"
|
620 |
msgstr ""
|
621 |
|
622 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:654
|
623 |
msgid "Free Shipping"
|
624 |
msgstr ""
|
625 |
|
626 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:667
|
627 |
msgid "Allows you to grant free shipping. A free shipping method must be enabled in your shipping zone and be set to require \"a valid free shipping coupon\". "
|
628 |
msgstr ""
|
629 |
|
630 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:674
|
631 |
msgid "Individual use only"
|
632 |
msgstr ""
|
633 |
|
634 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:688
|
635 |
msgid "Check this box if the coupon cannot be used in conjunction with other coupons."
|
636 |
msgstr ""
|
637 |
|
638 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:695
|
639 |
msgid "Auto Apply Coupon"
|
640 |
msgstr ""
|
641 |
|
642 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:709
|
643 |
msgid " Automatically add the coupon to the cart at the checkout."
|
644 |
msgstr ""
|
645 |
|
646 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:715
|
647 |
msgid "Send This Email"
|
648 |
msgstr ""
|
649 |
|
650 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:733
|
651 |
msgid "Minute(s)"
|
652 |
msgstr ""
|
653 |
|
654 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:748
|
655 |
msgid "after cart is abandoned."
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:758
|
659 |
msgid "Send Test Email To:"
|
660 |
msgstr ""
|
661 |
|
662 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:762
|
663 |
msgid "Send a test email"
|
664 |
msgstr ""
|
665 |
|
666 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:775
|
667 |
msgid "Save Changes"
|
668 |
msgstr ""
|
669 |
|
670 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:777
|
671 |
msgid "Update Changes"
|
672 |
msgstr ""
|
673 |
|
674 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:1086
|
675 |
msgid "Create New Template"
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:1089
|
679 |
msgid " Restore Default Templates"
|
680 |
msgstr ""
|
681 |
|
683 |
msgid "View"
|
684 |
msgstr ""
|
685 |
|
686 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-order-table.php:90
|
687 |
+
#: modules/cart-abandonment/classes/class-cartflows-ca-order-table.php:142
|
688 |
+
msgid "Unsubscribe"
|
689 |
+
msgstr ""
|
690 |
+
|
691 |
#: modules/cart-abandonment/classes/class-cartflows-ca-order-table.php:237
|
692 |
msgid "Email"
|
693 |
msgstr ""
|
725 |
|
726 |
#: modules/cart-abandonment/classes/class-cartflows-ca-tracking.php:250
|
727 |
#: modules/cart-abandonment/includes/cartflows-ca-single-report-details.php:167
|
728 |
+
#: modules/weekly-email-report/class-cartflows-ca-admin-report-emails.php:148
|
729 |
msgid "Unsubscribed"
|
730 |
msgstr ""
|
731 |
|
825 |
msgid "Billing Address"
|
826 |
msgstr ""
|
827 |
|
|
|
|
|
|
|
|
|
828 |
#: modules/cart-abandonment/includes/cartflows-ca-single-report-details.php:184
|
829 |
msgid "Phone"
|
830 |
msgstr ""
|
959 |
#: modules/cart-abandonment/includes/cartflows-cart-abandonment-tabs.php:16
|
960 |
msgid "WooCommerce Cart Abandonment Recovery "
|
961 |
msgstr ""
|
962 |
+
|
963 |
+
#: modules/weekly-email-report/class-cartflows-ca-admin-report-emails.php:106
|
964 |
+
msgid "Your Weekly Cart Abandonment Summary is here - CartFlows"
|
965 |
+
msgstr ""
|
966 |
+
|
967 |
+
#: modules/weekly-email-report/class-cartflows-ca-admin-report-emails.php:148
|
968 |
+
msgid "You have successfully unsubscribed from our weekly emails list."
|
969 |
+
msgstr ""
|
970 |
+
|
971 |
+
#: modules/weekly-email-report/templates/email-body.php:19
|
972 |
+
msgid "Cart Abandonment Recovery Weekly Report"
|
973 |
+
msgstr ""
|
modules/cart-abandonment/assets/js/cart-abandonment-tracking.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
( function( $ ) {
|
2 |
let timer;
|
3 |
const wcf_cart_abandonment = {
|
4 |
init() {
|
@@ -21,16 +21,16 @@
|
|
21 |
this._getCheckoutData
|
22 |
);
|
23 |
|
24 |
-
$( '#wcf_ca_gdpr_no_thanks' ).on( 'click', function() {
|
25 |
wcf_cart_abandonment._set_cookie();
|
26 |
} );
|
27 |
|
28 |
-
$( document.body ).on( 'updated_checkout', function() {
|
29 |
wcf_cart_abandonment._getCheckoutData();
|
30 |
} );
|
31 |
|
32 |
-
$( function() {
|
33 |
-
setTimeout( function() {
|
34 |
wcf_cart_abandonment._getCheckoutData();
|
35 |
}, 800 );
|
36 |
} );
|
@@ -43,7 +43,7 @@
|
|
43 |
security: wcf_ca_vars._gdpr_nonce,
|
44 |
};
|
45 |
|
46 |
-
jQuery.post( wcf_ca_vars.ajaxurl, data, function( response ) {
|
47 |
if ( response.success ) {
|
48 |
$( '#wcf_cf_gdpr_message_block' )
|
49 |
.empty()
|
@@ -176,14 +176,14 @@
|
|
176 |
wcf_post_id: wcf_ca_vars._post_id,
|
177 |
};
|
178 |
|
179 |
-
timer = setTimeout( function() {
|
180 |
if (
|
181 |
wcf_cart_abandonment._validate_email( data.wcf_email )
|
182 |
) {
|
183 |
jQuery.post(
|
184 |
wcf_ca_vars.ajaxurl,
|
185 |
data, //Ajaxurl coming from localized script and contains the link to wp-admin/admin-ajax.php file that handles AJAX requests on Wordpress
|
186 |
-
function() {
|
187 |
// success response
|
188 |
}
|
189 |
);
|
@@ -196,4 +196,4 @@
|
|
196 |
};
|
197 |
|
198 |
wcf_cart_abandonment.init();
|
199 |
-
}( jQuery )
|
1 |
+
( function ( $ ) {
|
2 |
let timer;
|
3 |
const wcf_cart_abandonment = {
|
4 |
init() {
|
21 |
this._getCheckoutData
|
22 |
);
|
23 |
|
24 |
+
$( '#wcf_ca_gdpr_no_thanks' ).on( 'click', function () {
|
25 |
wcf_cart_abandonment._set_cookie();
|
26 |
} );
|
27 |
|
28 |
+
$( document.body ).on( 'updated_checkout', function () {
|
29 |
wcf_cart_abandonment._getCheckoutData();
|
30 |
} );
|
31 |
|
32 |
+
$( function () {
|
33 |
+
setTimeout( function () {
|
34 |
wcf_cart_abandonment._getCheckoutData();
|
35 |
}, 800 );
|
36 |
} );
|
43 |
security: wcf_ca_vars._gdpr_nonce,
|
44 |
};
|
45 |
|
46 |
+
jQuery.post( wcf_ca_vars.ajaxurl, data, function ( response ) {
|
47 |
if ( response.success ) {
|
48 |
$( '#wcf_cf_gdpr_message_block' )
|
49 |
.empty()
|
176 |
wcf_post_id: wcf_ca_vars._post_id,
|
177 |
};
|
178 |
|
179 |
+
timer = setTimeout( function () {
|
180 |
if (
|
181 |
wcf_cart_abandonment._validate_email( data.wcf_email )
|
182 |
) {
|
183 |
jQuery.post(
|
184 |
wcf_ca_vars.ajaxurl,
|
185 |
data, //Ajaxurl coming from localized script and contains the link to wp-admin/admin-ajax.php file that handles AJAX requests on Wordpress
|
186 |
+
function () {
|
187 |
// success response
|
188 |
}
|
189 |
);
|
196 |
};
|
197 |
|
198 |
wcf_cart_abandonment.init();
|
199 |
+
} )( jQuery );
|
modules/cart-abandonment/classes/class-cartflows-ca-database.php
CHANGED
@@ -259,6 +259,7 @@ class Cartflows_Ca_Database {
|
|
259 |
'coupon_amount' => 10,
|
260 |
'coupon_expiry_date' => '',
|
261 |
'coupon_expiry_unit' => 'hours',
|
|
|
262 |
);
|
263 |
|
264 |
$email_tmpl_id = $wpdb->insert_id;
|
259 |
'coupon_amount' => 10,
|
260 |
'coupon_expiry_date' => '',
|
261 |
'coupon_expiry_unit' => 'hours',
|
262 |
+
'use_woo_email_style' => false,
|
263 |
);
|
264 |
|
265 |
$email_tmpl_id = $wpdb->insert_id;
|
modules/cart-abandonment/classes/class-cartflows-ca-email-schedule.php
CHANGED
@@ -121,7 +121,7 @@ class Cartflows_Ca_Email_Schedule {
|
|
121 |
|
122 |
$current_time_stamp = $email_data->time;
|
123 |
$body_email_preview = str_replace( '{{cart.abandoned_date}}', $current_time_stamp, $body_email_preview );
|
124 |
-
$unsubscribe_element = '<a target="_blank" style="color: lightgray" href="' . $checkout_url . '&unsubscribe=true ">' . __( '
|
125 |
$body_email_preview = str_replace( '{{cart.unsubscribe}}', $unsubscribe_element, $body_email_preview );
|
126 |
$body_email_preview = str_replace( 'http://{{cart.checkout_url}}', '{{cart.checkout_url}}', $body_email_preview );
|
127 |
$body_email_preview = str_replace( 'https://{{cart.checkout_url}}', '{{cart.checkout_url}}', $body_email_preview );
|
@@ -151,7 +151,30 @@ class Cartflows_Ca_Email_Schedule {
|
|
151 |
|
152 |
$body_email_preview = str_replace( '{{cart.product.table}}', $var, $body_email_preview );
|
153 |
$body_email_preview = wpautop( $body_email_preview );
|
154 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
if ( $mail_result ) {
|
156 |
return true;
|
157 |
} else {
|
@@ -177,15 +200,16 @@ class Cartflows_Ca_Email_Schedule {
|
|
177 |
|
178 |
$email_data = new stdClass();
|
179 |
$current_user = wp_get_current_user();
|
180 |
-
$email_data->email_template_id =
|
181 |
-
|
182 |
-
$email_data->
|
183 |
-
$
|
184 |
-
$
|
185 |
-
$email_data->
|
186 |
-
$email_data->
|
187 |
-
$email_data->
|
188 |
-
$email_data->
|
|
|
189 |
array(
|
190 |
'wcf_first_name' => $current_user->user_firstname,
|
191 |
'wcf_last_name' => $current_user->user_lastname,
|
@@ -299,7 +323,7 @@ class Cartflows_Ca_Email_Schedule {
|
|
299 |
<th style="' . $style . '">' . __( 'Quantity', 'woo-cart-abandonment-recovery' ) . '</th>
|
300 |
<th style="' . $style . '">' . __( 'Price', 'woo-cart-abandonment-recovery' ) . '</th>
|
301 |
<th style="' . $style . '">' . __( 'Line Subtotal', 'woo-cart-abandonment-recovery' ) . '</th>
|
302 |
-
</tr> ' . $tr . '
|
303 |
</table>';
|
304 |
}
|
305 |
|
121 |
|
122 |
$current_time_stamp = $email_data->time;
|
123 |
$body_email_preview = str_replace( '{{cart.abandoned_date}}', $current_time_stamp, $body_email_preview );
|
124 |
+
$unsubscribe_element = '<a target="_blank" style="color: lightgray" href="' . $checkout_url . '&unsubscribe=true ">' . __( 'Don\'t remind me again.', 'woo-cart-abandonment-recovery' ) . '</a>';
|
125 |
$body_email_preview = str_replace( '{{cart.unsubscribe}}', $unsubscribe_element, $body_email_preview );
|
126 |
$body_email_preview = str_replace( 'http://{{cart.checkout_url}}', '{{cart.checkout_url}}', $body_email_preview );
|
127 |
$body_email_preview = str_replace( 'https://{{cart.checkout_url}}', '{{cart.checkout_url}}', $body_email_preview );
|
151 |
|
152 |
$body_email_preview = str_replace( '{{cart.product.table}}', $var, $body_email_preview );
|
153 |
$body_email_preview = wpautop( $body_email_preview );
|
154 |
+
|
155 |
+
$use_woo_style = $email_instance->get_email_template_meta_by_key( $email_data->email_template_id, 'use_woo_email_style' );
|
156 |
+
|
157 |
+
if ( '1' === $use_woo_style->meta_value ) {
|
158 |
+
ob_start();
|
159 |
+
|
160 |
+
wc_get_template( 'emails/email-header.php', array( 'email_heading' => $subject_email_preview ) );
|
161 |
+
$email_body_template_header = ob_get_clean();
|
162 |
+
|
163 |
+
ob_start();
|
164 |
+
|
165 |
+
wc_get_template( 'emails/email-footer.php' );
|
166 |
+
$email_body_template_footer = ob_get_clean();
|
167 |
+
|
168 |
+
$site_title = get_bloginfo( 'name' );
|
169 |
+
$email_body_template_footer = str_ireplace( '{site_title}', $site_title, $email_body_template_footer );
|
170 |
+
|
171 |
+
$final_email_body = $email_body_template_header . $body_email_preview . $email_body_template_footer;
|
172 |
+
wc_mail( $email_data->email, $subject_email_preview, stripslashes( $final_email_body ), $headers );
|
173 |
+
|
174 |
+
return true;
|
175 |
+
}
|
176 |
+
|
177 |
+
$mail_result = wp_mail( $email_data->email, $subject_email_preview, stripslashes( $body_email_preview ), $headers );
|
178 |
if ( $mail_result ) {
|
179 |
return true;
|
180 |
} else {
|
200 |
|
201 |
$email_data = new stdClass();
|
202 |
$current_user = wp_get_current_user();
|
203 |
+
$email_data->email_template_id = filter_input( INPUT_POST, 'email_template_id', FILTER_SANITIZE_STRING );
|
204 |
+
|
205 |
+
$email_data->checkout_id = wc_get_page_id( 'checkout' );
|
206 |
+
$email_data->session_id = 'dummy-session-id';
|
207 |
+
$email_send_to = filter_input( INPUT_POST, 'email_send_to', FILTER_SANITIZE_EMAIL );
|
208 |
+
$email_data->email = $email_send_to ? $email_send_to : $current_user->user_email;
|
209 |
+
$email_data->email_body = filter_input( INPUT_POST, 'email_body', FILTER_SANITIZE_FULL_SPECIAL_CHARS );
|
210 |
+
$email_data->email_subject = filter_input( INPUT_POST, 'email_subject', FILTER_SANITIZE_STRING );
|
211 |
+
$email_data->email_body = html_entity_decode( $email_data->email_body, ENT_COMPAT, 'UTF-8' );
|
212 |
+
$email_data->other_fields = serialize(
|
213 |
array(
|
214 |
'wcf_first_name' => $current_user->user_firstname,
|
215 |
'wcf_last_name' => $current_user->user_lastname,
|
323 |
<th style="' . $style . '">' . __( 'Quantity', 'woo-cart-abandonment-recovery' ) . '</th>
|
324 |
<th style="' . $style . '">' . __( 'Price', 'woo-cart-abandonment-recovery' ) . '</th>
|
325 |
<th style="' . $style . '">' . __( 'Line Subtotal', 'woo-cart-abandonment-recovery' ) . '</th>
|
326 |
+
</tr> ' . $tr . '
|
327 |
</table>';
|
328 |
}
|
329 |
|
modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php
CHANGED
@@ -110,38 +110,39 @@ class Cartflows_Ca_Email_Templates {
|
|
110 |
|
111 |
$current_user = wp_get_current_user();
|
112 |
$vars = array(
|
113 |
-
'email'
|
114 |
-
'name'
|
115 |
-
'surname'
|
116 |
-
'phone'
|
117 |
-
'billing_company'
|
118 |
-
'billing_address_1'
|
119 |
-
'billing_address_2'
|
120 |
-
'billing_state'
|
121 |
-
'billing_postcode'
|
122 |
-
'shipping_first_name'
|
123 |
-
'shipping_last_name'
|
124 |
-
'shipping_company'
|
125 |
-
'shipping_address_1'
|
126 |
-
'shipping_address_2'
|
127 |
-
'shipping_city'
|
128 |
-
'shipping_state'
|
129 |
-
'shipping_postcode'
|
130 |
-
'woo_currency_symbol'
|
131 |
-
'email_toggle_button_nonce'
|
132 |
-
'
|
133 |
-
'
|
134 |
-
'
|
135 |
-
'
|
136 |
-
'
|
137 |
-
'
|
138 |
-
'
|
139 |
-
'
|
140 |
-
'
|
141 |
-
'
|
142 |
-
'
|
143 |
-
'
|
144 |
-
'
|
|
|
145 |
'trigger_process' => __( 'Triggering...', 'woo-cart-abandonment-recovery' ),
|
146 |
'trigger_failed' => __( 'Trigger Failed.', 'woo-cart-abandonment-recovery' ),
|
147 |
'trigger_success' => __( 'Trigger Success.', 'woo-cart-abandonment-recovery' ),
|
@@ -198,6 +199,7 @@ class Cartflows_Ca_Email_Templates {
|
|
198 |
define( 'WCF_CA_ZAPIER_SETTINGS_SECTION', 'cartflows_zapier_settings_section' );
|
199 |
define( 'WCF_CA_GDPR_SETTINGS_SECTION', 'cartflows_gdpr_settings_section' );
|
200 |
define( 'WCF_CA_PLUGIN_SETTINGS_SECTION', 'cartflows_cart_abandonment_plugin_settings_section' );
|
|
|
201 |
|
202 |
define( 'WCF_CA_SETTINGS_OPTION_GROUP', 'cartflows-cart-abandonment-settings' );
|
203 |
define( 'WCF_CA_EMAIL_SETTINGS_OPTION_GROUP', 'cartflows-cart-abandonment-email-settings' );
|
@@ -359,7 +361,7 @@ class Cartflows_Ca_Email_Templates {
|
|
359 |
'coupon_amount' => 10,
|
360 |
'coupon_expiry_date' => '',
|
361 |
'coupon_expiry_unit' => 'hours',
|
362 |
-
|
363 |
);
|
364 |
|
365 |
foreach ( $meta_data as $mera_key => $meta_value ) {
|
@@ -520,6 +522,27 @@ class Cartflows_Ca_Email_Templates {
|
|
520 |
</td>
|
521 |
</tr>
|
522 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
523 |
<tr>
|
524 |
<th>
|
525 |
<label for="wcf_override_global_coupon"><b><?php esc_html_e( 'Create Coupon', 'woo-cart-abandonment-recovery' ); ?></b></label>
|
@@ -833,6 +856,7 @@ class Cartflows_Ca_Email_Templates {
|
|
833 |
$sanitized_post['wcf_free_shipping_coupon'] = isset( $_POST['wcf_free_shipping_coupon'] ) ? true : false; //phpcs:ignore
|
834 |
$sanitized_post['wcf_individual_use_only'] = isset( $_POST['wcf_individual_use_only'] ) ? true : false; //phpcs:ignore
|
835 |
$sanitized_post['wcf_email_body'] = html_entity_decode( $sanitized_post['wcf_email_body'], ENT_COMPAT, 'UTF-8' );
|
|
|
836 |
|
837 |
return $sanitized_post;
|
838 |
|
@@ -868,6 +892,7 @@ class Cartflows_Ca_Email_Templates {
|
|
868 |
'auto_coupon' => $sanitized_post['wcf_auto_coupon_apply'],
|
869 |
'free_shipping_coupon' => $sanitized_post['wcf_free_shipping_coupon'],
|
870 |
'individual_use_only' => $sanitized_post['wcf_individual_use_only'],
|
|
|
871 |
|
872 |
);
|
873 |
|
@@ -918,6 +943,7 @@ class Cartflows_Ca_Email_Templates {
|
|
918 |
'auto_coupon' => $sanitized_post['wcf_auto_coupon_apply'],
|
919 |
'free_shipping_coupon' => $sanitized_post['wcf_free_shipping_coupon'],
|
920 |
'individual_use_only' => $sanitized_post['wcf_individual_use_only'],
|
|
|
921 |
|
922 |
);
|
923 |
foreach ( $meta_data as $mera_key => $meta_value ) {
|
110 |
|
111 |
$current_user = wp_get_current_user();
|
112 |
$vars = array(
|
113 |
+
'email' => $current_user->user_email,
|
114 |
+
'name' => $current_user->user_firstname,
|
115 |
+
'surname' => $current_user->user_lastname,
|
116 |
+
'phone' => get_user_meta( $current_user->ID, 'billing_phone', true ),
|
117 |
+
'billing_company' => get_user_meta( $current_user->ID, 'billing_company', true ),
|
118 |
+
'billing_address_1' => get_user_meta( $current_user->ID, 'billing_address_1', true ),
|
119 |
+
'billing_address_2' => get_user_meta( $current_user->ID, 'billing_address_2', true ),
|
120 |
+
'billing_state' => get_user_meta( $current_user->ID, 'billing_state', true ),
|
121 |
+
'billing_postcode' => get_user_meta( $current_user->ID, 'billing_postcode', true ),
|
122 |
+
'shipping_first_name' => $current_user->user_firstname,
|
123 |
+
'shipping_last_name' => $current_user->user_lastname,
|
124 |
+
'shipping_company' => get_user_meta( $current_user->ID, 'shipping_company', true ),
|
125 |
+
'shipping_address_1' => get_user_meta( $current_user->ID, 'shipping_address_1', true ),
|
126 |
+
'shipping_address_2' => get_user_meta( $current_user->ID, 'shipping_address_2', true ),
|
127 |
+
'shipping_city' => get_user_meta( $current_user->ID, 'shipping_city', true ),
|
128 |
+
'shipping_state' => get_user_meta( $current_user->ID, 'shipping_state', true ),
|
129 |
+
'shipping_postcode' => get_user_meta( $current_user->ID, 'shipping_postcode', true ),
|
130 |
+
'woo_currency_symbol' => get_woocommerce_currency_symbol(),
|
131 |
+
'email_toggle_button_nonce' => wp_create_nonce( 'activate_email_templates' ),
|
132 |
+
'weekly_report_email_notice_nonce' => wp_create_nonce( 'wcar_disable_weekly_report_email_notice' ),
|
133 |
+
'admin_firstname' => __( 'Admin Firstname', 'woo-cart-abandonment-recovery' ),
|
134 |
+
'admin_company' => __( 'Admin Company', 'woo-cart-abandonment-recovery' ),
|
135 |
+
'abandoned_product_details_table' => __( 'Abandoned Product Details Table', 'woo-cart-abandonment-recovery' ),
|
136 |
+
'abandoned_product_names' => __( 'Abandoned Product Names', 'woo-cart-abandonment-recovery' ),
|
137 |
+
'cart_checkout_url' => __( 'Cart Checkout URL', 'woo-cart-abandonment-recovery' ),
|
138 |
+
'coupon_code' => __( 'Coupon Code', 'woo-cart-abandonment-recovery' ),
|
139 |
+
'customer_firstname' => __( 'Customer First Name', 'woo-cart-abandonment-recovery' ),
|
140 |
+
'customer_lastname' => __( 'Customer Last Name', 'woo-cart-abandonment-recovery' ),
|
141 |
+
'customer_full_name' => __( 'Customer Full Name', 'woo-cart-abandonment-recovery' ),
|
142 |
+
'cart_abandonment_date' => __( 'Cart Abandonment Date', 'woo-cart-abandonment-recovery' ),
|
143 |
+
'site_url' => __( 'Site URL', 'woo-cart-abandonment-recovery' ),
|
144 |
+
'unsubscribe_link' => __( 'Unsubscribe Link', 'woo-cart-abandonment-recovery' ),
|
145 |
+
'strings' => array(
|
146 |
'trigger_process' => __( 'Triggering...', 'woo-cart-abandonment-recovery' ),
|
147 |
'trigger_failed' => __( 'Trigger Failed.', 'woo-cart-abandonment-recovery' ),
|
148 |
'trigger_success' => __( 'Trigger Success.', 'woo-cart-abandonment-recovery' ),
|
199 |
define( 'WCF_CA_ZAPIER_SETTINGS_SECTION', 'cartflows_zapier_settings_section' );
|
200 |
define( 'WCF_CA_GDPR_SETTINGS_SECTION', 'cartflows_gdpr_settings_section' );
|
201 |
define( 'WCF_CA_PLUGIN_SETTINGS_SECTION', 'cartflows_cart_abandonment_plugin_settings_section' );
|
202 |
+
define( 'WCF_CA_RECOVERY_EMAIL_SETTINGS_SECTION', 'cartflows_cart_abandonment_recovery_report_settings_section' );
|
203 |
|
204 |
define( 'WCF_CA_SETTINGS_OPTION_GROUP', 'cartflows-cart-abandonment-settings' );
|
205 |
define( 'WCF_CA_EMAIL_SETTINGS_OPTION_GROUP', 'cartflows-cart-abandonment-email-settings' );
|
361 |
'coupon_amount' => 10,
|
362 |
'coupon_expiry_date' => '',
|
363 |
'coupon_expiry_unit' => 'hours',
|
364 |
+
'use_woo_email_style' => false,
|
365 |
);
|
366 |
|
367 |
foreach ( $meta_data as $mera_key => $meta_value ) {
|
522 |
</td>
|
523 |
</tr>
|
524 |
|
525 |
+
<tr>
|
526 |
+
<th>
|
527 |
+
<label for="wcf_use_woo_email_style"><b><?php esc_html_e( 'Use WooCommerce email style', 'woo-cart-abandonment-recovery' ); ?></b></label>
|
528 |
+
</th>
|
529 |
+
<td>
|
530 |
+
<?php
|
531 |
+
|
532 |
+
$wcf_woo_email_style = '';
|
533 |
+
if ( WCF_SUB_ACTION_EDIT_EMAIL_TEMPLATES === $sub_action && $results ) {
|
534 |
+
$wcf_woo_email_style = $this->get_email_template_meta_by_key( $results->id, 'use_woo_email_style' );
|
535 |
+
if ( isset( $wcf_woo_email_style->meta_value ) ) {
|
536 |
+
$wcf_woo_email_style = $wcf_woo_email_style->meta_value ? 'checked' : '';
|
537 |
+
}
|
538 |
+
}
|
539 |
+
|
540 |
+
print '<input ' . esc_attr( $wcf_woo_email_style ) . ' id="wcf_use_woo_email_style" name="wcf_use_woo_email_style" type="checkbox" value="" /><span class="description">' . esc_html__( 'Email will be sent in WooCommerce email format. Also the sender name and sender email address will be replaced by the Woocommerce Email sender options.', 'woo-cart-abandonment-recovery' ) . '</span>';
|
541 |
+
?>
|
542 |
+
|
543 |
+
</td>
|
544 |
+
</tr>
|
545 |
+
|
546 |
<tr>
|
547 |
<th>
|
548 |
<label for="wcf_override_global_coupon"><b><?php esc_html_e( 'Create Coupon', 'woo-cart-abandonment-recovery' ); ?></b></label>
|
856 |
$sanitized_post['wcf_free_shipping_coupon'] = isset( $_POST['wcf_free_shipping_coupon'] ) ? true : false; //phpcs:ignore
|
857 |
$sanitized_post['wcf_individual_use_only'] = isset( $_POST['wcf_individual_use_only'] ) ? true : false; //phpcs:ignore
|
858 |
$sanitized_post['wcf_email_body'] = html_entity_decode( $sanitized_post['wcf_email_body'], ENT_COMPAT, 'UTF-8' );
|
859 |
+
$sanitized_post['wcf_use_woo_email_style'] = isset( $_POST['wcf_use_woo_email_style'] ) ? true : false; //phpcs:ignore
|
860 |
|
861 |
return $sanitized_post;
|
862 |
|
892 |
'auto_coupon' => $sanitized_post['wcf_auto_coupon_apply'],
|
893 |
'free_shipping_coupon' => $sanitized_post['wcf_free_shipping_coupon'],
|
894 |
'individual_use_only' => $sanitized_post['wcf_individual_use_only'],
|
895 |
+
'use_woo_email_style' => $sanitized_post['wcf_use_woo_email_style'],
|
896 |
|
897 |
);
|
898 |
|
943 |
'auto_coupon' => $sanitized_post['wcf_auto_coupon_apply'],
|
944 |
'free_shipping_coupon' => $sanitized_post['wcf_free_shipping_coupon'],
|
945 |
'individual_use_only' => $sanitized_post['wcf_individual_use_only'],
|
946 |
+
'use_woo_email_style' => $sanitized_post['wcf_use_woo_email_style'],
|
947 |
|
948 |
);
|
949 |
foreach ( $meta_data as $mera_key => $meta_value ) {
|
modules/cart-abandonment/classes/class-cartflows-ca-module-loader.php
CHANGED
@@ -68,6 +68,7 @@ class Cartflows_Ca_Module_Loader {
|
|
68 |
include_once $filename;
|
69 |
}
|
70 |
}
|
|
|
71 |
}
|
72 |
|
73 |
}
|
68 |
include_once $filename;
|
69 |
}
|
70 |
}
|
71 |
+
|
72 |
}
|
73 |
|
74 |
}
|
modules/weekly-email-report/class-cartflows-ca-admin-report-emails.php
ADDED
@@ -0,0 +1,185 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Settings.
|
4 |
+
*
|
5 |
+
* @package Woocommerce-Cart-Abandonment-Recovery
|
6 |
+
*/
|
7 |
+
|
8 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
+
exit; // Exit if accessed directly.
|
10 |
+
}
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Class Cartflows_Ca_Admin_Report_Emails.
|
14 |
+
*/
|
15 |
+
class Cartflows_Ca_Admin_Report_Emails {
|
16 |
+
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Class instance.
|
20 |
+
*
|
21 |
+
* @access private
|
22 |
+
* @var $instance Class instance.
|
23 |
+
*/
|
24 |
+
private static $instance;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Initiator
|
28 |
+
*/
|
29 |
+
public static function get_instance() {
|
30 |
+
if ( ! isset( self::$instance ) ) {
|
31 |
+
self::$instance = new self();
|
32 |
+
}
|
33 |
+
return self::$instance;
|
34 |
+
}
|
35 |
+
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Constructor.
|
39 |
+
*/
|
40 |
+
public function __construct() {
|
41 |
+
|
42 |
+
add_action( 'admin_init', array( $this, 'schedule_weekly_report_email' ) );
|
43 |
+
|
44 |
+
add_action( 'cartflows_ca_send_report_summary_email', array( $this, 'send_weekly_report_email' ) );
|
45 |
+
|
46 |
+
add_action( 'admin_init', array( $this, 'unsubscribe_cart_abandonment_weekly_emails' ), 9 );
|
47 |
+
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Sechedule the email.
|
52 |
+
*/
|
53 |
+
public function schedule_weekly_report_email() {
|
54 |
+
|
55 |
+
$is_emails_enabled = get_option( 'wcf_ca_send_recovery_report_emails_to_admin', 'on' );
|
56 |
+
|
57 |
+
if ( 'on' === $is_emails_enabled && function_exists( 'as_next_scheduled_action' ) && false === as_next_scheduled_action( 'cartflows_ca_send_report_summary_email' ) ) {
|
58 |
+
|
59 |
+
$date = new DateTime( 'next monday 2pm' );
|
60 |
+
|
61 |
+
// It will automatically reschedule the action once initiated.
|
62 |
+
as_schedule_recurring_action( $date, WEEK_IN_SECONDS, 'cartflows_ca_send_report_summary_email' );
|
63 |
+
} elseif ( 'on' !== $is_emails_enabled && as_next_scheduled_action( 'cartflows_ca_send_report_summary_email' ) ) {
|
64 |
+
as_unschedule_all_actions( 'cartflows_ca_send_report_summary_email' );
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Send the email.
|
70 |
+
*/
|
71 |
+
public function send_weekly_report_email() {
|
72 |
+
|
73 |
+
$is_emails_enabled = get_option( 'wcf_ca_send_recovery_report_emails_to_admin', 'on' );
|
74 |
+
|
75 |
+
if ( 'on' === $is_emails_enabled && apply_filters( 'cartflows_ca_send_weekly_report_email', true ) ) {
|
76 |
+
|
77 |
+
$report_details = $this->get_last_week_report();
|
78 |
+
|
79 |
+
if ( isset( $report_details['recovered_orders'] ) && 0 < intval( $report_details['recovered_orders'] ) ) {
|
80 |
+
|
81 |
+
$subject = $this->get_email_subject();
|
82 |
+
$headers = 'Content-Type: text/html' . "\r\n";
|
83 |
+
|
84 |
+
$admin_email = get_option( 'wcf_ca_admin_email', get_option( 'admin_email' ) );
|
85 |
+
$user_info = get_user_by( 'email', $admin_email );
|
86 |
+
$user_name = $user_info ? $user_info->display_name : '';
|
87 |
+
|
88 |
+
$email_body = $this->get_email_content( $report_details, $user_name );
|
89 |
+
wp_mail( $admin_email, $subject, stripslashes( $email_body ), $headers );
|
90 |
+
}
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Get admin report email subject.
|
96 |
+
*/
|
97 |
+
public function get_email_subject() {
|
98 |
+
|
99 |
+
$home_url = wp_parse_url( home_url() );
|
100 |
+
$site_domain = $home_url['host'];
|
101 |
+
|
102 |
+
if ( is_multisite() && isset( $home_url['path'] ) ) {
|
103 |
+
$site_domain .= $home_url['path'];
|
104 |
+
}
|
105 |
+
|
106 |
+
return esc_html__( 'Your Weekly Cart Abandonment Summary is here - CartFlows', 'woo-cart-abandonment-recovery' );
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* Get admin report email content.
|
111 |
+
*
|
112 |
+
* @param array $report_details report data.
|
113 |
+
* @param string $user_name user name.
|
114 |
+
*/
|
115 |
+
public function get_email_content( $report_details, $user_name ) {
|
116 |
+
|
117 |
+
$cf_logo = CARTFLOWS_CA_URL . 'admin/assets/images/cartflows-email-logo.png';
|
118 |
+
$unsubscribe_link = add_query_arg(
|
119 |
+
array(
|
120 |
+
'page' => 'woo-cart-abandonment-recovery',
|
121 |
+
'unsubscribe_weekly_email' => true,
|
122 |
+
),
|
123 |
+
admin_url( 'admin.php' )
|
124 |
+
);
|
125 |
+
|
126 |
+
$facebook_icon = CARTFLOWS_CA_URL . 'admin/assets/images/facebook2x.png';
|
127 |
+
$twitter_icon = CARTFLOWS_CA_URL . 'admin/assets/images/twitter2x.png';
|
128 |
+
$youtube_icon = CARTFLOWS_CA_URL . 'admin/assets/images/youtube2x.png';
|
129 |
+
|
130 |
+
$from_date = gmdate( 'M j', strtotime( '-7 days' ) );
|
131 |
+
$to_date = gmdate( 'M j' );
|
132 |
+
$store_name = get_bloginfo( 'name' );
|
133 |
+
|
134 |
+
return include CARTFLOWS_CA_DIR . 'modules/weekly-email-report/templates/email-body.php';
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Unsubscribe the user from the mailing list.
|
139 |
+
*/
|
140 |
+
public function unsubscribe_cart_abandonment_weekly_emails() {
|
141 |
+
|
142 |
+
$unsubscribe = filter_input( INPUT_GET, 'unsubscribe_weekly_email', FILTER_VALIDATE_BOOLEAN );
|
143 |
+
$page = filter_input( INPUT_GET, 'page', FILTER_SANITIZE_STRING );
|
144 |
+
|
145 |
+
if ( $unsubscribe && 'woo-cart-abandonment-recovery' === $page && is_user_logged_in() && current_user_can( 'manage_options' ) ) {
|
146 |
+
|
147 |
+
update_option( 'wcf_ca_send_recovery_report_emails_to_admin', 'off' );
|
148 |
+
wp_die( esc_html__( 'You have successfully unsubscribed from our weekly emails list.', 'woo-cart-abandonment-recovery' ), esc_html__( 'Unsubscribed', 'woo-cart-abandonment-recovery' ) );
|
149 |
+
}
|
150 |
+
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* Get last week report.
|
155 |
+
*/
|
156 |
+
public function get_last_week_report() {
|
157 |
+
|
158 |
+
$from_date = gmdate( 'Y-m-d', strtotime( '-7 days' ) );
|
159 |
+
$to_date = gmdate( 'Y-m-d' );
|
160 |
+
|
161 |
+
$report_instance = Cartflows_Ca_Tabs::get_instance();
|
162 |
+
$abandoned_report = $report_instance->get_report_by_type( $from_date, $to_date, WCF_CART_ABANDONED_ORDER );
|
163 |
+
$recovered_report = $report_instance->get_report_by_type( $from_date, $to_date, WCF_CART_COMPLETED_ORDER );
|
164 |
+
$lost_report = $report_instance->get_report_by_type( $from_date, $to_date, WCF_CART_LOST_ORDER );
|
165 |
+
|
166 |
+
$total_orders = ( $recovered_report['no_of_orders'] + $abandoned_report['no_of_orders'] + $lost_report['no_of_orders'] );
|
167 |
+
if ( $total_orders ) {
|
168 |
+
$conversion_rate = ( $recovered_report['no_of_orders'] / $total_orders ) * 100;
|
169 |
+
}
|
170 |
+
|
171 |
+
$from_date = gmdate( 'Y-m-d', strtotime( '-30 days' ) );
|
172 |
+
$last_month_recovered_report = $report_instance->get_report_by_type( $from_date, $to_date, WCF_CART_COMPLETED_ORDER );
|
173 |
+
|
174 |
+
return array(
|
175 |
+
'recovered_revenue' => $recovered_report['revenue'],
|
176 |
+
'recovered_orders' => $recovered_report['no_of_orders'],
|
177 |
+
'abandonded_orders' => $abandoned_report['no_of_orders'],
|
178 |
+
'last_month_recovered_Revenue' => $last_month_recovered_report['revenue'],
|
179 |
+
'conversion_rate' => $conversion_rate,
|
180 |
+
);
|
181 |
+
}
|
182 |
+
|
183 |
+
}
|
184 |
+
|
185 |
+
Cartflows_Ca_Admin_Report_Emails::get_instance();
|
modules/weekly-email-report/templates/email-body.php
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template Name: Email Header
|
4 |
+
*
|
5 |
+
* @package Cart Abandonment Recovery
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly.
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
ob_start();
|
13 |
+
?>
|
14 |
+
|
15 |
+
<!doctype html>
|
16 |
+
<html>
|
17 |
+
|
18 |
+
<head>
|
19 |
+
<title><?php echo esc_html__( 'Cart Abandonment Recovery Weekly Report', 'woo-cart-abandonment-recovery' ); ?></title>
|
20 |
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
21 |
+
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
|
22 |
+
<!--[if mso]><xml><o:OfficeDocumentSettings><o:PixelsPerInch>96</o:PixelsPerInch><o:AllowPNG/></o:OfficeDocumentSettings></xml><![endif]-->
|
23 |
+
<style>
|
24 |
+
* {
|
25 |
+
box-sizing: border-box;
|
26 |
+
}
|
27 |
+
|
28 |
+
body {
|
29 |
+
margin: 0;
|
30 |
+
padding: 0;
|
31 |
+
}
|
32 |
+
|
33 |
+
a[x-apple-data-detectors] {
|
34 |
+
color: inherit !important;
|
35 |
+
text-decoration: inherit !important;
|
36 |
+
}
|
37 |
+
|
38 |
+
#MessageViewBody a {
|
39 |
+
color: inherit;
|
40 |
+
text-decoration: none;
|
41 |
+
}
|
42 |
+
|
43 |
+
p {
|
44 |
+
line-height: inherit
|
45 |
+
}
|
46 |
+
|
47 |
+
@media (max-width:620px) {
|
48 |
+
.row-content {
|
49 |
+
width: 100% !important;
|
50 |
+
}
|
51 |
+
|
52 |
+
.column .border {
|
53 |
+
display: none;
|
54 |
+
}
|
55 |
+
|
56 |
+
.stack .column {
|
57 |
+
width: 100%;
|
58 |
+
display: block;
|
59 |
+
}
|
60 |
+
}
|
61 |
+
</style>
|
62 |
+
</head>
|
63 |
+
|
64 |
+
<body style="background-color: #FFFFFF; margin: 0; padding: 0; -webkit-text-size-adjust: none; text-size-adjust: none;">
|
65 |
+
<table border="0" cellpadding="0" cellspacing="0" class="nl-container" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #FFFFFF;" width="100%">
|
66 |
+
<tbody>
|
67 |
+
<tr>
|
68 |
+
<td>
|
69 |
+
<?php
|
70 |
+
require CARTFLOWS_CA_DIR . 'modules/weekly-email-report/templates/email-header.php';
|
71 |
+
|
72 |
+
require CARTFLOWS_CA_DIR . 'modules/weekly-email-report/templates/email-content-section.php';
|
73 |
+
|
74 |
+
require CARTFLOWS_CA_DIR . 'modules/weekly-email-report/templates/email-recovery-stat.php';
|
75 |
+
|
76 |
+
if ( ! class_exists( 'Cartflows_Pro_Loader' ) ) {
|
77 |
+
include CARTFLOWS_CA_DIR . 'modules/weekly-email-report/templates/email-cf-block.php';
|
78 |
+
} else {
|
79 |
+
include CARTFLOWS_CA_DIR . 'modules/weekly-email-report/templates/email-bsf-product-block.php';
|
80 |
+
}
|
81 |
+
|
82 |
+
require CARTFLOWS_CA_DIR . 'modules/weekly-email-report/templates/email-footer.php';
|
83 |
+
|
84 |
+
?>
|
85 |
+
</td>
|
86 |
+
</tr>
|
87 |
+
</tbody>
|
88 |
+
</table><!-- End -->
|
89 |
+
</body>
|
90 |
+
|
91 |
+
</html>
|
92 |
+
|
93 |
+
<?php
|
94 |
+
return ob_get_clean();
|
modules/weekly-email-report/templates/email-bsf-product-block.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template Name: Email Header
|
4 |
+
*
|
5 |
+
* @package Cart Abandonment Recovery
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly.
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
?>
|
13 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row row-6" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #fff3f0;" width="100%">
|
14 |
+
<tbody>
|
15 |
+
<tr>
|
16 |
+
<td>
|
17 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row-content stack" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #000000; width: 600px;" width="600">
|
18 |
+
<tbody>
|
19 |
+
<tr>
|
20 |
+
<td class="column column-1" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; padding-top: 50px; padding-bottom: 50px; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="100%">
|
21 |
+
<table border="0" cellpadding="0" cellspacing="0" class="heading_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
22 |
+
<tr>
|
23 |
+
<td style="padding-bottom:10px;text-align:center;width:100%;">
|
24 |
+
<h1 style="margin: 0; color: #1f2937; direction: ltr; font-family: Arial, Helvetica Neue, Helvetica, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: normal; line-height: 120%; text-align: center; margin-top: 0; margin-bottom: 0;">
|
25 |
+
<?php
|
26 |
+
echo esc_html__(
|
27 |
+
'Would you like to try our other products that make help you more sale and money?',
|
28 |
+
'cartflows'
|
29 |
+
)
|
30 |
+
?>
|
31 |
+
</h1>
|
32 |
+
</td>
|
33 |
+
</tr>
|
34 |
+
</table>
|
35 |
+
<table border="0" cellpadding="0" cellspacing="0" class="button_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
36 |
+
<tr>
|
37 |
+
<td style="padding-bottom:10px;padding-left:10px;padding-right:10px;padding-top:20px;text-align:center;">
|
38 |
+
<div align="center">
|
39 |
+
<!--[if mso]><v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" style="height:43px;width:273px;v-text-anchor:middle;" arcsize="10%" strokeweight="0.75pt" strokecolor="#F06434" fillcolor="#f06434"><w:anchorlock/><v:textbox inset="0px,0px,0px,0px"><center style="color:#ffffff; font-family:Arial, sans-serif; font-size:14px"><![endif]-->
|
40 |
+
<div style="text-decoration:none;display:inline-block;color:#ffffff;background-color:#f06434;border-radius:4px;width:auto;border-top:1px solid #F06434;border-right:1px solid #F06434;border-bottom:1px solid #F06434;border-left:1px solid #F06434;padding-top:5px;padding-bottom:5px;font-family:Arial, Helvetica Neue, Helvetica, sans-serif;text-align:center;mso-border-alt:none;word-break:keep-all;">
|
41 |
+
<span style="padding-left:20px;padding-right:20px;font-size:14px;display:inline-block;letter-spacing:normal;"><span style="font-size: 16px; line-height: 2; word-break: break-word; mso-line-height-alt: 32px;"><strong><span data-mce-style="font-size: 14px; line-height: 28px;" style="font-size: 14px; line-height: 28px;"><a href="https://cartflows.com/products-to-scale-growth/?utm_source=newsletter&utm_medium=email&utm_campaign=cart-abandonment-bsf" target="_blank" style="text-decoration:none; color:#ffffff;"><?php echo esc_html__( 'CHECK OUR OTHERS PRODUCTS', 'cartflows' ); ?></a></span></strong></span></span>
|
42 |
+
</div>
|
43 |
+
<!--[if mso]></center></v:textbox></v:roundrect><![endif]-->
|
44 |
+
</div>
|
45 |
+
</td>
|
46 |
+
</tr>
|
47 |
+
</table>
|
48 |
+
</td>
|
49 |
+
</tr>
|
50 |
+
</tbody>
|
51 |
+
</table>
|
52 |
+
</td>
|
53 |
+
</tr>
|
54 |
+
</tbody>
|
55 |
+
</table>
|
56 |
+
|
57 |
+
|
58 |
+
<?php
|
modules/weekly-email-report/templates/email-cf-block.php
ADDED
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template Name: Email Header
|
4 |
+
*
|
5 |
+
* @package Cart Abandonment Recovery
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly.
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
?>
|
13 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row row-6" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #fff3f0;" width="100%">
|
14 |
+
<tbody>
|
15 |
+
<tr>
|
16 |
+
<td>
|
17 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row-content stack" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #000000; width: 600px;" width="600">
|
18 |
+
<tbody>
|
19 |
+
<tr>
|
20 |
+
<td class="column column-1" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; padding-top: 50px; padding-bottom: 50px; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="100%">
|
21 |
+
<table border="0" cellpadding="0" cellspacing="0" class="heading_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
22 |
+
<tr>
|
23 |
+
<td style="padding-bottom:10px;text-align:center;width:100%;">
|
24 |
+
<h1 style="margin: 0; color: #1f2937; direction: ltr; font-family: Arial, Helvetica Neue, Helvetica, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: normal; line-height: 120%; text-align: center; margin-top: 0; margin-bottom: 0;">
|
25 |
+
<?php
|
26 |
+
echo esc_html__(
|
27 |
+
'CartFlows Pro can help you to increase conversion and maximize profits.',
|
28 |
+
'cartflows'
|
29 |
+
)
|
30 |
+
?>
|
31 |
+
</h1>
|
32 |
+
</td>
|
33 |
+
</tr>
|
34 |
+
</table>
|
35 |
+
<table border="0" cellpadding="0" cellspacing="0" class="text_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; word-break: break-word;" width="100%">
|
36 |
+
<tr>
|
37 |
+
<td style="padding-bottom:15px;padding-left:10px;padding-right:10px;padding-top:10px;">
|
38 |
+
<div style="font-family: sans-serif">
|
39 |
+
<div style="font-size: 14px; mso-line-height-alt: 25.2px; color: #393d47; line-height: 1.8; font-family: Arial, Helvetica Neue, Helvetica, sans-serif;">
|
40 |
+
<p style="margin: 0; font-size: 14px; text-align: center; mso-line-height-alt: 28.8px;">
|
41 |
+
<span style="font-size:16px;">
|
42 |
+
<?php
|
43 |
+
echo esc_html__(
|
44 |
+
'Want to earn 30% more store revenue on autopilot? CartFlows order bumps and upsells help you do just that. Try CartFlows Pro risk-free for 30 days!',
|
45 |
+
'cartflows'
|
46 |
+
)
|
47 |
+
?>
|
48 |
+
</span>
|
49 |
+
</p>
|
50 |
+
</div>
|
51 |
+
</div>
|
52 |
+
</td>
|
53 |
+
</tr>
|
54 |
+
</table>
|
55 |
+
<table border="0" cellpadding="10" cellspacing="0" class="button_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
56 |
+
<tr>
|
57 |
+
<td>
|
58 |
+
<div align="center">
|
59 |
+
<!--[if mso]><v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="https://cartflows.com/" style="height:43px;width:204px;v-text-anchor:middle;" arcsize="10%" strokeweight="0.75pt" strokecolor="#F06434" fillcolor="#f06434"><w:anchorlock/><v:textbox inset="0px,0px,0px,0px"><center style="color:#ffffff; font-family:Arial, sans-serif; font-size:14px"><![endif]--><a href="https://cartflows.com/use-cartflows-pro?utm_source=newsletter&utm_medium=email&utm_campaign=cart-abandonment-cf-pro" style="text-decoration:none;display:inline-block;color:#ffffff;background-color:#f06434;border-radius:4px;width:auto;border-top:1px solid #F06434;border-right:1px solid #F06434;border-bottom:1px solid #F06434;border-left:1px solid #F06434;padding-top:5px;padding-bottom:5px;font-family:Arial, Helvetica Neue, Helvetica, sans-serif;text-align:center;mso-border-alt:none;word-break:keep-all;" target="_blank"><span style="padding-left:20px;padding-right:20px;font-size:14px;display:inline-block;letter-spacing:normal;"><span style="font-size: 16px; line-height: 2; word-break: break-word; mso-line-height-alt: 32px;"><strong><span data-mce-style="font-size: 14px; line-height: 28px;" style="font-size: 14px; line-height: 28px;">
|
60 |
+
<?php
|
61 |
+
echo esc_html__(
|
62 |
+
'GET CARTFLOWS NOW',
|
63 |
+
'cartflows'
|
64 |
+
)
|
65 |
+
?>
|
66 |
+
</span></strong></span></span></a>
|
67 |
+
<!--[if mso]></center></v:textbox></v:roundrect><![endif]-->
|
68 |
+
</div>
|
69 |
+
</td>
|
70 |
+
</tr>
|
71 |
+
</table>
|
72 |
+
</td>
|
73 |
+
</tr>
|
74 |
+
</tbody>
|
75 |
+
</table>
|
76 |
+
</td>
|
77 |
+
</tr>
|
78 |
+
</tbody>
|
79 |
+
</table>
|
80 |
+
|
81 |
+
|
82 |
+
<?php
|
modules/weekly-email-report/templates/email-content-section.php
ADDED
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template Name: Email Header
|
4 |
+
*
|
5 |
+
* @package Cart Abandonment Recovery
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly.
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
?>
|
13 |
+
|
14 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row row-3" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #fff3f0;" width="100%">
|
15 |
+
<tbody>
|
16 |
+
<tr>
|
17 |
+
<td>
|
18 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row-content stack" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #000000; width: 600px;" width="600">
|
19 |
+
<tbody>
|
20 |
+
<tr>
|
21 |
+
<td class="column column-1" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="50%">
|
22 |
+
<table border="0" cellpadding="0" cellspacing="0" class="heading_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
23 |
+
<tr>
|
24 |
+
<td style="padding-bottom:10px;padding-left:10px;padding-top:60px;text-align:center;width:100%;">
|
25 |
+
<h1 style="margin: 0; color: #1f2937; direction: ltr; font-family: Arial, Helvetica Neue, Helvetica, sans-serif; font-size: 32px; font-weight: 400; letter-spacing: normal; line-height: 120%; text-align: left; margin-top: 0; margin-bottom: 0;">
|
26 |
+
<?php echo sprintf(esc_html__('Hey %s!', 'cartflows'), esc_attr__($user_name)); // phpcs:ignore
|
27 |
+
?>
|
28 |
+
</h1>
|
29 |
+
</td>
|
30 |
+
</tr>
|
31 |
+
</table>
|
32 |
+
<table border="0" cellpadding="0" cellspacing="0" class="text_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; word-break: break-word;" width="100%">
|
33 |
+
<tr>
|
34 |
+
<td style="padding-bottom:55px;padding-left:10px;padding-right:10px;padding-top:10px;">
|
35 |
+
<div style="font-family: sans-serif">
|
36 |
+
<div style="font-size: 14px; mso-line-height-alt: 25.2px; color: #393d47; line-height: 1.8; font-family: Arial, Helvetica Neue, Helvetica, sans-serif;">
|
37 |
+
<p style="margin: 0; font-size: 14px; text-align: left;">
|
38 |
+
<?php
|
39 |
+
echo sprintf(
|
40 |
+
/* translators: %1$s: store name, %2$s: total revenue. %3$s: total revenue*/
|
41 |
+
esc_html__(
|
42 |
+
'%1$s has recovered a total %2$s revenue in last week from CartFlows cart abandonment! And in last month, it generated %3$s',
|
43 |
+
'cartflows'
|
44 |
+
),
|
45 |
+
esc_attr( $store_name ),
|
46 |
+
wp_kses_post( wc_price( $report_details['recovered_revenue'] ) ),
|
47 |
+
wp_kses_post( wc_price( $report_details['last_month_recovered_Revenue'] ) )
|
48 |
+
); // phpcs:ignore
|
49 |
+
?>
|
50 |
+
</p>
|
51 |
+
</div>
|
52 |
+
</div>
|
53 |
+
</td>
|
54 |
+
</tr>
|
55 |
+
</table>
|
56 |
+
</td>
|
57 |
+
<td class="column column-2" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="50%">
|
58 |
+
<table border="0" cellpadding="0" cellspacing="0" class="heading_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
59 |
+
<tr>
|
60 |
+
<td style="padding-bottom:10px;padding-top:60px;text-align:center;width:100%;">
|
61 |
+
<h1 style="margin: 0; color: #1f2937; direction: ltr; font-family: Arial, Helvetica Neue, Helvetica, sans-serif; font-size: 32px; font-weight: 400; letter-spacing: normal; line-height: 120%; text-align: center; margin-top: 0; margin-bottom: 0;">
|
62 |
+
<?php echo wp_kses_post( wc_price( $report_details['recovered_revenue'] ) ); ?>
|
63 |
+
</h1>
|
64 |
+
</td>
|
65 |
+
</tr>
|
66 |
+
</table>
|
67 |
+
<table border="0" cellpadding="0" cellspacing="0" class="text_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; word-break: break-word;" width="100%">
|
68 |
+
<tr>
|
69 |
+
<td style="padding-bottom:55px;padding-left:10px;padding-right:10px;padding-top:10px;">
|
70 |
+
<div style="font-family: sans-serif">
|
71 |
+
<div style="font-size: 14px; mso-line-height-alt: 16.8px; color: #393d47; line-height: 1.2; font-family: Arial, Helvetica Neue, Helvetica, sans-serif;">
|
72 |
+
<p style="margin: 0; font-size: 14px; text-align: center;">
|
73 |
+
<span style="font-size:14px;"><?php echo esc_attr( $from_date ) . ' - ' . esc_attr( $to_date ); ?></span>
|
74 |
+
</p>
|
75 |
+
<p style="margin: 0; font-size: 14px; text-align: center;">
|
76 |
+
<span style="font-size:12px;">
|
77 |
+
<?php
|
78 |
+
echo esc_html__(
|
79 |
+
'(In last 7 days)',
|
80 |
+
'cartflows'
|
81 |
+
)
|
82 |
+
?>
|
83 |
+
</span>
|
84 |
+
</p>
|
85 |
+
<p style="margin: 0; font-size: 14px; text-align: center; mso-line-height-alt: 16.8px;">
|
86 |
+
</p>
|
87 |
+
<p style="margin: 0; font-size: 14px; text-align: center;">
|
88 |
+
<span style="font-size:22px;"><?php echo wp_kses_post( wc_price( $report_details['last_month_recovered_Revenue'] ) ); ?></span>
|
89 |
+
</p>
|
90 |
+
<p style="margin: 0; text-align: center;"><span style="font-size:12px;">
|
91 |
+
<?php
|
92 |
+
echo esc_html__(
|
93 |
+
'(In last 30 days)',
|
94 |
+
'cartflows'
|
95 |
+
)
|
96 |
+
?>
|
97 |
+
</span></p>
|
98 |
+
</div>
|
99 |
+
</div>
|
100 |
+
</td>
|
101 |
+
</tr>
|
102 |
+
</table>
|
103 |
+
</td>
|
104 |
+
</tr>
|
105 |
+
</tbody>
|
106 |
+
</table>
|
107 |
+
</td>
|
108 |
+
</tr>
|
109 |
+
</tbody>
|
110 |
+
</table>
|
111 |
+
|
112 |
+
|
113 |
+
<?php
|
modules/weekly-email-report/templates/email-footer.php
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template Name: Email Header
|
4 |
+
*
|
5 |
+
* @package Cart Abandonment Recovery
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly.
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
?>
|
13 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row row-7" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
14 |
+
<tbody>
|
15 |
+
<tr>
|
16 |
+
<td>
|
17 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row-content stack" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #000000; width: 600px;" width="600">
|
18 |
+
<tbody>
|
19 |
+
<tr>
|
20 |
+
<td class="column column-1" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; padding-top: 5px; padding-bottom: 5px; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="100%">
|
21 |
+
<table border="0" cellpadding="20" cellspacing="0" class="social_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
22 |
+
<tr>
|
23 |
+
<td>
|
24 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="social-table" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="138px">
|
25 |
+
<tr>
|
26 |
+
<td style="padding:0 7px 0 7px;"><a href="https://www.facebook.com/groups/cartflows/" target="_blank"><img alt="Facebook" height="32" src="<?php echo esc_url( $facebook_icon ); ?>" style="display: block; height: auto; border: 0;" title="facebook" width="32" /></a>
|
27 |
+
</td>
|
28 |
+
<td style="padding:0 7px 0 7px;"><a href="https://twitter.com/cartflows" target="_blank"><img alt="Twitter" height="32" src="<?php echo esc_url( $twitter_icon ); ?>" style="display: block; height: auto; border: 0;" title="twitter" width="32" /></a>
|
29 |
+
</td>
|
30 |
+
<td style="padding:0 7px 0 7px;"><a href="https://www.youtube.com/channel/UCEdXT5pEI_Vbd5te5v7sOpQ" target="_blank"><img alt="YouTube" height="32" src="<?php echo esc_url( $youtube_icon ); ?>" style="display: block; height: auto; border: 0;" title="YouTube" width="32" /></a>
|
31 |
+
</td>
|
32 |
+
</tr>
|
33 |
+
</table>
|
34 |
+
</td>
|
35 |
+
</tr>
|
36 |
+
</table>
|
37 |
+
</td>
|
38 |
+
</tr>
|
39 |
+
</tbody>
|
40 |
+
</table>
|
41 |
+
</td>
|
42 |
+
</tr>
|
43 |
+
</tbody>
|
44 |
+
</table>
|
45 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row row-8" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
46 |
+
<tbody>
|
47 |
+
<tr>
|
48 |
+
<td>
|
49 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row-content stack" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #000000; width: 600px;" width="600">
|
50 |
+
<tbody>
|
51 |
+
<tr>
|
52 |
+
<td class="column column-1" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; padding-top: 5px; padding-bottom: 5px; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="100%">
|
53 |
+
<table border="0" cellpadding="10" cellspacing="0" class="text_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; word-break: break-word;" width="100%">
|
54 |
+
<tr>
|
55 |
+
<td>
|
56 |
+
<div style="font-family: sans-serif">
|
57 |
+
<div style="font-size: 14px; mso-line-height-alt: 16.8px; color: #393d47; line-height: 1.2; font-family: Arial, Helvetica Neue, Helvetica, sans-serif;">
|
58 |
+
<p style="margin: 0; text-align: center;">
|
59 |
+
<?php
|
60 |
+
echo esc_html__(
|
61 |
+
'Our postal address: Brainstorm Force, Vasant Utsav, Hinjewadi, Pune, India 411057',
|
62 |
+
'cartflows'
|
63 |
+
)
|
64 |
+
?>
|
65 |
+
</p>
|
66 |
+
<p style="margin: 0; text-align: center; mso-line-height-alt: 16.8px;">
|
67 |
+
</p>
|
68 |
+
<p style="margin: 0; text-align: center;"><a href="<?php echo esc_url( $unsubscribe_link ); ?>" rel="noopener" style="color: #8a3b8f;" target="_blank"><?php echo esc_html__( 'Unsubscribe', 'cartflows' ); ?></a></p>
|
69 |
+
</div>
|
70 |
+
</div>
|
71 |
+
</td>
|
72 |
+
</tr>
|
73 |
+
</table>
|
74 |
+
</td>
|
75 |
+
</tr>
|
76 |
+
</tbody>
|
77 |
+
</table>
|
78 |
+
</td>
|
79 |
+
</tr>
|
80 |
+
</tbody>
|
81 |
+
</table>
|
82 |
+
|
83 |
+
<?php
|
modules/weekly-email-report/templates/email-header.php
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template Name: Email Header
|
4 |
+
*
|
5 |
+
* @package Cart Abandonment Recovery
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly.
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
?>
|
13 |
+
|
14 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row row-1" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #f06434;" width="100%">
|
15 |
+
<tbody>
|
16 |
+
<tr>
|
17 |
+
<td>
|
18 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row-content stack" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #000000; width: 600px;" width="600">
|
19 |
+
<tbody>
|
20 |
+
<tr>
|
21 |
+
<td class="column column-1" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; padding-top: 5px; padding-bottom: 5px; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="100%">
|
22 |
+
<table border="0" cellpadding="10" cellspacing="0" class="text_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; word-break: break-word;" width="100%">
|
23 |
+
<tr>
|
24 |
+
<td>
|
25 |
+
<div style="font-family: sans-serif">
|
26 |
+
<div style="font-size: 14px; mso-line-height-alt: 16.8px; color: #ffffff; line-height: 1.2; font-family: Arial, Helvetica Neue, Helvetica, sans-serif;">
|
27 |
+
<p style="margin: 0; font-size: 14px; text-align: center;">
|
28 |
+
<strong>
|
29 |
+
<?php
|
30 |
+
echo esc_html__(
|
31 |
+
'Your weekly cart abandonment summary from CartFlows.',
|
32 |
+
'cartflows'
|
33 |
+
)
|
34 |
+
?>
|
35 |
+
</strong>
|
36 |
+
</p>
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
</td>
|
40 |
+
</tr>
|
41 |
+
</table>
|
42 |
+
</td>
|
43 |
+
</tr>
|
44 |
+
</tbody>
|
45 |
+
</table>
|
46 |
+
</td>
|
47 |
+
</tr>
|
48 |
+
</tbody>
|
49 |
+
</table>
|
50 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row row-2" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
51 |
+
<tbody>
|
52 |
+
<tr>
|
53 |
+
<td>
|
54 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row-content stack" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #000000; width: 600px;" width="600">
|
55 |
+
<tbody>
|
56 |
+
<tr>
|
57 |
+
<td class="column column-1" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; padding-left: 15px; padding-right: 15px; padding-top: 15px; padding-bottom: 15px; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="100%">
|
58 |
+
<table border="0" cellpadding="5" cellspacing="0" class="image_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
59 |
+
<tr>
|
60 |
+
<td>
|
61 |
+
<div align="center" style="line-height:10px"><img src="<?php echo esc_url( $cf_logo ); ?>" style="display: block; height: auto; border: 0; width: 190px; max-width: 100%;" width="190" /></div>
|
62 |
+
</td>
|
63 |
+
</tr>
|
64 |
+
</table>
|
65 |
+
</td>
|
66 |
+
</tr>
|
67 |
+
</tbody>
|
68 |
+
</table>
|
69 |
+
</td>
|
70 |
+
</tr>
|
71 |
+
</tbody>
|
72 |
+
</table>
|
73 |
+
|
74 |
+
|
75 |
+
<?php
|
modules/weekly-email-report/templates/email-recovery-stat.php
ADDED
@@ -0,0 +1,152 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template Name: Email Header
|
4 |
+
*
|
5 |
+
* @package Cart Abandonment Recovery
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly.
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
?>
|
13 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row row-4" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
14 |
+
<tbody>
|
15 |
+
<tr>
|
16 |
+
<td>
|
17 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row-content stack" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #000000; width: 600px;" width="600">
|
18 |
+
<tbody>
|
19 |
+
<tr>
|
20 |
+
<td class="column column-1" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; padding-top: 50px; padding-bottom: 20px; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="100%">
|
21 |
+
<table border="0" cellpadding="0" cellspacing="0" class="heading_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
22 |
+
<tr>
|
23 |
+
<td style="text-align:center;width:100%;">
|
24 |
+
<h1 style="margin: 0; color: #1f2937; direction: ltr; font-family: Arial, Helvetica Neue, Helvetica, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: normal; line-height: 120%; text-align: center; margin-top: 0; margin-bottom: 0;">
|
25 |
+
<?php echo esc_html__( 'Some More Numbers', 'cartflows' ); ?></h1>
|
26 |
+
</td>
|
27 |
+
</tr>
|
28 |
+
</table>
|
29 |
+
<table border="0" cellpadding="5" cellspacing="0" class="text_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; word-break: break-word;" width="100%">
|
30 |
+
<tr>
|
31 |
+
<td>
|
32 |
+
<div style="font-family: sans-serif">
|
33 |
+
<div style="font-size: 14px; mso-line-height-alt: 16.8px; color: #393d47; line-height: 1.2; font-family: Arial, Helvetica Neue, Helvetica, sans-serif;">
|
34 |
+
<p style="margin: 0; font-size: 14px; text-align: center;">
|
35 |
+
<span style="font-size:16px;"><?php echo esc_attr( $from_date ) . ' - ' . esc_attr( $to_date ); ?></span>
|
36 |
+
</p>
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
</td>
|
40 |
+
</tr>
|
41 |
+
</table>
|
42 |
+
</td>
|
43 |
+
</tr>
|
44 |
+
</tbody>
|
45 |
+
</table>
|
46 |
+
</td>
|
47 |
+
</tr>
|
48 |
+
</tbody>
|
49 |
+
</table>
|
50 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row row-5" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
51 |
+
<tbody>
|
52 |
+
<tr>
|
53 |
+
<td>
|
54 |
+
<table align="center" border="0" cellpadding="0" cellspacing="0" class="row-content stack" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #000000; width: 600px;" width="600">
|
55 |
+
<tbody>
|
56 |
+
<tr>
|
57 |
+
<td class="column column-1" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="33.333333333333336%">
|
58 |
+
<table border="0" cellpadding="0" cellspacing="0" class="heading_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
59 |
+
<tr>
|
60 |
+
<td style="text-align:center;width:100%;padding-top:5px;">
|
61 |
+
<h1 style="margin: 0; color: #1f2937; direction: ltr; font-family: Arial, Helvetica Neue, Helvetica, sans-serif; font-size: 30px; font-weight: 400; letter-spacing: normal; line-height: 120%; text-align: center; margin-top: 0; margin-bottom: 0;">
|
62 |
+
<?php echo esc_attr( $report_details['abandonded_orders'] ); ?></h1>
|
63 |
+
</td>
|
64 |
+
</tr>
|
65 |
+
</table>
|
66 |
+
<table border="0" cellpadding="0" cellspacing="0" class="text_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; word-break: break-word;" width="100%">
|
67 |
+
<tr>
|
68 |
+
<td style="padding-bottom:60px;padding-left:10px;padding-right:10px;padding-top:10px;">
|
69 |
+
<div style="font-family: sans-serif">
|
70 |
+
<div style="font-size: 14px; mso-line-height-alt: 16.8px; color: #393d47; line-height: 1.2; font-family: Arial, Helvetica Neue, Helvetica, sans-serif;">
|
71 |
+
<p style="margin: 0; text-align: center;"><span style="font-size:16px;">
|
72 |
+
<?php
|
73 |
+
echo esc_html__(
|
74 |
+
'Carts
|
75 |
+
abandoned',
|
76 |
+
'cartflows'
|
77 |
+
)
|
78 |
+
?>
|
79 |
+
</span></p>
|
80 |
+
</div>
|
81 |
+
</div>
|
82 |
+
</td>
|
83 |
+
</tr>
|
84 |
+
</table>
|
85 |
+
</td>
|
86 |
+
<td class="column column-2" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="33.333333333333336%">
|
87 |
+
<table border="0" cellpadding="0" cellspacing="0" class="heading_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
88 |
+
<tr>
|
89 |
+
<td style="text-align:center;width:100%;padding-top:5px;">
|
90 |
+
<h1 style="margin: 0; color: #1f2937; direction: ltr; font-family: Arial, Helvetica Neue, Helvetica, sans-serif; font-size: 30px; font-weight: 400; letter-spacing: normal; line-height: 120%; text-align: center; margin-top: 0; margin-bottom: 0;">
|
91 |
+
<?php echo esc_attr( $report_details['recovered_orders'] ); ?></h1>
|
92 |
+
</td>
|
93 |
+
</tr>
|
94 |
+
</table>
|
95 |
+
<table border="0" cellpadding="0" cellspacing="0" class="text_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; word-break: break-word;" width="100%">
|
96 |
+
<tr>
|
97 |
+
<td style="padding-bottom:15px;padding-left:10px;padding-right:10px;padding-top:10px;">
|
98 |
+
<div style="font-family: sans-serif">
|
99 |
+
<div style="font-size: 14px; mso-line-height-alt: 16.8px; color: #393d47; line-height: 1.2; font-family: Arial, Helvetica Neue, Helvetica, sans-serif;">
|
100 |
+
<p style="margin: 0; text-align: center;"><span style="font-size:16px;">
|
101 |
+
<?php
|
102 |
+
echo esc_html__(
|
103 |
+
'Carts
|
104 |
+
recovered',
|
105 |
+
'cartflows'
|
106 |
+
)
|
107 |
+
?>
|
108 |
+
</span></p>
|
109 |
+
</div>
|
110 |
+
</div>
|
111 |
+
</td>
|
112 |
+
</tr>
|
113 |
+
</table>
|
114 |
+
</td>
|
115 |
+
<td class="column column-3" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-weight: 400; text-align: left; vertical-align: top; border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px;" width="33.333333333333336%">
|
116 |
+
<table border="0" cellpadding="0" cellspacing="0" class="heading_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt;" width="100%">
|
117 |
+
<tr>
|
118 |
+
<td style="text-align:center;width:100%;padding-top:5px;">
|
119 |
+
<h1 style="margin: 0; color: #1f2937; direction: ltr; font-family: Arial, Helvetica Neue, Helvetica, sans-serif; font-size: 30px; font-weight: 400; letter-spacing: normal; line-height: 120%; text-align: center; margin-top: 0; margin-bottom: 0;">
|
120 |
+
<?php echo esc_attr( $report_details['conversion_rate'] ) . '%'; ?></h1>
|
121 |
+
</td>
|
122 |
+
</tr>
|
123 |
+
</table>
|
124 |
+
<table border="0" cellpadding="0" cellspacing="0" class="text_block" role="presentation" style="mso-table-lspace: 0pt; mso-table-rspace: 0pt; word-break: break-word;" width="100%">
|
125 |
+
<tr>
|
126 |
+
<td style="padding-bottom:15px;padding-left:10px;padding-right:10px;padding-top:10px;">
|
127 |
+
<div style="font-family: sans-serif">
|
128 |
+
<div style="font-size: 14px; mso-line-height-alt: 16.8px; color: #393d47; line-height: 1.2; font-family: Arial, Helvetica Neue, Helvetica, sans-serif;">
|
129 |
+
<p style="margin: 0; text-align: center;"><span style="font-size:16px;">
|
130 |
+
<?php
|
131 |
+
echo esc_html__(
|
132 |
+
'Recovery
|
133 |
+
rate',
|
134 |
+
'cartflows'
|
135 |
+
)
|
136 |
+
?>
|
137 |
+
</span></p>
|
138 |
+
</div>
|
139 |
+
</div>
|
140 |
+
</td>
|
141 |
+
</tr>
|
142 |
+
</table>
|
143 |
+
</td>
|
144 |
+
</tr>
|
145 |
+
</tbody>
|
146 |
+
</table>
|
147 |
+
</td>
|
148 |
+
</tr>
|
149 |
+
</tbody>
|
150 |
+
</table>
|
151 |
+
|
152 |
+
<?php
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: sujaypawar, wpcrafter
|
|
3 |
Tags: woocommerce, cart abandonment, cart recovery
|
4 |
Requires at least: 5.4
|
5 |
Tested up to: 5.9.3
|
6 |
-
Stable tag: 1.2.
|
7 |
Requires PHP: 5.6
|
8 |
License: GPLv2 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
@@ -128,6 +128,11 @@ Here are few thoughts behind making it available for free:
|
|
128 |
|
129 |
== Changelog ==
|
130 |
|
|
|
|
|
|
|
|
|
|
|
131 |
= Version 1.2.15 - Thursday, 21st April 2022 =
|
132 |
* Improvement: Handled WordPress database error while creating tables on plugin activation.
|
133 |
|
3 |
Tags: woocommerce, cart abandonment, cart recovery
|
4 |
Requires at least: 5.4
|
5 |
Tested up to: 5.9.3
|
6 |
+
Stable tag: 1.2.16
|
7 |
Requires PHP: 5.6
|
8 |
License: GPLv2 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
128 |
|
129 |
== Changelog ==
|
130 |
|
131 |
+
= Version 1.2.16 - Tuesday, 17th May 2022 =
|
132 |
+
* New: Introduced weekly order recovery reports via email.
|
133 |
+
* New: Added an option to send the recovery emails in WooCommerce email format.
|
134 |
+
* Improvement: Updated the default unsubscribe text from "Unsubscribe" to "Don't remind me again".
|
135 |
+
|
136 |
= Version 1.2.15 - Thursday, 21st April 2022 =
|
137 |
* Improvement: Handled WordPress database error while creating tables on plugin activation.
|
138 |
|
uninstall.php
CHANGED
@@ -36,6 +36,8 @@ if ( 'on' === $delete_data ) {
|
|
36 |
'wcf_ca_excludes_orders',
|
37 |
'wcf_ca_delete_plugin_data',
|
38 |
'wcf_ca_version',
|
|
|
|
|
39 |
);
|
40 |
|
41 |
// Delete all options data.
|
36 |
'wcf_ca_excludes_orders',
|
37 |
'wcf_ca_delete_plugin_data',
|
38 |
'wcf_ca_version',
|
39 |
+
'wcf_ca_send_recovery_report_emails_to_admin',
|
40 |
+
'wcf_ca_admin_email',
|
41 |
);
|
42 |
|
43 |
// Delete all options data.
|
woo-cart-abandonment-recovery.php
CHANGED
@@ -3,12 +3,12 @@
|
|
3 |
* Plugin Name: WooCommerce Cart Abandonment Recovery
|
4 |
* Plugin URI: https://cartflows.com/
|
5 |
* Description: Recover your lost revenue. Capture email address of users on the checkout page and send follow up emails if they don't complete the purchase.
|
6 |
-
* Version: 1.2.
|
7 |
* Author: CartFlows Inc
|
8 |
* Author URI: https://cartflows.com/
|
9 |
* Text Domain: woo-cart-abandonment-recovery
|
10 |
* WC requires at least: 3.0
|
11 |
-
* WC tested up to: 6.
|
12 |
*
|
13 |
* @package Woocommerce-Cart-Abandonment-Recovery
|
14 |
*/
|
3 |
* Plugin Name: WooCommerce Cart Abandonment Recovery
|
4 |
* Plugin URI: https://cartflows.com/
|
5 |
* Description: Recover your lost revenue. Capture email address of users on the checkout page and send follow up emails if they don't complete the purchase.
|
6 |
+
* Version: 1.2.16
|
7 |
* Author: CartFlows Inc
|
8 |
* Author URI: https://cartflows.com/
|
9 |
* Text Domain: woo-cart-abandonment-recovery
|
10 |
* WC requires at least: 3.0
|
11 |
+
* WC tested up to: 6.5.0
|
12 |
*
|
13 |
* @package Woocommerce-Cart-Abandonment-Recovery
|
14 |
*/
|