Version Description
(26.03.2019) =
Enhancement - Corrected the way recovered orders were tracked. Replaced the hooks tracking orders.
Bug - Newly created Email Templates will be inactive by default.
Bug - When an email template is activated, the emails will not be sent to older abandoned carts.
Bug - Fixed an issue where Recovered Order note was getting added to all the Orders.
Bug - Fixed an issue where notices were getting displayed in abandoned details page if the product was deleted.
Tweak - Updated the pot file with some new strings added. Also corrected the display of a few strings.
Download this release
Release Info
Developer | Dhruvin |
Plugin | Abandoned Cart Lite for WooCommerce |
Version | 5.3.0 |
Comparing to | |
See all releases |
Code changes from version 5.2.1 to 5.3.0
- cron/wcal_send_email.php +71 -44
- i18n/languages/woocommerce-abandoned-cart.mo +0 -0
- i18n/languages/woocommerce-abandoned-cart.po +310 -350
- i18n/languages/woocommerce-abandoned-cart.pot +304 -345
- includes/classes/class-wcal-recover-orders-table.php +15 -13
- includes/frontend/wcal_checkout_process.php +593 -0
- includes/frontend/wcal_frontend.php +30 -0
- includes/wcal-common.php +59 -48
- includes/wcal_admin_notice.php +1 -1
- readme.txt +17 -3
- uninstall.php +109 -0
- woocommerce-ac.php +68 -671
cron/wcal_send_email.php
CHANGED
@@ -71,11 +71,11 @@ if ( !class_exists( 'woocommerce_abandon_cart_cron' ) ) {
|
|
71 |
$time_to_send_template_after = $value->frequency * $hour_seconds;
|
72 |
}
|
73 |
|
74 |
-
$carts = $this->wcal_get_carts( $time_to_send_template_after, $cart_abandon_cut_off_time );
|
75 |
$email_frequency = $value->frequency;
|
76 |
$email_body_template = $value->body;
|
77 |
-
$
|
78 |
-
$
|
79 |
$wcal_from_name = get_option ( 'wcal_from_name' );
|
80 |
$wcal_from_email = get_option ( 'wcal_from_email' );
|
81 |
$wcal_reply_email = get_option ( 'wcal_reply_email' );
|
@@ -151,7 +151,7 @@ if ( !class_exists( 'woocommerce_abandon_cart_cron' ) ) {
|
|
151 |
$wcal_check_if_cart_is_present_in_post_meta = "SELECT wpm.post_id, wpost.post_date, wpost.post_status FROM `" . $wpdb->prefix . "postmeta` AS wpm
|
152 |
LEFT JOIN `" . $wpdb->prefix . "posts` AS wpost
|
153 |
ON wpm.post_id = wpost.ID
|
154 |
-
WHERE wpm.meta_key = '
|
155 |
wpm.meta_value = %s AND wpm.post_id = wpost.ID AND
|
156 |
wpost.post_type = 'shop_order'
|
157 |
ORDER BY wpm.post_id DESC LIMIT 1";
|
@@ -172,6 +172,7 @@ if ( !class_exists( 'woocommerce_abandon_cart_cron' ) ) {
|
|
172 |
false == $wcap_check_cart_staus_need_to_update ) {
|
173 |
|
174 |
$cart_info_db = $value->abandoned_cart_info;
|
|
|
175 |
$email_body = $email_body_template;
|
176 |
$wcal_check_cart_total = $this->wcal_check_cart_total( $cart );
|
177 |
if( true == $wcal_check_cart_total ) {
|
@@ -296,32 +297,37 @@ if ( !class_exists( 'woocommerce_abandon_cart_cron' ) ) {
|
|
296 |
foreach ( $cart_details as $k => $v ) {
|
297 |
$quantity_total = $v->quantity;
|
298 |
$product_id = $v->product_id;
|
299 |
-
$prod_name = get_post( $product_id );
|
300 |
-
$product_link_track = get_permalink( $product_id );
|
301 |
-
$product_name = $prod_name->post_title;
|
302 |
-
if( $sub_line_prod_name == '' ) {
|
303 |
-
$sub_line_prod_name = $product_name;
|
304 |
-
}
|
305 |
-
// Item subtotal is calculated as product total including taxes
|
306 |
-
if( $v->line_tax != 0 && $v->line_tax > 0 ) {
|
307 |
-
$item_subtotal = $item_subtotal + $v->line_total + $v->line_tax;
|
308 |
-
} else {
|
309 |
-
$item_subtotal = $item_subtotal + $v->line_total;
|
310 |
-
}
|
311 |
-
// Line total
|
312 |
-
$item_total = $item_subtotal;
|
313 |
-
$item_subtotal = $item_subtotal / $quantity_total;
|
314 |
-
$item_total_display = wc_price( $item_total );
|
315 |
-
$item_subtotal = wc_price( $item_subtotal );
|
316 |
$product = wc_get_product( $product_id );
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
$
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
325 |
$wcap_sku = '';
|
326 |
if ( $variation->get_sku() ) {
|
327 |
$wcap_sku = "SKU: " . $variation->get_sku() . "<br>";
|
@@ -357,7 +363,16 @@ if ( !class_exists( 'woocommerce_abandon_cart_cron' ) ) {
|
|
357 |
</tr>';
|
358 |
$cart_total += $item_total;
|
359 |
$item_subtotal = $item_total = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
360 |
}
|
|
|
|
|
|
|
361 |
$cart_total = wc_price( $cart_total );
|
362 |
$var .= '<tr align="center">
|
363 |
<td> </td>
|
@@ -370,7 +385,11 @@ if ( !class_exists( 'woocommerce_abandon_cart_cron' ) ) {
|
|
370 |
';
|
371 |
$email_body = str_replace( "{{products.cart}}", $var, $email_body );
|
372 |
$email_subject = str_replace( "{{product.name}}", __( $sub_line_prod_name, 'woocommerce-abandoned-cart' ), $email_subject );
|
|
|
|
|
|
|
373 |
}
|
|
|
374 |
|
375 |
$user_email = $value->user_email;
|
376 |
$email_body_final = stripslashes( $email_body );
|
@@ -453,15 +472,23 @@ if ( !class_exists( 'woocommerce_abandon_cart_cron' ) ) {
|
|
453 |
* @return array | object $results
|
454 |
* @since 1.3
|
455 |
*/
|
456 |
-
function wcal_get_carts( $template_to_send_after_time, $cart_abandon_cut_off_time ) {
|
457 |
global $wpdb;
|
458 |
$cart_time = current_time( 'timestamp' ) - $template_to_send_after_time - $cart_abandon_cut_off_time;
|
|
|
|
|
|
|
|
|
|
|
|
|
459 |
$cart_ignored = 0;
|
460 |
$unsubscribe = 0;
|
461 |
-
$query = "SELECT wpac . * , wpu.user_login, wpu.user_email
|
462 |
-
|
463 |
-
|
464 |
-
|
|
|
|
|
465 |
|
466 |
$results = $wpdb->get_results( $wpdb->prepare( $query, $cart_ignored, $unsubscribe ) );
|
467 |
return $results;
|
@@ -541,10 +568,10 @@ if ( !class_exists( 'woocommerce_abandon_cart_cron' ) ) {
|
|
541 |
|
542 |
$order_id = $wcal_results[0]->post_id;
|
543 |
|
544 |
-
$order =
|
545 |
|
546 |
-
$query_order = "UPDATE `" . $wpdb->prefix."ac_abandoned_cart_history_lite` SET recovered_cart=
|
547 |
-
$wpdb->query( $query_order );
|
548 |
|
549 |
$order->add_order_note( __( 'This order was abandoned & subsequently recovered.', 'woocommerce-abandoned-cart' ) );
|
550 |
|
@@ -553,13 +580,13 @@ if ( !class_exists( 'woocommerce_abandon_cart_cron' ) ) {
|
|
553 |
}
|
554 |
}else{
|
555 |
|
556 |
-
$query_ignored = "UPDATE `" . $wpdb->prefix."ac_abandoned_cart_history_lite` SET cart_ignored = '1' WHERE id =
|
557 |
-
$wpdb->query( $query_ignored );
|
558 |
}
|
559 |
return 1;
|
560 |
}else if ( strtotime( $order_date_with_time ) > $abandoned_cart_time ) {
|
561 |
-
$query_ignored = "UPDATE `" . $wpdb->prefix."ac_abandoned_cart_history_lite` SET cart_ignored = '1' WHERE id =
|
562 |
-
$wpdb->query( $query_ignored );
|
563 |
return 1;
|
564 |
} else if( "wc-pending" == $results_query_email[0]->post_status || "wc-failed" == $results_query_email[0]->post_status ) {
|
565 |
|
@@ -608,15 +635,15 @@ if ( !class_exists( 'woocommerce_abandon_cart_cron' ) ) {
|
|
608 |
|
609 |
$order_id = $wcal_results[0]->post_id;
|
610 |
|
611 |
-
$order =
|
612 |
|
613 |
$query_order = "UPDATE `" . $wpdb->prefix."ac_abandoned_cart_history_lite` SET recovered_cart= '" . $order_id . "', cart_ignored = '1' WHERE id = '".$cart_id."' ";
|
614 |
$wpdb->query( $query_order );
|
615 |
|
616 |
$order->add_order_note( __( 'This order was abandoned & subsequently recovered.', 'woocommerce-abandoned-cart' ) );
|
617 |
|
618 |
-
delete_post_meta( $order_id, '
|
619 |
-
delete_post_meta( $order_id , '
|
620 |
}
|
621 |
}else {
|
622 |
|
71 |
$time_to_send_template_after = $value->frequency * $hour_seconds;
|
72 |
}
|
73 |
|
74 |
+
$carts = $this->wcal_get_carts( $time_to_send_template_after, $cart_abandon_cut_off_time, $value->id );
|
75 |
$email_frequency = $value->frequency;
|
76 |
$email_body_template = $value->body;
|
77 |
+
$template_email_subject = stripslashes ( $value->subject );
|
78 |
+
$template_email_subject = convert_smilies ( $template_email_subject );
|
79 |
$wcal_from_name = get_option ( 'wcal_from_name' );
|
80 |
$wcal_from_email = get_option ( 'wcal_from_email' );
|
81 |
$wcal_reply_email = get_option ( 'wcal_reply_email' );
|
151 |
$wcal_check_if_cart_is_present_in_post_meta = "SELECT wpm.post_id, wpost.post_date, wpost.post_status FROM `" . $wpdb->prefix . "postmeta` AS wpm
|
152 |
LEFT JOIN `" . $wpdb->prefix . "posts` AS wpost
|
153 |
ON wpm.post_id = wpost.ID
|
154 |
+
WHERE wpm.meta_key = 'wcal_recover_order_placed' AND
|
155 |
wpm.meta_value = %s AND wpm.post_id = wpost.ID AND
|
156 |
wpost.post_type = 'shop_order'
|
157 |
ORDER BY wpm.post_id DESC LIMIT 1";
|
172 |
false == $wcap_check_cart_staus_need_to_update ) {
|
173 |
|
174 |
$cart_info_db = $value->abandoned_cart_info;
|
175 |
+
$email_subject = $template_email_subject;
|
176 |
$email_body = $email_body_template;
|
177 |
$wcal_check_cart_total = $this->wcal_check_cart_total( $cart );
|
178 |
if( true == $wcal_check_cart_total ) {
|
297 |
foreach ( $cart_details as $k => $v ) {
|
298 |
$quantity_total = $v->quantity;
|
299 |
$product_id = $v->product_id;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
300 |
$product = wc_get_product( $product_id );
|
301 |
+
if ( $product ) {
|
302 |
+
$prod_name = get_post( $product_id );
|
303 |
+
$product_link_track = get_permalink( $product_id );
|
304 |
+
$product_name = $prod_name->post_title;
|
305 |
+
if( $sub_line_prod_name == '' ) {
|
306 |
+
$sub_line_prod_name = $product_name;
|
307 |
+
}
|
308 |
+
// Item subtotal is calculated as product total including taxes
|
309 |
+
if( $v->line_tax != 0 && $v->line_tax > 0 ) {
|
310 |
+
$item_subtotal = $item_subtotal + $v->line_total + $v->line_tax;
|
311 |
+
} else {
|
312 |
+
$item_subtotal = $item_subtotal + $v->line_total;
|
313 |
+
}
|
314 |
+
// Line total
|
315 |
+
$item_total = $item_subtotal;
|
316 |
+
$item_subtotal = $item_subtotal / $quantity_total;
|
317 |
+
$item_total_display = wc_price( $item_total );
|
318 |
+
$item_subtotal = wc_price( $item_subtotal );
|
319 |
+
//$product = wc_get_product( $product_id );
|
320 |
+
$prod_image = $product->get_image();
|
321 |
+
$image_url = wp_get_attachment_url( get_post_thumbnail_id( $product_id ) );
|
322 |
+
if ( strpos( $image_url, '/' ) === 0 ) {
|
323 |
+
$image_url = get_option('siteurl') . $image_url;
|
324 |
+
}
|
325 |
+
if ( isset( $v->variation_id ) && '' != $v->variation_id ) {
|
326 |
+
$variation_id = $v->variation_id;
|
327 |
+
$variation = wc_get_product( $variation_id );
|
328 |
+
$name = $variation->get_formatted_name() ;
|
329 |
+
$explode_all = explode ( "–", $name );
|
330 |
+
if( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
331 |
$wcap_sku = '';
|
332 |
if ( $variation->get_sku() ) {
|
333 |
$wcap_sku = "SKU: " . $variation->get_sku() . "<br>";
|
363 |
</tr>';
|
364 |
$cart_total += $item_total;
|
365 |
$item_subtotal = $item_total = 0;
|
366 |
+
$p_exists = true;
|
367 |
+
}else {
|
368 |
+
$cart_total = 0;
|
369 |
+
$item_subtotal = $item_total = 0;
|
370 |
+
|
371 |
+
$p_exists = false;
|
372 |
}
|
373 |
+
}
|
374 |
+
|
375 |
+
if ( $p_exists ) {
|
376 |
$cart_total = wc_price( $cart_total );
|
377 |
$var .= '<tr align="center">
|
378 |
<td> </td>
|
385 |
';
|
386 |
$email_body = str_replace( "{{products.cart}}", $var, $email_body );
|
387 |
$email_subject = str_replace( "{{product.name}}", __( $sub_line_prod_name, 'woocommerce-abandoned-cart' ), $email_subject );
|
388 |
+
}else {
|
389 |
+
$email_body = str_replace( "{{products.cart}}", 'Product no longer exists', $email_body );
|
390 |
+
$email_subject = str_replace( "{{product.name}}", __( $sub_line_prod_name, 'woocommerce-abandoned-cart' ), $email_subject );
|
391 |
}
|
392 |
+
}
|
393 |
|
394 |
$user_email = $value->user_email;
|
395 |
$email_body_final = stripslashes( $email_body );
|
472 |
* @return array | object $results
|
473 |
* @since 1.3
|
474 |
*/
|
475 |
+
function wcal_get_carts( $template_to_send_after_time, $cart_abandon_cut_off_time, $template_id ) {
|
476 |
global $wpdb;
|
477 |
$cart_time = current_time( 'timestamp' ) - $template_to_send_after_time - $cart_abandon_cut_off_time;
|
478 |
+
|
479 |
+
$wcal_template_time = get_option( 'wcal_template_' . $template_id . '_time' );
|
480 |
+
$wcal_add_template_condition = '';
|
481 |
+
if ( $wcal_template_time > 0 ) {
|
482 |
+
$wcal_add_template_condition = ' AND abandoned_cart_time > ' . $wcal_template_time;
|
483 |
+
}
|
484 |
$cart_ignored = 0;
|
485 |
$unsubscribe = 0;
|
486 |
+
$query = "SELECT wpac . * , wpu.user_login, wpu.user_email
|
487 |
+
FROM `".$wpdb->prefix."ac_abandoned_cart_history_lite` AS wpac
|
488 |
+
LEFT JOIN ".$wpdb->base_prefix."users AS wpu ON wpac.user_id = wpu.id
|
489 |
+
WHERE cart_ignored = %s AND unsubscribe_link = %s AND abandoned_cart_time < $cart_time
|
490 |
+
$wcal_add_template_condition
|
491 |
+
ORDER BY `id` ASC ";
|
492 |
|
493 |
$results = $wpdb->get_results( $wpdb->prepare( $query, $cart_ignored, $unsubscribe ) );
|
494 |
return $results;
|
568 |
|
569 |
$order_id = $wcal_results[0]->post_id;
|
570 |
|
571 |
+
$order = wc_get_order( $order_id );
|
572 |
|
573 |
+
$query_order = "UPDATE `" . $wpdb->prefix . "ac_abandoned_cart_history_lite` SET recovered_cart= %s, cart_ignored = '1' WHERE id = %s";
|
574 |
+
$wpdb->query( $wpdb->prepare( $query_order, $order_id, $cart_id ) );
|
575 |
|
576 |
$order->add_order_note( __( 'This order was abandoned & subsequently recovered.', 'woocommerce-abandoned-cart' ) );
|
577 |
|
580 |
}
|
581 |
}else{
|
582 |
|
583 |
+
$query_ignored = "UPDATE `" . $wpdb->prefix."ac_abandoned_cart_history_lite` SET cart_ignored = '1' WHERE id = %s";
|
584 |
+
$wpdb->query( $wpdb->prepare( $query_ignored, $cart_id ) );
|
585 |
}
|
586 |
return 1;
|
587 |
}else if ( strtotime( $order_date_with_time ) > $abandoned_cart_time ) {
|
588 |
+
$query_ignored = "UPDATE `" . $wpdb->prefix."ac_abandoned_cart_history_lite` SET cart_ignored = '1' WHERE id = %s ";
|
589 |
+
$wpdb->query( $wpdb->prepare( $query_ignored, $cart_id ) );
|
590 |
return 1;
|
591 |
} else if( "wc-pending" == $results_query_email[0]->post_status || "wc-failed" == $results_query_email[0]->post_status ) {
|
592 |
|
635 |
|
636 |
$order_id = $wcal_results[0]->post_id;
|
637 |
|
638 |
+
$order = wc_get_order( $order_id );
|
639 |
|
640 |
$query_order = "UPDATE `" . $wpdb->prefix."ac_abandoned_cart_history_lite` SET recovered_cart= '" . $order_id . "', cart_ignored = '1' WHERE id = '".$cart_id."' ";
|
641 |
$wpdb->query( $query_order );
|
642 |
|
643 |
$order->add_order_note( __( 'This order was abandoned & subsequently recovered.', 'woocommerce-abandoned-cart' ) );
|
644 |
|
645 |
+
delete_post_meta( $order_id, 'wcal_recover_order_placed', $cart_id );
|
646 |
+
delete_post_meta( $order_id , 'wcal_recover_order_placed_sent_id', $wcal_check_email_sent_to_cart );
|
647 |
}
|
648 |
}else {
|
649 |
|
i18n/languages/woocommerce-abandoned-cart.mo
CHANGED
Binary file
|
i18n/languages/woocommerce-abandoned-cart.po
CHANGED
@@ -7,85 +7,80 @@ msgid ""
|
|
7 |
msgstr ""
|
8 |
"Project-Id-Version: \n"
|
9 |
"Report-Msgid-Bugs-To: \n"
|
10 |
-
"POT-Creation-Date:
|
11 |
-
"PO-Revision-Date:
|
12 |
-
"
|
|
|
|
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
-
"
|
17 |
-
"
|
18 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
19 |
-
"Language: en_US\n"
|
20 |
|
21 |
-
#: woocommerce-ac.php:
|
22 |
msgid "Once Every Fifteen Minutes"
|
23 |
msgstr ""
|
24 |
|
25 |
-
#: woocommerce-ac.php:
|
|
|
|
|
|
|
|
|
26 |
msgid "Emails are not being sent to customers."
|
27 |
msgstr ""
|
28 |
|
29 |
-
#: woocommerce-ac.php:
|
30 |
msgid "Capturing of cart and other information was not satisfactory."
|
31 |
msgstr ""
|
32 |
|
33 |
-
#: woocommerce-ac.php:
|
34 |
msgid "I cannot see abandoned cart reminder emails records."
|
35 |
msgstr ""
|
36 |
|
37 |
-
#: woocommerce-ac.php:
|
38 |
msgid "I want to upgrade the plugin to the PRO version."
|
39 |
msgstr ""
|
40 |
|
41 |
-
#: woocommerce-ac.php:
|
42 |
-
#: cron/wcal_send_email.php:609
|
43 |
-
msgid "This order was abandoned & subsequently recovered."
|
44 |
-
msgstr ""
|
45 |
-
|
46 |
-
#: woocommerce-ac.php:640
|
47 |
msgid "HTML Email Template"
|
48 |
msgstr ""
|
49 |
|
50 |
-
#: woocommerce-ac.php:
|
51 |
msgid "Abandoned cart Email Template"
|
52 |
msgstr ""
|
53 |
|
54 |
-
#: woocommerce-ac.php:
|
55 |
-
msgid "Settings"
|
56 |
-
msgstr ""
|
57 |
-
|
58 |
-
#: woocommerce-ac.php:850
|
59 |
msgid "Cart abandoned cut-off time"
|
60 |
msgstr ""
|
61 |
|
62 |
-
#: woocommerce-ac.php:
|
63 |
msgid ""
|
64 |
"Consider cart abandoned after X minutes of item being added to cart & order "
|
65 |
"not placed."
|
66 |
msgstr ""
|
67 |
|
68 |
-
#: woocommerce-ac.php:
|
69 |
msgid "Automatically Delete Abandoned Orders after X days"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#: woocommerce-ac.php:
|
73 |
msgid "Automatically delete abandoned cart orders after X days."
|
74 |
msgstr ""
|
75 |
|
76 |
-
#: woocommerce-ac.php:
|
77 |
msgid "Email admin On Order Recovery"
|
78 |
msgstr ""
|
79 |
|
80 |
-
#: woocommerce-ac.php:
|
81 |
msgid "Sends email to Admin if an Abandoned Cart Order is recovered."
|
82 |
msgstr ""
|
83 |
|
84 |
-
#: woocommerce-ac.php:
|
85 |
msgid "Start tracking from Cart Page"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: woocommerce-ac.php:
|
89 |
msgid ""
|
90 |
"Enable tracking of abandoned products & carts even if customer does not "
|
91 |
"visit the checkout page or does not enter any details on the checkout page "
|
@@ -93,11 +88,11 @@ msgid ""
|
|
93 |
"to their cart and visits the cart page."
|
94 |
msgstr ""
|
95 |
|
96 |
-
#: woocommerce-ac.php:
|
97 |
msgid "Message to be displayed for Guest users when tracking their carts"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: woocommerce-ac.php:
|
101 |
msgid ""
|
102 |
"<br>In compliance with GDPR, add a message on the Checkout page to inform "
|
103 |
"Guest users of how their data is being used.<br><i>For example: Your email "
|
@@ -105,305 +100,326 @@ msgid ""
|
|
105 |
"Please check our Privacy Policy to see how we use your personal data.</i>"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: woocommerce-ac.php:
|
109 |
msgid "Message to be displayed for registered users when tracking their carts."
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: woocommerce-ac.php:
|
113 |
msgid ""
|
114 |
"<br>In compliance with GDPR, add a message on the Shop & Product pages to "
|
115 |
"inform Registered users of how their data is being used.<br><i>For example: "
|
116 |
"Please check our Privacy Policy to see how we use your personal data.</i>"
|
117 |
msgstr ""
|
118 |
|
119 |
-
#: woocommerce-ac.php:
|
120 |
msgid "Settings for abandoned cart recovery emails"
|
121 |
msgstr ""
|
122 |
|
123 |
-
#: woocommerce-ac.php:
|
124 |
msgid "\"From\" Name"
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: woocommerce-ac.php:
|
128 |
msgid "\"From\" Address"
|
129 |
msgstr ""
|
130 |
|
131 |
-
#: woocommerce-ac.php:
|
132 |
msgid "Send Reply Emails to"
|
133 |
msgstr ""
|
134 |
|
135 |
-
#: woocommerce-ac.php:
|
136 |
msgid ""
|
137 |
"Abandoned cart cut off time should be numeric and has to be greater than 0."
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: woocommerce-ac.php:
|
141 |
msgid ""
|
142 |
"Automatically Delete Abandoned Orders after X days has to be greater than 0."
|
143 |
msgstr ""
|
144 |
|
145 |
-
#: woocommerce-ac.php:
|
146 |
-
#: woocommerce-ac.php:1457
|
147 |
-
msgid "New Customer Order - Recovered"
|
148 |
-
msgstr ""
|
149 |
-
|
150 |
-
#: woocommerce-ac.php:1504 includes/admin/wcal_privacy_export.php:123
|
151 |
msgid "Abandoned Carts"
|
152 |
msgstr ""
|
153 |
|
154 |
-
#: woocommerce-ac.php:
|
155 |
msgid "Abandoned Orders"
|
156 |
msgstr ""
|
157 |
|
158 |
-
#: woocommerce-ac.php:
|
159 |
msgid "Email Templates"
|
160 |
msgstr ""
|
161 |
|
162 |
-
#: woocommerce-ac.php:
|
163 |
msgid "Recovered Orders"
|
164 |
msgstr ""
|
165 |
|
166 |
-
#: woocommerce-ac.php:
|
167 |
msgid "Product Report"
|
168 |
msgstr ""
|
169 |
|
170 |
-
#: woocommerce-ac.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
msgid "You do not have sufficient permissions to access this page."
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: woocommerce-ac.php:
|
175 |
msgid "WooCommerce - Abandon Cart Lite"
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: woocommerce-ac.php:
|
179 |
msgid "The Abandoned cart has been successfully deleted."
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: woocommerce-ac.php:
|
183 |
msgid "The Template has been successfully deleted."
|
184 |
msgstr ""
|
185 |
|
186 |
-
#: woocommerce-ac.php:
|
187 |
msgid ""
|
188 |
"Change settings for sending email notifications to Customers, to Admin etc."
|
189 |
msgstr ""
|
190 |
|
191 |
-
#: woocommerce-ac.php:
|
192 |
msgid "General Settings"
|
193 |
msgstr ""
|
194 |
|
195 |
-
#: woocommerce-ac.php:
|
196 |
msgid "Email Sending Settings"
|
197 |
msgstr ""
|
198 |
|
199 |
-
#: woocommerce-ac.php:
|
200 |
msgid ""
|
201 |
"The list below shows all Abandoned Carts which have remained in cart for a "
|
202 |
"time higher than the \"Cart abandoned cut-off time\" setting."
|
203 |
msgstr ""
|
204 |
|
205 |
-
#: woocommerce-ac.php:
|
206 |
msgid "All "
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: woocommerce-ac.php:
|
210 |
#, php-format
|
211 |
msgid "Registered %s"
|
212 |
msgstr ""
|
213 |
|
214 |
-
#: woocommerce-ac.php:
|
215 |
#, php-format
|
216 |
msgid "Guest %s"
|
217 |
msgstr ""
|
218 |
|
219 |
-
#: woocommerce-ac.php:
|
220 |
msgid "Carts without Customer Details"
|
221 |
msgstr ""
|
222 |
|
223 |
-
#: woocommerce-ac.php:
|
224 |
msgid ""
|
225 |
"Add email templates at different intervals to maximize the possibility of "
|
226 |
"recovering your abandoned carts."
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: woocommerce-ac.php:
|
230 |
-
msgid "
|
|
|
|
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: woocommerce-ac.php:
|
234 |
msgid ""
|
235 |
"There was a problem adding the email template. Please contact the plugin "
|
236 |
"author via <a href= \"https://wordpress.org/support/plugin/woocommerce-"
|
237 |
"abandoned-cart\">support forum</a>."
|
238 |
msgstr ""
|
239 |
|
240 |
-
#: woocommerce-ac.php:
|
241 |
msgid "The Email Template has been successfully updated."
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: woocommerce-ac.php:
|
245 |
msgid ""
|
246 |
"There was a problem updating the email template. Please contact the plugin "
|
247 |
"author via <a href= \"https://wordpress.org/support/plugin/woocommerce-"
|
248 |
"abandoned-cart\">support forum</a>."
|
249 |
msgstr ""
|
250 |
|
251 |
-
#: woocommerce-ac.php:
|
252 |
msgid "Add New Template"
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: woocommerce-ac.php:
|
256 |
msgid ""
|
257 |
"The Report below shows how many Abandoned Carts we were able to recover for "
|
258 |
"you by sending automatic emails to encourage shoppers."
|
259 |
msgstr ""
|
260 |
|
261 |
-
#: woocommerce-ac.php:
|
262 |
msgid "Start Date:"
|
263 |
msgstr ""
|
264 |
|
265 |
-
#: woocommerce-ac.php:
|
266 |
msgid "End Date:"
|
267 |
msgstr ""
|
268 |
|
269 |
-
#: woocommerce-ac.php:
|
270 |
msgid "Go"
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: woocommerce-ac.php:
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
msgstr ""
|
280 |
-
|
281 |
-
#: woocommerce-ac.php:2866
|
282 |
-
msgid " were abandoned. We were able to recover"
|
283 |
-
msgstr ""
|
284 |
-
|
285 |
-
#: woocommerce-ac.php:2873
|
286 |
-
msgid " of them, which led to an extra"
|
287 |
msgstr ""
|
288 |
|
289 |
-
#: woocommerce-ac.php:
|
290 |
#, php-format
|
291 |
msgid "Abandoned Order #%s Details"
|
292 |
msgstr ""
|
293 |
|
294 |
-
#: woocommerce-ac.php:
|
295 |
-
#: cron/wcal_send_email.php:
|
296 |
msgid "Item"
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: woocommerce-ac.php:
|
300 |
-
#: cron/wcal_send_email.php:
|
301 |
msgid "Name"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: woocommerce-ac.php:
|
305 |
-
#: cron/wcal_send_email.php:
|
306 |
msgid "Quantity"
|
307 |
msgstr ""
|
308 |
|
309 |
-
#: woocommerce-ac.php:
|
310 |
-
#: cron/wcal_send_email.php:
|
311 |
msgid "Line Subtotal"
|
312 |
msgstr ""
|
313 |
|
314 |
-
#: woocommerce-ac.php:
|
315 |
msgid "Line Total"
|
316 |
msgstr ""
|
317 |
|
318 |
-
#: woocommerce-ac.php:
|
319 |
msgid "Customer Details"
|
320 |
msgstr ""
|
321 |
|
322 |
-
#: woocommerce-ac.php:
|
323 |
msgid "Billing Details"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: woocommerce-ac.php:
|
327 |
msgid "Name:"
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: woocommerce-ac.php:
|
331 |
msgid "Address:"
|
332 |
msgstr ""
|
333 |
|
334 |
-
#: woocommerce-ac.php:
|
335 |
msgid "Email:"
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: woocommerce-ac.php:
|
339 |
msgid "Phone:"
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: woocommerce-ac.php:
|
343 |
msgid "Shipping Details"
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: woocommerce-ac.php:
|
|
|
|
|
|
|
|
|
347 |
msgid "Template Name:"
|
348 |
msgstr ""
|
349 |
|
350 |
-
#: woocommerce-ac.php:
|
351 |
msgid "Enter a template name for reference"
|
352 |
msgstr ""
|
353 |
|
354 |
-
#: woocommerce-ac.php:
|
355 |
msgid "Subject:"
|
356 |
msgstr ""
|
357 |
|
358 |
-
#: woocommerce-ac.php:
|
359 |
msgid "Enter the subject that should appear in the email sent"
|
360 |
msgstr ""
|
361 |
|
362 |
-
#: woocommerce-ac.php:
|
363 |
msgid "Email Body:"
|
364 |
msgstr ""
|
365 |
|
366 |
-
#: woocommerce-ac.php:
|
367 |
msgid "Message to be sent in the reminder email."
|
368 |
msgstr ""
|
369 |
|
370 |
-
#: woocommerce-ac.php:
|
371 |
msgid "Use WooCommerce Template Style:"
|
372 |
msgstr ""
|
373 |
|
374 |
-
#: woocommerce-ac.php:
|
375 |
msgid ""
|
376 |
"Use WooCommerce default style template for abandoned cart reminder emails."
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: woocommerce-ac.php:
|
380 |
msgid "Email Template Header Text: "
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: woocommerce-ac.php:
|
384 |
msgid ""
|
385 |
"Enter the header which will appear in the abandoned WooCommerce email sent. "
|
386 |
"This is only applicable when only used when \"Use WooCommerce Template Style:"
|
387 |
"\" is checked."
|
388 |
msgstr ""
|
389 |
|
390 |
-
#: woocommerce-ac.php:
|
391 |
msgid "Send this email:"
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: woocommerce-ac.php:
|
395 |
msgid "after cart is abandoned."
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: woocommerce-ac.php:
|
399 |
msgid "Send a test email to:"
|
400 |
msgstr ""
|
401 |
|
402 |
-
#: woocommerce-ac.php:
|
403 |
msgid "Enter the email id to which the test email needs to be sent."
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: woocommerce-ac.php:
|
407 |
msgid ""
|
408 |
"If you love <strong>Abandoned Cart Lite for WooCommerce</strong>, then "
|
409 |
"please leave us a <a href=\"https://wordpress.org/support/plugin/woocommerce-"
|
@@ -412,30 +428,37 @@ msgid ""
|
|
412 |
" rating. Thank you in advance. :)"
|
413 |
msgstr ""
|
414 |
|
415 |
-
#: woocommerce-ac.php:
|
416 |
-
#: cron/wcal_send_email.php:
|
417 |
msgid "Your Shopping Cart"
|
418 |
msgstr ""
|
419 |
|
420 |
-
#: woocommerce-ac.php:
|
421 |
-
#: cron/wcal_send_email.php:
|
422 |
msgid "Price"
|
423 |
msgstr ""
|
424 |
|
425 |
-
#: woocommerce-ac.php:
|
426 |
msgid "Men\\'\\s Formal Shoes"
|
427 |
msgstr ""
|
428 |
|
429 |
-
#: woocommerce-ac.php:
|
430 |
msgid "Woman\\'\\s Hand Bags"
|
431 |
msgstr ""
|
432 |
|
433 |
-
#: woocommerce-ac.php:
|
|
|
434 |
msgid "Cart Total:"
|
435 |
msgstr ""
|
436 |
|
437 |
-
#: cron/wcal_send_email.php:
|
438 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
439 |
msgstr ""
|
440 |
|
441 |
#: includes/wcal-common.php:567
|
@@ -451,46 +474,53 @@ msgstr ""
|
|
451 |
msgid ""
|
452 |
"<div id=\"wcal_update\" class=\"updated woocommerce-message\" style="
|
453 |
"\"padding:15px;\"><span>We need to update your email template database for "
|
454 |
-
"some improvements. Please take a backup of your databases for your
|
455 |
"mind</span><span class=\"submit\"><a href=\"%s\" class=\"button-primary\" "
|
456 |
"style=\"float:right;\">Update</a></span></div>"
|
457 |
msgstr ""
|
458 |
|
459 |
-
#: includes/wcal_all_component.php:
|
460 |
msgid ""
|
461 |
-
"
|
462 |
-
"version
|
463 |
-
"
|
|
|
|
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: includes/wcal_all_component.php:
|
|
|
467 |
msgid ""
|
468 |
-
"
|
469 |
-
"
|
|
|
|
|
470 |
msgstr ""
|
471 |
|
472 |
-
#: includes/wcal_all_component.php:
|
473 |
msgid ""
|
474 |
-
"
|
475 |
-
"
|
476 |
-
"
|
477 |
msgstr ""
|
478 |
|
479 |
-
#: includes/wcal_all_component.php:
|
480 |
msgid ""
|
481 |
-
"
|
482 |
-
"
|
483 |
-
"<strong><a target=\"_blank\" href= \""
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: includes/wcal_all_component.php:
|
487 |
msgid ""
|
488 |
-
"
|
489 |
-
"
|
490 |
-
"
|
|
|
|
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: includes/wcal_all_component.php:
|
494 |
msgid ""
|
495 |
"Reduce cart abandonment rate by 57% with our Order Delivery Date Pro "
|
496 |
"WooCommerce plugin. You can Create Delivery Settings by Shipping Zones & "
|
@@ -499,14 +529,14 @@ msgid ""
|
|
499 |
"20 customers. <strong><a target=\"_blank\" href= \""
|
500 |
msgstr ""
|
501 |
|
502 |
-
#: includes/wcal_all_component.php:
|
503 |
msgid ""
|
504 |
"Allow your customers to select the Delivery Date on Single Product Page "
|
505 |
"using our Product Delivery Date pro for WooCommerce Plugin. <br> \n"
|
506 |
" <strong><a target=\"_blank\" href= \""
|
507 |
msgstr ""
|
508 |
|
509 |
-
#: includes/wcal_all_component.php:
|
510 |
#, php-format
|
511 |
msgid ""
|
512 |
" Allow your customers to book an appointment or rent an apartment with our "
|
@@ -516,193 +546,13 @@ msgid ""
|
|
516 |
"customers. <strong><a target=\"_blank\" href= \""
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: includes/wcal_all_component.php:
|
520 |
msgid ""
|
521 |
" Allow your customers to pay deposits on products using our Deposits for "
|
522 |
-
"WooCommerce
|
523 |
" <strong><a target=\"_blank\" href= \""
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: includes/wcal_ts_tracking.php:76
|
527 |
-
#, php-format
|
528 |
-
msgid ""
|
529 |
-
"Want to help make Abandoned Cart even more awesome? Allow Abandoned Cart to "
|
530 |
-
"collect non-sensitive diagnostic data and usage information and get 20% off "
|
531 |
-
"on your next purchase. <a href=\"https://www.tychesoftwares.com/abandoned-"
|
532 |
-
"cart-lite-usage-tracking/\" target=\"_blank\">Find out more</a>. <br><br>"
|
533 |
-
msgstr ""
|
534 |
-
|
535 |
-
#: includes/wcal_ts_tracking.php:78 includes/component/tracking
|
536 |
-
#: data/ts-tracking.php:263
|
537 |
-
msgid "Allow"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: includes/wcal_ts_tracking.php:79 includes/component/tracking
|
541 |
-
#: data/ts-tracking.php:264
|
542 |
-
msgid "No thanks"
|
543 |
-
msgstr ""
|
544 |
-
|
545 |
-
#: includes/welcome.php:49
|
546 |
-
#, php-format
|
547 |
-
msgid "Welcome to Abandoned Cart Lite %s"
|
548 |
-
msgstr ""
|
549 |
-
|
550 |
-
#: includes/welcome.php:50
|
551 |
-
msgid "Welcome to Abandoned Cart Lite"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: includes/welcome.php:88
|
555 |
-
msgid ""
|
556 |
-
"Thank you for activating or updating to the latest version of Abandoned Cart "
|
557 |
-
"Lite! If you're a first time user, welcome! You're well on your way to start "
|
558 |
-
"recovering your lost revenues."
|
559 |
-
msgstr ""
|
560 |
-
|
561 |
-
#: includes/welcome.php:98
|
562 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:30
|
563 |
-
msgid "Get Started with Abandoned Cart Lite"
|
564 |
-
msgstr ""
|
565 |
-
|
566 |
-
#: includes/welcome.php:102 includes/welcome.php:127 includes/welcome.php:154
|
567 |
-
#: includes/welcome.php:161 includes/welcome.php:188
|
568 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:34
|
569 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:59
|
570 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:86
|
571 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:93
|
572 |
-
msgid "WooCommerce Abandoned Cart Lite"
|
573 |
-
msgstr ""
|
574 |
-
|
575 |
-
#: includes/welcome.php:106
|
576 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:38
|
577 |
-
msgid "Activate Email Template"
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: includes/welcome.php:108
|
581 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:40
|
582 |
-
msgid ""
|
583 |
-
"To start sending out abandoned cart notification emails, simply activate the "
|
584 |
-
"email template from under WooCommerce -> Abandoned Carts -> Email Templates "
|
585 |
-
"page."
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: includes/welcome.php:110
|
589 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:42
|
590 |
-
msgid "Click Here to go to Email Templates page"
|
591 |
-
msgstr ""
|
592 |
-
|
593 |
-
#: includes/welcome.php:120
|
594 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:52
|
595 |
-
msgid "Know more about Abandoned Cart Pro"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/welcome.php:122
|
599 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:54
|
600 |
-
msgid ""
|
601 |
-
"The Abandoned Cart Pro plugin gives you features where you are able to "
|
602 |
-
"recover more sales compared to the Lite plugin. Here are some notable "
|
603 |
-
"features the Pro version provides."
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: includes/welcome.php:131
|
607 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:63
|
608 |
-
msgid "Capture Visitor Emails on click of Add to Cart button"
|
609 |
-
msgstr ""
|
610 |
-
|
611 |
-
#: includes/welcome.php:133
|
612 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:65
|
613 |
-
msgid ""
|
614 |
-
"The ability to capture the email address early in the order process is very "
|
615 |
-
"important to reduce cart abandonment by unknown users as well as to be able "
|
616 |
-
"to recover their carts if they abandon it. This ultimately leads to increase "
|
617 |
-
"in your store sales."
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: includes/welcome.php:135 includes/welcome.php:148 includes/welcome.php:169
|
621 |
-
#: includes/welcome.php:182
|
622 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:67
|
623 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:80
|
624 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:101
|
625 |
-
msgid "Learn More"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: includes/welcome.php:144
|
629 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:76
|
630 |
-
msgid "Set different cut-off times for visitors & logged-in users"
|
631 |
-
msgstr ""
|
632 |
-
|
633 |
-
#: includes/welcome.php:146
|
634 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:78
|
635 |
-
msgid ""
|
636 |
-
"The provision for setting two separate cut-off times for different roles is "
|
637 |
-
"mainly because sometimes if the store admin wants the visitor carts to be "
|
638 |
-
"captured earlier than the registered user carts, then these different "
|
639 |
-
"settings can play an important role."
|
640 |
-
msgstr ""
|
641 |
-
|
642 |
-
#: includes/welcome.php:165
|
643 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:97
|
644 |
-
msgid "Send abandoned cart recovery email in minutes of cart being abandoned"
|
645 |
-
msgstr ""
|
646 |
-
|
647 |
-
#: includes/welcome.php:167
|
648 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:99
|
649 |
-
msgid ""
|
650 |
-
"The ability to send the abandoned cart recovery email within first few "
|
651 |
-
"minutes of cart being abandoned is a big advantage. In the Lite plugin, the "
|
652 |
-
"earliest an email can be sent is after 1 hour. Whereas in the Pro version, "
|
653 |
-
"the first recovery email gets sent 15 minutes after the cart is abandoned. "
|
654 |
-
"This increases the recovery chances manifold."
|
655 |
-
msgstr ""
|
656 |
-
|
657 |
-
#: includes/welcome.php:178
|
658 |
-
msgid ""
|
659 |
-
"Full range of merge tags that allow you to personalize the abandoned cart "
|
660 |
-
"email"
|
661 |
-
msgstr ""
|
662 |
-
|
663 |
-
#: includes/welcome.php:180
|
664 |
-
msgid ""
|
665 |
-
"The Lite version has only 3 merge tags available to personalize the "
|
666 |
-
"abandoned cart recovery emails. The Pro version instead, has 20 different "
|
667 |
-
"merge tags that can be used effectively to personalize each email that gets "
|
668 |
-
"sent out to the customers for recovering their abandoned carts."
|
669 |
-
msgstr ""
|
670 |
-
|
671 |
-
#: includes/welcome.php:193
|
672 |
-
msgid "View full list of differences between Lite & Pro plugin"
|
673 |
-
msgstr ""
|
674 |
-
|
675 |
-
#: includes/welcome.php:202
|
676 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:110
|
677 |
-
msgid "Getting to Know Tyche Softwares"
|
678 |
-
msgstr ""
|
679 |
-
|
680 |
-
#: includes/welcome.php:205
|
681 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:112
|
682 |
-
msgid "Visit the Tyche Softwares Website"
|
683 |
-
msgstr ""
|
684 |
-
|
685 |
-
#: includes/welcome.php:206
|
686 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:113
|
687 |
-
msgid "View all Premium Plugins"
|
688 |
-
msgstr ""
|
689 |
-
|
690 |
-
#: includes/welcome.php:215
|
691 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:122
|
692 |
-
msgid "Meet the team"
|
693 |
-
msgstr ""
|
694 |
-
|
695 |
-
#: includes/welcome.php:223
|
696 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:128
|
697 |
-
msgid "Current Offers"
|
698 |
-
msgstr ""
|
699 |
-
|
700 |
-
#: includes/welcome.php:271
|
701 |
-
#: includes/component/welcome-page/templates/social-media-elements.php:10
|
702 |
-
#, php-format
|
703 |
-
msgid "Follow %s"
|
704 |
-
msgstr ""
|
705 |
-
|
706 |
#: includes/admin/wcal_privacy_erase.php:41
|
707 |
#: includes/admin/wcal_privacy_export.php:41
|
708 |
msgid "Abandoned & Recovered Carts"
|
@@ -816,7 +666,7 @@ msgid "View order"
|
|
816 |
msgstr ""
|
817 |
|
818 |
#: includes/classes/class-wcal-abandoned-orders-table.php:151
|
819 |
-
#: includes/classes/class-wcal-abandoned-orders-table.php:
|
820 |
#: includes/classes/class-wcal-templates-table.php:145
|
821 |
#: includes/classes/class-wcal-templates-table.php:330
|
822 |
msgid "Delete"
|
@@ -838,14 +688,6 @@ msgstr ""
|
|
838 |
msgid "Unsubscribed"
|
839 |
msgstr ""
|
840 |
|
841 |
-
#: includes/classes/class-wcal-abandoned-orders-table.php:367
|
842 |
-
msgid "Abandoned but new"
|
843 |
-
msgstr ""
|
844 |
-
|
845 |
-
#: includes/classes/class-wcal-abandoned-orders-table.php:367
|
846 |
-
msgid "cart created after this"
|
847 |
-
msgstr ""
|
848 |
-
|
849 |
#: includes/classes/class-wcal-product-report-table.php:58
|
850 |
msgid "product_id"
|
851 |
msgstr ""
|
@@ -981,31 +823,39 @@ msgctxt ""
|
|
981 |
msgid "Other"
|
982 |
msgstr ""
|
983 |
|
984 |
-
#: includes/component/
|
985 |
#, php-format
|
986 |
msgid "Frequently Asked Questions for %s"
|
987 |
msgstr ""
|
988 |
|
989 |
-
#: includes/component/
|
990 |
msgid "Frequently Asked Questions for "
|
991 |
msgstr ""
|
992 |
|
993 |
-
#: includes/component/
|
994 |
msgid "FAQ & Support"
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: includes/component/tracking
|
998 |
msgid "Reset usage tracking"
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: includes/component/tracking
|
1002 |
msgid "Once in a Week"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
-
#: includes/component/tracking
|
1006 |
msgid "Want to help make "
|
1007 |
msgstr ""
|
1008 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1009 |
#: includes/component/welcome-page/ts-welcome.php:165
|
1010 |
#, php-format
|
1011 |
msgid "Welcome to %s %s"
|
@@ -1015,10 +865,120 @@ msgstr ""
|
|
1015 |
msgid "Welcome to "
|
1016 |
msgstr ""
|
1017 |
|
|
|
|
|
|
|
|
|
|
|
1018 |
#: includes/component/welcome-page/templates/welcome/welcome-page.php:18
|
1019 |
msgid "Thank you for activating or updating to the latest version of "
|
1020 |
msgstr ""
|
1021 |
|
1022 |
-
#: includes/component/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1023 |
msgid " plugin requires WooCommerce installed and activate."
|
1024 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
7 |
msgstr ""
|
8 |
"Project-Id-Version: \n"
|
9 |
"Report-Msgid-Bugs-To: \n"
|
10 |
+
"POT-Creation-Date: 2019-03-25 19:02+0530\n"
|
11 |
+
"PO-Revision-Date: 2019-03-25 19:04+0500\n"
|
12 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
+
"Language: \n"
|
15 |
"MIME-Version: 1.0\n"
|
16 |
"Content-Type: text/plain; charset=UTF-8\n"
|
17 |
"Content-Transfer-Encoding: 8bit\n"
|
18 |
+
"Plural-Forms: \n"
|
19 |
+
"X-Generator: Eazy Po 0.9.5.3\n"
|
|
|
|
|
20 |
|
21 |
+
#: woocommerce-ac.php:47
|
22 |
msgid "Once Every Fifteen Minutes"
|
23 |
msgstr ""
|
24 |
|
25 |
+
#: woocommerce-ac.php:218 woocommerce-ac.php:499 woocommerce-ac.php:1692
|
26 |
+
msgid "Settings"
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
#: woocommerce-ac.php:245
|
30 |
msgid "Emails are not being sent to customers."
|
31 |
msgstr ""
|
32 |
|
33 |
+
#: woocommerce-ac.php:251
|
34 |
msgid "Capturing of cart and other information was not satisfactory."
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: woocommerce-ac.php:257
|
38 |
msgid "I cannot see abandoned cart reminder emails records."
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: woocommerce-ac.php:263
|
42 |
msgid "I want to upgrade the plugin to the PRO version."
|
43 |
msgstr ""
|
44 |
|
45 |
+
#: woocommerce-ac.php:293
|
|
|
|
|
|
|
|
|
|
|
46 |
msgid "HTML Email Template"
|
47 |
msgstr ""
|
48 |
|
49 |
+
#: woocommerce-ac.php:299
|
50 |
msgid "Abandoned cart Email Template"
|
51 |
msgstr ""
|
52 |
|
53 |
+
#: woocommerce-ac.php:506
|
|
|
|
|
|
|
|
|
54 |
msgid "Cart abandoned cut-off time"
|
55 |
msgstr ""
|
56 |
|
57 |
+
#: woocommerce-ac.php:510
|
58 |
msgid ""
|
59 |
"Consider cart abandoned after X minutes of item being added to cart & order "
|
60 |
"not placed."
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: woocommerce-ac.php:515
|
64 |
msgid "Automatically Delete Abandoned Orders after X days"
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: woocommerce-ac.php:519
|
68 |
msgid "Automatically delete abandoned cart orders after X days."
|
69 |
msgstr ""
|
70 |
|
71 |
+
#: woocommerce-ac.php:525
|
72 |
msgid "Email admin On Order Recovery"
|
73 |
msgstr ""
|
74 |
|
75 |
+
#: woocommerce-ac.php:529
|
76 |
msgid "Sends email to Admin if an Abandoned Cart Order is recovered."
|
77 |
msgstr ""
|
78 |
|
79 |
+
#: woocommerce-ac.php:535
|
80 |
msgid "Start tracking from Cart Page"
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: woocommerce-ac.php:539
|
84 |
msgid ""
|
85 |
"Enable tracking of abandoned products & carts even if customer does not "
|
86 |
"visit the checkout page or does not enter any details on the checkout page "
|
88 |
"to their cart and visits the cart page."
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: woocommerce-ac.php:544
|
92 |
msgid "Message to be displayed for Guest users when tracking their carts"
|
93 |
msgstr ""
|
94 |
|
95 |
+
#: woocommerce-ac.php:548
|
96 |
msgid ""
|
97 |
"<br>In compliance with GDPR, add a message on the Checkout page to inform "
|
98 |
"Guest users of how their data is being used.<br><i>For example: Your email "
|
100 |
"Please check our Privacy Policy to see how we use your personal data.</i>"
|
101 |
msgstr ""
|
102 |
|
103 |
+
#: woocommerce-ac.php:553
|
104 |
msgid "Message to be displayed for registered users when tracking their carts."
|
105 |
msgstr ""
|
106 |
|
107 |
+
#: woocommerce-ac.php:557
|
108 |
msgid ""
|
109 |
"<br>In compliance with GDPR, add a message on the Shop & Product pages to "
|
110 |
"inform Registered users of how their data is being used.<br><i>For example: "
|
111 |
"Please check our Privacy Policy to see how we use your personal data.</i>"
|
112 |
msgstr ""
|
113 |
|
114 |
+
#: woocommerce-ac.php:567
|
115 |
msgid "Settings for abandoned cart recovery emails"
|
116 |
msgstr ""
|
117 |
|
118 |
+
#: woocommerce-ac.php:574
|
119 |
msgid "\"From\" Name"
|
120 |
msgstr ""
|
121 |
|
122 |
+
#: woocommerce-ac.php:583
|
123 |
msgid "\"From\" Address"
|
124 |
msgstr ""
|
125 |
|
126 |
+
#: woocommerce-ac.php:592
|
127 |
msgid "Send Reply Emails to"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: woocommerce-ac.php:686
|
131 |
msgid ""
|
132 |
"Abandoned cart cut off time should be numeric and has to be greater than 0."
|
133 |
msgstr ""
|
134 |
|
135 |
+
#: woocommerce-ac.php:702
|
136 |
msgid ""
|
137 |
"Automatically Delete Abandoned Orders after X days has to be greater than 0."
|
138 |
msgstr ""
|
139 |
|
140 |
+
#: woocommerce-ac.php:1083 includes/admin/wcal_privacy_export.php:123
|
|
|
|
|
|
|
|
|
|
|
141 |
msgid "Abandoned Carts"
|
142 |
msgstr ""
|
143 |
|
144 |
+
#: woocommerce-ac.php:1690
|
145 |
msgid "Abandoned Orders"
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: woocommerce-ac.php:1691
|
149 |
msgid "Email Templates"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: woocommerce-ac.php:1693
|
153 |
msgid "Recovered Orders"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: woocommerce-ac.php:1694
|
157 |
msgid "Product Report"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: woocommerce-ac.php:1740
|
161 |
+
#, php-format
|
162 |
+
msgid "Please enter in decimal (%s) format without thousand separators."
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
#: woocommerce-ac.php:1742
|
166 |
+
#, php-format
|
167 |
+
msgid ""
|
168 |
+
"Please enter in monetary decimal (%s) format without thousand separators and "
|
169 |
+
"currency symbols."
|
170 |
+
msgstr ""
|
171 |
+
|
172 |
+
#: woocommerce-ac.php:1743
|
173 |
+
msgid "Please enter in country code with two capital letters."
|
174 |
+
msgstr ""
|
175 |
+
|
176 |
+
#: woocommerce-ac.php:1744
|
177 |
+
msgid "Please enter in a value less than the regular price."
|
178 |
+
msgstr ""
|
179 |
+
|
180 |
+
#: woocommerce-ac.php:1748
|
181 |
+
msgid "Import"
|
182 |
+
msgstr ""
|
183 |
+
|
184 |
+
#: woocommerce-ac.php:1749
|
185 |
+
msgid "Export"
|
186 |
+
msgstr ""
|
187 |
+
|
188 |
+
#: woocommerce-ac.php:1859
|
189 |
msgid "You do not have sufficient permissions to access this page."
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: woocommerce-ac.php:1863
|
193 |
msgid "WooCommerce - Abandon Cart Lite"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: woocommerce-ac.php:1923
|
197 |
msgid "The Abandoned cart has been successfully deleted."
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: woocommerce-ac.php:1928
|
201 |
msgid "The Template has been successfully deleted."
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: woocommerce-ac.php:1934
|
205 |
msgid ""
|
206 |
"Change settings for sending email notifications to Customers, to Admin etc."
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: woocommerce-ac.php:1952
|
210 |
msgid "General Settings"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: woocommerce-ac.php:1955
|
214 |
msgid "Email Sending Settings"
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: woocommerce-ac.php:1985
|
218 |
msgid ""
|
219 |
"The list below shows all Abandoned Carts which have remained in cart for a "
|
220 |
"time higher than the \"Cart abandoned cut-off time\" setting."
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: woocommerce-ac.php:2027
|
224 |
msgid "All "
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: woocommerce-ac.php:2032
|
228 |
#, php-format
|
229 |
msgid "Registered %s"
|
230 |
msgstr ""
|
231 |
|
232 |
+
#: woocommerce-ac.php:2038
|
233 |
#, php-format
|
234 |
msgid "Guest %s"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: woocommerce-ac.php:2044
|
238 |
msgid "Carts without Customer Details"
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: woocommerce-ac.php:2065
|
242 |
msgid ""
|
243 |
"Add email templates at different intervals to maximize the possibility of "
|
244 |
"recovering your abandoned carts."
|
245 |
msgstr ""
|
246 |
|
247 |
+
#: woocommerce-ac.php:2183
|
248 |
+
msgid ""
|
249 |
+
"The Email Template has been successfully added. In order to start sending "
|
250 |
+
"this email to your customers, please activate it."
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: woocommerce-ac.php:2192
|
254 |
msgid ""
|
255 |
"There was a problem adding the email template. Please contact the plugin "
|
256 |
"author via <a href= \"https://wordpress.org/support/plugin/woocommerce-"
|
257 |
"abandoned-cart\">support forum</a>."
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: woocommerce-ac.php:2203
|
261 |
msgid "The Email Template has been successfully updated."
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: woocommerce-ac.php:2212
|
265 |
msgid ""
|
266 |
"There was a problem updating the email template. Please contact the plugin "
|
267 |
"author via <a href= \"https://wordpress.org/support/plugin/woocommerce-"
|
268 |
"abandoned-cart\">support forum</a>."
|
269 |
msgstr ""
|
270 |
|
271 |
+
#: woocommerce-ac.php:2221
|
272 |
msgid "Add New Template"
|
273 |
msgstr ""
|
274 |
|
275 |
+
#: woocommerce-ac.php:2298
|
276 |
msgid ""
|
277 |
"The Report below shows how many Abandoned Carts we were able to recover for "
|
278 |
"you by sending automatic emails to encourage shoppers."
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: woocommerce-ac.php:2347
|
282 |
msgid "Start Date:"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: woocommerce-ac.php:2349
|
286 |
msgid "End Date:"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: woocommerce-ac.php:2351
|
290 |
msgid "Go"
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: woocommerce-ac.php:2365
|
294 |
+
#, php-format
|
295 |
+
msgid ""
|
296 |
+
"During the selected range <strong>%d</strong> carts totaling <strong>%s</"
|
297 |
+
"strong> were abandoned. We were able to recover <strong>%d</strong> of them, "
|
298 |
+
"which led to an extra <strong>%s</strong>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: woocommerce-ac.php:2384
|
302 |
#, php-format
|
303 |
msgid "Abandoned Order #%s Details"
|
304 |
msgstr ""
|
305 |
|
306 |
+
#: woocommerce-ac.php:2388 woocommerce-ac.php:3074 woocommerce-ac.php:3109
|
307 |
+
#: cron/wcal_send_email.php:277 cron/wcal_send_email.php:287
|
308 |
msgid "Item"
|
309 |
msgstr ""
|
310 |
|
311 |
+
#: woocommerce-ac.php:2389 woocommerce-ac.php:3075 woocommerce-ac.php:3110
|
312 |
+
#: cron/wcal_send_email.php:278 cron/wcal_send_email.php:288
|
313 |
msgid "Name"
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: woocommerce-ac.php:2390 woocommerce-ac.php:3076 woocommerce-ac.php:3111
|
317 |
+
#: cron/wcal_send_email.php:279 cron/wcal_send_email.php:289
|
318 |
msgid "Quantity"
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: woocommerce-ac.php:2391 woocommerce-ac.php:3078 woocommerce-ac.php:3113
|
322 |
+
#: cron/wcal_send_email.php:281 cron/wcal_send_email.php:291
|
323 |
msgid "Line Subtotal"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: woocommerce-ac.php:2392
|
327 |
msgid "Line Total"
|
328 |
msgstr ""
|
329 |
|
330 |
+
#: woocommerce-ac.php:2580
|
331 |
msgid "Customer Details"
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: woocommerce-ac.php:2584
|
335 |
msgid "Billing Details"
|
336 |
msgstr ""
|
337 |
|
338 |
+
#: woocommerce-ac.php:2585
|
339 |
msgid "Name:"
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: woocommerce-ac.php:2588 woocommerce-ac.php:2608
|
343 |
msgid "Address:"
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: woocommerce-ac.php:2598
|
347 |
msgid "Email:"
|
348 |
msgstr ""
|
349 |
|
350 |
+
#: woocommerce-ac.php:2602
|
351 |
msgid "Phone:"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: woocommerce-ac.php:2607
|
355 |
msgid "Shipping Details"
|
356 |
msgstr ""
|
357 |
|
358 |
+
#: woocommerce-ac.php:2628
|
359 |
+
msgid "Shipping Charges"
|
360 |
+
msgstr ""
|
361 |
+
|
362 |
+
#: woocommerce-ac.php:2694
|
363 |
msgid "Template Name:"
|
364 |
msgstr ""
|
365 |
|
366 |
+
#: woocommerce-ac.php:2703
|
367 |
msgid "Enter a template name for reference"
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: woocommerce-ac.php:2709
|
371 |
msgid "Subject:"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: woocommerce-ac.php:2718
|
375 |
msgid "Enter the subject that should appear in the email sent"
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: woocommerce-ac.php:2724
|
379 |
msgid "Email Body:"
|
380 |
msgstr ""
|
381 |
|
382 |
+
#: woocommerce-ac.php:2751
|
383 |
msgid "Message to be sent in the reminder email."
|
384 |
msgstr ""
|
385 |
|
386 |
+
#: woocommerce-ac.php:2778
|
387 |
msgid "Use WooCommerce Template Style:"
|
388 |
msgstr ""
|
389 |
|
390 |
+
#: woocommerce-ac.php:2793
|
391 |
msgid ""
|
392 |
"Use WooCommerce default style template for abandoned cart reminder emails."
|
393 |
msgstr ""
|
394 |
|
395 |
+
#: woocommerce-ac.php:2800
|
396 |
msgid "Email Template Header Text: "
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: woocommerce-ac.php:2814
|
400 |
msgid ""
|
401 |
"Enter the header which will appear in the abandoned WooCommerce email sent. "
|
402 |
"This is only applicable when only used when \"Use WooCommerce Template Style:"
|
403 |
"\" is checked."
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: woocommerce-ac.php:2820
|
407 |
msgid "Send this email:"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: woocommerce-ac.php:2861
|
411 |
msgid "after cart is abandoned."
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: woocommerce-ac.php:2868
|
415 |
msgid "Send a test email to:"
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: woocommerce-ac.php:2873
|
419 |
msgid "Enter the email id to which the test email needs to be sent."
|
420 |
msgstr ""
|
421 |
|
422 |
+
#: woocommerce-ac.php:2906
|
423 |
msgid ""
|
424 |
"If you love <strong>Abandoned Cart Lite for WooCommerce</strong>, then "
|
425 |
"please leave us a <a href=\"https://wordpress.org/support/plugin/woocommerce-"
|
428 |
" rating. Thank you in advance. :)"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: woocommerce-ac.php:3072 woocommerce-ac.php:3106
|
432 |
+
#: cron/wcal_send_email.php:275 cron/wcal_send_email.php:284
|
433 |
msgid "Your Shopping Cart"
|
434 |
msgstr ""
|
435 |
|
436 |
+
#: woocommerce-ac.php:3077 woocommerce-ac.php:3112
|
437 |
+
#: cron/wcal_send_email.php:280 cron/wcal_send_email.php:290
|
438 |
msgid "Price"
|
439 |
msgstr ""
|
440 |
|
441 |
+
#: woocommerce-ac.php:3082 woocommerce-ac.php:3117
|
442 |
msgid "Men\\'\\s Formal Shoes"
|
443 |
msgstr ""
|
444 |
|
445 |
+
#: woocommerce-ac.php:3089 woocommerce-ac.php:3124
|
446 |
msgid "Woman\\'\\s Hand Bags"
|
447 |
msgstr ""
|
448 |
|
449 |
+
#: woocommerce-ac.php:3098 woocommerce-ac.php:3133
|
450 |
+
#: cron/wcal_send_email.php:370
|
451 |
msgid "Cart Total:"
|
452 |
msgstr ""
|
453 |
|
454 |
+
#: cron/wcal_send_email.php:93
|
455 |
+
msgid "Abandoned cart reminder"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: cron/wcal_send_email.php:553 cron/wcal_send_email.php:620
|
459 |
+
#: includes/frontend/wcal_checkout_process.php:198
|
460 |
+
#: includes/frontend/wcal_checkout_process.php:486
|
461 |
+
msgid "This order was abandoned & subsequently recovered."
|
462 |
msgstr ""
|
463 |
|
464 |
#: includes/wcal-common.php:567
|
474 |
msgid ""
|
475 |
"<div id=\"wcal_update\" class=\"updated woocommerce-message\" style="
|
476 |
"\"padding:15px;\"><span>We need to update your email template database for "
|
477 |
+
"some improvements. Please take a backup of your databases for your piece of "
|
478 |
"mind</span><span class=\"submit\"><a href=\"%s\" class=\"button-primary\" "
|
479 |
"style=\"float:right;\">Update</a></span></div>"
|
480 |
msgstr ""
|
481 |
|
482 |
+
#: includes/wcal_all_component.php:88
|
483 |
msgid ""
|
484 |
+
"Now that you are all set with the Lite version, you can upgrade to Pro "
|
485 |
+
"version to take your abandoned cart recovery to the next level. You can "
|
486 |
+
"capture customer’s email address when they click Add to Cart, get access to "
|
487 |
+
"11 unique, fully responsive email templates, send text messages for recovery "
|
488 |
+
"& <strong><a target=\"_blank\" href= \""
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: includes/wcal_all_component.php:91
|
492 |
+
#, php-format
|
493 |
msgid ""
|
494 |
+
"Boost your sales by recovering up to 60% of the abandoned carts with our "
|
495 |
+
"Abandoned Cart Pro for WooCommerce plugin. You can capture customer email "
|
496 |
+
"addresses right when they click the Add To Cart button. <strong><a target="
|
497 |
+
"\"_blank\" href= \""
|
498 |
msgstr ""
|
499 |
|
500 |
+
#: includes/wcal_all_component.php:94
|
501 |
msgid ""
|
502 |
+
"Don't loose your sales to abandoned carts. Use our Abandon Cart Pro plugin & "
|
503 |
+
"start recovering your lost sales in less then 60 seconds. <strong><a target="
|
504 |
+
"\"_blank\" href= \""
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: includes/wcal_all_component.php:97
|
508 |
msgid ""
|
509 |
+
"Send Abandoned Cart reminders that actually convert. Take advantage of our "
|
510 |
+
"fully responsive email templates designed specially with an intent to "
|
511 |
+
"trigger conversion. <strong><a target=\"_blank\" href= \""
|
512 |
msgstr ""
|
513 |
|
514 |
+
#: includes/wcal_all_component.php:100
|
515 |
msgid ""
|
516 |
+
"Increase your store sales by recovering your abandoned carts for just $119. "
|
517 |
+
"No profit sharing, no monthly fees. Our Abandoned Cart Pro plugin comes with "
|
518 |
+
"a 30 day money back guarantee as well. :) Use coupon code ACPRO20 & save $24!"
|
519 |
+
"<br>\n"
|
520 |
+
" <strong><a target=\"_blank\" href= \""
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: includes/wcal_all_component.php:104
|
524 |
msgid ""
|
525 |
"Reduce cart abandonment rate by 57% with our Order Delivery Date Pro "
|
526 |
"WooCommerce plugin. You can Create Delivery Settings by Shipping Zones & "
|
529 |
"20 customers. <strong><a target=\"_blank\" href= \""
|
530 |
msgstr ""
|
531 |
|
532 |
+
#: includes/wcal_all_component.php:107
|
533 |
msgid ""
|
534 |
"Allow your customers to select the Delivery Date on Single Product Page "
|
535 |
"using our Product Delivery Date pro for WooCommerce Plugin. <br> \n"
|
536 |
" <strong><a target=\"_blank\" href= \""
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: includes/wcal_all_component.php:111
|
540 |
#, php-format
|
541 |
msgid ""
|
542 |
" Allow your customers to book an appointment or rent an apartment with our "
|
546 |
"customers. <strong><a target=\"_blank\" href= \""
|
547 |
msgstr ""
|
548 |
|
549 |
+
#: includes/wcal_all_component.php:114
|
550 |
msgid ""
|
551 |
" Allow your customers to pay deposits on products using our Deposits for "
|
552 |
+
"WooCommerce plugin. <br>\n"
|
553 |
" <strong><a target=\"_blank\" href= \""
|
554 |
msgstr ""
|
555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
556 |
#: includes/admin/wcal_privacy_erase.php:41
|
557 |
#: includes/admin/wcal_privacy_export.php:41
|
558 |
msgid "Abandoned & Recovered Carts"
|
666 |
msgstr ""
|
667 |
|
668 |
#: includes/classes/class-wcal-abandoned-orders-table.php:151
|
669 |
+
#: includes/classes/class-wcal-abandoned-orders-table.php:544
|
670 |
#: includes/classes/class-wcal-templates-table.php:145
|
671 |
#: includes/classes/class-wcal-templates-table.php:330
|
672 |
msgid "Delete"
|
688 |
msgid "Unsubscribed"
|
689 |
msgstr ""
|
690 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
691 |
#: includes/classes/class-wcal-product-report-table.php:58
|
692 |
msgid "product_id"
|
693 |
msgstr ""
|
823 |
msgid "Other"
|
824 |
msgstr ""
|
825 |
|
826 |
+
#: includes/component/faq-support/ts-faq-support.php:126
|
827 |
#, php-format
|
828 |
msgid "Frequently Asked Questions for %s"
|
829 |
msgstr ""
|
830 |
|
831 |
+
#: includes/component/faq-support/ts-faq-support.php:127
|
832 |
msgid "Frequently Asked Questions for "
|
833 |
msgstr ""
|
834 |
|
835 |
+
#: includes/component/faq-support/ts-faq-support.php:175
|
836 |
msgid "FAQ & Support"
|
837 |
msgstr ""
|
838 |
|
839 |
+
#: includes/component/tracking-data/ts-tracking.php:133
|
840 |
msgid "Reset usage tracking"
|
841 |
msgstr ""
|
842 |
|
843 |
+
#: includes/component/tracking-data/ts-tracking.php:177
|
844 |
msgid "Once in a Week"
|
845 |
msgstr ""
|
846 |
|
847 |
+
#: includes/component/tracking-data/ts-tracking.php:268
|
848 |
msgid "Want to help make "
|
849 |
msgstr ""
|
850 |
|
851 |
+
#: includes/component/tracking-data/ts-tracking.php:270
|
852 |
+
msgid "Allow"
|
853 |
+
msgstr ""
|
854 |
+
|
855 |
+
#: includes/component/tracking-data/ts-tracking.php:271
|
856 |
+
msgid "No thanks"
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
#: includes/component/welcome-page/ts-welcome.php:165
|
860 |
#, php-format
|
861 |
msgid "Welcome to %s %s"
|
865 |
msgid "Welcome to "
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: includes/component/welcome-page/templates/social-media-elements.php:10
|
869 |
+
#, php-format
|
870 |
+
msgid "Follow %s"
|
871 |
+
msgstr ""
|
872 |
+
|
873 |
#: includes/component/welcome-page/templates/welcome/welcome-page.php:18
|
874 |
msgid "Thank you for activating or updating to the latest version of "
|
875 |
msgstr ""
|
876 |
|
877 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:30
|
878 |
+
msgid "Get Started with Abandoned Cart Lite"
|
879 |
+
msgstr ""
|
880 |
+
|
881 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:34
|
882 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:59
|
883 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:86
|
884 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:93
|
885 |
+
msgid "WooCommerce Abandoned Cart Lite"
|
886 |
+
msgstr ""
|
887 |
+
|
888 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:38
|
889 |
+
msgid "Activate Email Template"
|
890 |
+
msgstr ""
|
891 |
+
|
892 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:40
|
893 |
+
msgid ""
|
894 |
+
"To start sending out abandoned cart notification emails, simply activate the "
|
895 |
+
"email template from under WooCommerce -> Abandoned Carts -> Email Templates "
|
896 |
+
"page."
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:42
|
900 |
+
msgid "Click Here to go to Email Templates page"
|
901 |
+
msgstr ""
|
902 |
+
|
903 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:52
|
904 |
+
msgid "Know more about Abandoned Cart Pro"
|
905 |
+
msgstr ""
|
906 |
+
|
907 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:54
|
908 |
+
msgid ""
|
909 |
+
"The Abandoned Cart Pro plugin gives you features where you are able to "
|
910 |
+
"recover more sales compared to the Lite plugin. Here are some notable "
|
911 |
+
"features the Pro version provides."
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:63
|
915 |
+
msgid "Capture Visitor Emails on click of Add to Cart button"
|
916 |
+
msgstr ""
|
917 |
+
|
918 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:65
|
919 |
+
msgid ""
|
920 |
+
"The ability to capture the email address early in the order process is very "
|
921 |
+
"important to reduce cart abandonment by unknown users as well as to be able "
|
922 |
+
"to recover their carts if they abandon it. This ultimately leads to increase "
|
923 |
+
"in your store sales."
|
924 |
+
msgstr ""
|
925 |
+
|
926 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:67
|
927 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:80
|
928 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:101
|
929 |
+
msgid "Learn More"
|
930 |
+
msgstr ""
|
931 |
+
|
932 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:76
|
933 |
+
msgid "Set different cut-off times for visitors & logged-in users"
|
934 |
+
msgstr ""
|
935 |
+
|
936 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:78
|
937 |
+
msgid ""
|
938 |
+
"The provision for setting two separate cut-off times for different roles is "
|
939 |
+
"mainly because sometimes if the store admin wants the visitor carts to be "
|
940 |
+
"captured earlier than the registered user carts, then these different "
|
941 |
+
"settings can play an important role."
|
942 |
+
msgstr ""
|
943 |
+
|
944 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:97
|
945 |
+
msgid "Send abandoned cart recovery email in minutes of cart being abandoned"
|
946 |
+
msgstr ""
|
947 |
+
|
948 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:99
|
949 |
+
msgid ""
|
950 |
+
"The ability to send the abandoned cart recovery email within first few "
|
951 |
+
"minutes of cart being abandoned is a big advantage. In the Lite plugin, the "
|
952 |
+
"earliest an email can be sent is after 1 hour. Whereas in the Pro version, "
|
953 |
+
"the first recovery email gets sent 15 minutes after the cart is abandoned. "
|
954 |
+
"This increases the recovery chances manifold."
|
955 |
+
msgstr ""
|
956 |
+
|
957 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:110
|
958 |
+
msgid "Getting to Know Tyche Softwares"
|
959 |
+
msgstr ""
|
960 |
+
|
961 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:112
|
962 |
+
msgid "Visit the Tyche Softwares Website"
|
963 |
+
msgstr ""
|
964 |
+
|
965 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:113
|
966 |
+
msgid "View all Premium Plugins"
|
967 |
+
msgstr ""
|
968 |
+
|
969 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:122
|
970 |
+
msgid "Meet the team"
|
971 |
+
msgstr ""
|
972 |
+
|
973 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:128
|
974 |
+
msgid "Current Offers"
|
975 |
+
msgstr ""
|
976 |
+
|
977 |
+
#: includes/component/woocommerce-check/ts-woo-active.php:82
|
978 |
msgid " plugin requires WooCommerce installed and activate."
|
979 |
msgstr ""
|
980 |
+
|
981 |
+
#: includes/frontend/wcal_checkout_process.php:293
|
982 |
+
#: includes/frontend/wcal_checkout_process.php:295
|
983 |
+
msgid "New Customer Order - Recovered"
|
984 |
+
msgstr ""
|
i18n/languages/woocommerce-abandoned-cart.pot
CHANGED
@@ -8,7 +8,7 @@ msgid ""
|
|
8 |
msgstr ""
|
9 |
"Project-Id-Version: PACKAGE VERSION\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date:
|
12 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
@@ -17,74 +17,69 @@ msgstr ""
|
|
17 |
"Content-Type: text/plain; charset=UTF-8\n"
|
18 |
"Content-Transfer-Encoding: 8bit\n"
|
19 |
|
20 |
-
#: woocommerce-ac.php:
|
21 |
msgid "Once Every Fifteen Minutes"
|
22 |
msgstr ""
|
23 |
|
24 |
-
#: woocommerce-ac.php:
|
|
|
|
|
|
|
|
|
25 |
msgid "Emails are not being sent to customers."
|
26 |
msgstr ""
|
27 |
|
28 |
-
#: woocommerce-ac.php:
|
29 |
msgid "Capturing of cart and other information was not satisfactory."
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: woocommerce-ac.php:
|
33 |
msgid "I cannot see abandoned cart reminder emails records."
|
34 |
msgstr ""
|
35 |
|
36 |
-
#: woocommerce-ac.php:
|
37 |
msgid "I want to upgrade the plugin to the PRO version."
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: woocommerce-ac.php:
|
41 |
-
#: cron/wcal_send_email.php:609
|
42 |
-
msgid "This order was abandoned & subsequently recovered."
|
43 |
-
msgstr ""
|
44 |
-
|
45 |
-
#: woocommerce-ac.php:640
|
46 |
msgid "HTML Email Template"
|
47 |
msgstr ""
|
48 |
|
49 |
-
#: woocommerce-ac.php:
|
50 |
msgid "Abandoned cart Email Template"
|
51 |
msgstr ""
|
52 |
|
53 |
-
#: woocommerce-ac.php:
|
54 |
-
msgid "Settings"
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: woocommerce-ac.php:850
|
58 |
msgid "Cart abandoned cut-off time"
|
59 |
msgstr ""
|
60 |
|
61 |
-
#: woocommerce-ac.php:
|
62 |
msgid ""
|
63 |
"Consider cart abandoned after X minutes of item being added to cart & order "
|
64 |
"not placed."
|
65 |
msgstr ""
|
66 |
|
67 |
-
#: woocommerce-ac.php:
|
68 |
msgid "Automatically Delete Abandoned Orders after X days"
|
69 |
msgstr ""
|
70 |
|
71 |
-
#: woocommerce-ac.php:
|
72 |
msgid "Automatically delete abandoned cart orders after X days."
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: woocommerce-ac.php:
|
76 |
msgid "Email admin On Order Recovery"
|
77 |
msgstr ""
|
78 |
|
79 |
-
#: woocommerce-ac.php:
|
80 |
msgid "Sends email to Admin if an Abandoned Cart Order is recovered."
|
81 |
msgstr ""
|
82 |
|
83 |
-
#: woocommerce-ac.php:
|
84 |
msgid "Start tracking from Cart Page"
|
85 |
msgstr ""
|
86 |
|
87 |
-
#: woocommerce-ac.php:
|
88 |
msgid ""
|
89 |
"Enable tracking of abandoned products & carts even if customer does not "
|
90 |
"visit the checkout page or does not enter any details on the checkout page "
|
@@ -92,11 +87,11 @@ msgid ""
|
|
92 |
"to their cart and visits the cart page."
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: woocommerce-ac.php:
|
96 |
msgid "Message to be displayed for Guest users when tracking their carts"
|
97 |
msgstr ""
|
98 |
|
99 |
-
#: woocommerce-ac.php:
|
100 |
msgid ""
|
101 |
"<br>In compliance with GDPR, add a message on the Checkout page to inform "
|
102 |
"Guest users of how their data is being used.<br><i>For example: Your email "
|
@@ -104,305 +99,326 @@ msgid ""
|
|
104 |
"Please check our Privacy Policy to see how we use your personal data.</i>"
|
105 |
msgstr ""
|
106 |
|
107 |
-
#: woocommerce-ac.php:
|
108 |
msgid "Message to be displayed for registered users when tracking their carts."
|
109 |
msgstr ""
|
110 |
|
111 |
-
#: woocommerce-ac.php:
|
112 |
msgid ""
|
113 |
"<br>In compliance with GDPR, add a message on the Shop & Product pages to "
|
114 |
"inform Registered users of how their data is being used.<br><i>For example: "
|
115 |
"Please check our Privacy Policy to see how we use your personal data.</i>"
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: woocommerce-ac.php:
|
119 |
msgid "Settings for abandoned cart recovery emails"
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: woocommerce-ac.php:
|
123 |
msgid "\"From\" Name"
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: woocommerce-ac.php:
|
127 |
msgid "\"From\" Address"
|
128 |
msgstr ""
|
129 |
|
130 |
-
#: woocommerce-ac.php:
|
131 |
msgid "Send Reply Emails to"
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: woocommerce-ac.php:
|
135 |
msgid ""
|
136 |
"Abandoned cart cut off time should be numeric and has to be greater than 0."
|
137 |
msgstr ""
|
138 |
|
139 |
-
#: woocommerce-ac.php:
|
140 |
msgid ""
|
141 |
"Automatically Delete Abandoned Orders after X days has to be greater than 0."
|
142 |
msgstr ""
|
143 |
|
144 |
-
#: woocommerce-ac.php:
|
145 |
-
#: woocommerce-ac.php:1457
|
146 |
-
msgid "New Customer Order - Recovered"
|
147 |
-
msgstr ""
|
148 |
-
|
149 |
-
#: woocommerce-ac.php:1504 includes/admin/wcal_privacy_export.php:123
|
150 |
msgid "Abandoned Carts"
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: woocommerce-ac.php:
|
154 |
msgid "Abandoned Orders"
|
155 |
msgstr ""
|
156 |
|
157 |
-
#: woocommerce-ac.php:
|
158 |
msgid "Email Templates"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: woocommerce-ac.php:
|
162 |
msgid "Recovered Orders"
|
163 |
msgstr ""
|
164 |
|
165 |
-
#: woocommerce-ac.php:
|
166 |
msgid "Product Report"
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: woocommerce-ac.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
msgid "You do not have sufficient permissions to access this page."
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: woocommerce-ac.php:
|
174 |
msgid "WooCommerce - Abandon Cart Lite"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: woocommerce-ac.php:
|
178 |
msgid "The Abandoned cart has been successfully deleted."
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: woocommerce-ac.php:
|
182 |
msgid "The Template has been successfully deleted."
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: woocommerce-ac.php:
|
186 |
msgid ""
|
187 |
"Change settings for sending email notifications to Customers, to Admin etc."
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: woocommerce-ac.php:
|
191 |
msgid "General Settings"
|
192 |
msgstr ""
|
193 |
|
194 |
-
#: woocommerce-ac.php:
|
195 |
msgid "Email Sending Settings"
|
196 |
msgstr ""
|
197 |
|
198 |
-
#: woocommerce-ac.php:
|
199 |
msgid ""
|
200 |
"The list below shows all Abandoned Carts which have remained in cart for a "
|
201 |
"time higher than the \"Cart abandoned cut-off time\" setting."
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: woocommerce-ac.php:
|
205 |
msgid "All "
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: woocommerce-ac.php:
|
209 |
#, php-format
|
210 |
msgid "Registered %s"
|
211 |
msgstr ""
|
212 |
|
213 |
-
#: woocommerce-ac.php:
|
214 |
#, php-format
|
215 |
msgid "Guest %s"
|
216 |
msgstr ""
|
217 |
|
218 |
-
#: woocommerce-ac.php:
|
219 |
msgid "Carts without Customer Details"
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: woocommerce-ac.php:
|
223 |
msgid ""
|
224 |
"Add email templates at different intervals to maximize the possibility of "
|
225 |
"recovering your abandoned carts."
|
226 |
msgstr ""
|
227 |
|
228 |
-
#: woocommerce-ac.php:
|
229 |
-
msgid "
|
|
|
|
|
230 |
msgstr ""
|
231 |
|
232 |
-
#: woocommerce-ac.php:
|
233 |
msgid ""
|
234 |
"There was a problem adding the email template. Please contact the plugin "
|
235 |
"author via <a href= \"https://wordpress.org/support/plugin/woocommerce-"
|
236 |
"abandoned-cart\">support forum</a>."
|
237 |
msgstr ""
|
238 |
|
239 |
-
#: woocommerce-ac.php:
|
240 |
msgid "The Email Template has been successfully updated."
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: woocommerce-ac.php:
|
244 |
msgid ""
|
245 |
"There was a problem updating the email template. Please contact the plugin "
|
246 |
"author via <a href= \"https://wordpress.org/support/plugin/woocommerce-"
|
247 |
"abandoned-cart\">support forum</a>."
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: woocommerce-ac.php:
|
251 |
msgid "Add New Template"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: woocommerce-ac.php:
|
255 |
msgid ""
|
256 |
"The Report below shows how many Abandoned Carts we were able to recover for "
|
257 |
"you by sending automatic emails to encourage shoppers."
|
258 |
msgstr ""
|
259 |
|
260 |
-
#: woocommerce-ac.php:
|
261 |
msgid "Start Date:"
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: woocommerce-ac.php:
|
265 |
msgid "End Date:"
|
266 |
msgstr ""
|
267 |
|
268 |
-
#: woocommerce-ac.php:
|
269 |
msgid "Go"
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: woocommerce-ac.php:
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
msgstr ""
|
279 |
-
|
280 |
-
#: woocommerce-ac.php:2866
|
281 |
-
msgid " were abandoned. We were able to recover"
|
282 |
-
msgstr ""
|
283 |
-
|
284 |
-
#: woocommerce-ac.php:2873
|
285 |
-
msgid " of them, which led to an extra"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: woocommerce-ac.php:
|
289 |
#, php-format
|
290 |
msgid "Abandoned Order #%s Details"
|
291 |
msgstr ""
|
292 |
|
293 |
-
#: woocommerce-ac.php:
|
294 |
-
#: cron/wcal_send_email.php:
|
295 |
msgid "Item"
|
296 |
msgstr ""
|
297 |
|
298 |
-
#: woocommerce-ac.php:
|
299 |
-
#: cron/wcal_send_email.php:
|
300 |
msgid "Name"
|
301 |
msgstr ""
|
302 |
|
303 |
-
#: woocommerce-ac.php:
|
304 |
-
#: cron/wcal_send_email.php:
|
305 |
msgid "Quantity"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: woocommerce-ac.php:
|
309 |
-
#: cron/wcal_send_email.php:
|
310 |
msgid "Line Subtotal"
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: woocommerce-ac.php:
|
314 |
msgid "Line Total"
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: woocommerce-ac.php:
|
318 |
msgid "Customer Details"
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: woocommerce-ac.php:
|
322 |
msgid "Billing Details"
|
323 |
msgstr ""
|
324 |
|
325 |
-
#: woocommerce-ac.php:
|
326 |
msgid "Name:"
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: woocommerce-ac.php:
|
330 |
msgid "Address:"
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: woocommerce-ac.php:
|
334 |
msgid "Email:"
|
335 |
msgstr ""
|
336 |
|
337 |
-
#: woocommerce-ac.php:
|
338 |
msgid "Phone:"
|
339 |
msgstr ""
|
340 |
|
341 |
-
#: woocommerce-ac.php:
|
342 |
msgid "Shipping Details"
|
343 |
msgstr ""
|
344 |
|
345 |
-
#: woocommerce-ac.php:
|
|
|
|
|
|
|
|
|
346 |
msgid "Template Name:"
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: woocommerce-ac.php:
|
350 |
msgid "Enter a template name for reference"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: woocommerce-ac.php:
|
354 |
msgid "Subject:"
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: woocommerce-ac.php:
|
358 |
msgid "Enter the subject that should appear in the email sent"
|
359 |
msgstr ""
|
360 |
|
361 |
-
#: woocommerce-ac.php:
|
362 |
msgid "Email Body:"
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: woocommerce-ac.php:
|
366 |
msgid "Message to be sent in the reminder email."
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: woocommerce-ac.php:
|
370 |
msgid "Use WooCommerce Template Style:"
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: woocommerce-ac.php:
|
374 |
msgid ""
|
375 |
"Use WooCommerce default style template for abandoned cart reminder emails."
|
376 |
msgstr ""
|
377 |
|
378 |
-
#: woocommerce-ac.php:
|
379 |
msgid "Email Template Header Text: "
|
380 |
msgstr ""
|
381 |
|
382 |
-
#: woocommerce-ac.php:
|
383 |
msgid ""
|
384 |
"Enter the header which will appear in the abandoned WooCommerce email sent. "
|
385 |
"This is only applicable when only used when \"Use WooCommerce Template Style:"
|
386 |
"\" is checked."
|
387 |
msgstr ""
|
388 |
|
389 |
-
#: woocommerce-ac.php:
|
390 |
msgid "Send this email:"
|
391 |
msgstr ""
|
392 |
|
393 |
-
#: woocommerce-ac.php:
|
394 |
msgid "after cart is abandoned."
|
395 |
msgstr ""
|
396 |
|
397 |
-
#: woocommerce-ac.php:
|
398 |
msgid "Send a test email to:"
|
399 |
msgstr ""
|
400 |
|
401 |
-
#: woocommerce-ac.php:
|
402 |
msgid "Enter the email id to which the test email needs to be sent."
|
403 |
msgstr ""
|
404 |
|
405 |
-
#: woocommerce-ac.php:
|
406 |
msgid ""
|
407 |
"If you love <strong>Abandoned Cart Lite for WooCommerce</strong>, then "
|
408 |
"please leave us a <a href=\"https://wordpress.org/support/plugin/woocommerce-"
|
@@ -411,31 +427,37 @@ msgid ""
|
|
411 |
" rating. Thank you in advance. :)"
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: woocommerce-ac.php:
|
415 |
-
#: cron/wcal_send_email.php:
|
416 |
msgid "Your Shopping Cart"
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: woocommerce-ac.php:
|
420 |
-
#: cron/wcal_send_email.php:
|
421 |
msgid "Price"
|
422 |
msgstr ""
|
423 |
|
424 |
-
#: woocommerce-ac.php:
|
425 |
msgid "Men\\'\\s Formal Shoes"
|
426 |
msgstr ""
|
427 |
|
428 |
-
#: woocommerce-ac.php:
|
429 |
msgid "Woman\\'\\s Hand Bags"
|
430 |
msgstr ""
|
431 |
|
432 |
-
#: woocommerce-ac.php:
|
433 |
-
#: cron/wcal_send_email.php:
|
434 |
msgid "Cart Total:"
|
435 |
msgstr ""
|
436 |
|
437 |
-
#: cron/wcal_send_email.php:
|
438 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
439 |
msgstr ""
|
440 |
|
441 |
#: includes/wcal-common.php:567
|
@@ -451,46 +473,53 @@ msgstr ""
|
|
451 |
msgid ""
|
452 |
"<div id=\"wcal_update\" class=\"updated woocommerce-message\" style="
|
453 |
"\"padding:15px;\"><span>We need to update your email template database for "
|
454 |
-
"some improvements. Please take a backup of your databases for your
|
455 |
"mind</span><span class=\"submit\"><a href=\"%s\" class=\"button-primary\" "
|
456 |
"style=\"float:right;\">Update</a></span></div>"
|
457 |
msgstr ""
|
458 |
|
459 |
-
#: includes/wcal_all_component.php:
|
460 |
msgid ""
|
461 |
-
"
|
462 |
-
"version
|
463 |
-
"
|
|
|
|
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: includes/wcal_all_component.php:
|
|
|
467 |
msgid ""
|
468 |
-
"
|
469 |
-
"
|
|
|
|
|
470 |
msgstr ""
|
471 |
|
472 |
-
#: includes/wcal_all_component.php:
|
473 |
msgid ""
|
474 |
-
"
|
475 |
-
"
|
476 |
-
"
|
477 |
msgstr ""
|
478 |
|
479 |
-
#: includes/wcal_all_component.php:
|
480 |
msgid ""
|
481 |
-
"
|
482 |
-
"
|
483 |
-
"<strong><a target=\"_blank\" href= \""
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: includes/wcal_all_component.php:
|
487 |
msgid ""
|
488 |
-
"
|
489 |
-
"
|
490 |
-
"
|
|
|
|
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: includes/wcal_all_component.php:
|
494 |
msgid ""
|
495 |
"Reduce cart abandonment rate by 57% with our Order Delivery Date Pro "
|
496 |
"WooCommerce plugin. You can Create Delivery Settings by Shipping Zones & "
|
@@ -499,14 +528,14 @@ msgid ""
|
|
499 |
"20 customers. <strong><a target=\"_blank\" href= \""
|
500 |
msgstr ""
|
501 |
|
502 |
-
#: includes/wcal_all_component.php:
|
503 |
msgid ""
|
504 |
"Allow your customers to select the Delivery Date on Single Product Page "
|
505 |
"using our Product Delivery Date pro for WooCommerce Plugin. <br> \n"
|
506 |
" <strong><a target=\"_blank\" href= \""
|
507 |
msgstr ""
|
508 |
|
509 |
-
#: includes/wcal_all_component.php:
|
510 |
#, php-format
|
511 |
msgid ""
|
512 |
" Allow your customers to book an appointment or rent an apartment with our "
|
@@ -516,193 +545,13 @@ msgid ""
|
|
516 |
"customers. <strong><a target=\"_blank\" href= \""
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: includes/wcal_all_component.php:
|
520 |
msgid ""
|
521 |
" Allow your customers to pay deposits on products using our Deposits for "
|
522 |
-
"WooCommerce
|
523 |
" <strong><a target=\"_blank\" href= \""
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: includes/wcal_ts_tracking.php:76
|
527 |
-
#, php-format
|
528 |
-
msgid ""
|
529 |
-
"Want to help make Abandoned Cart even more awesome? Allow Abandoned Cart to "
|
530 |
-
"collect non-sensitive diagnostic data and usage information and get 20% off "
|
531 |
-
"on your next purchase. <a href=\"https://www.tychesoftwares.com/abandoned-"
|
532 |
-
"cart-lite-usage-tracking/\" target=\"_blank\">Find out more</a>. <br><br>"
|
533 |
-
msgstr ""
|
534 |
-
|
535 |
-
#: includes/wcal_ts_tracking.php:78
|
536 |
-
#: includes/component/tracking data/ts-tracking.php:263
|
537 |
-
msgid "Allow"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: includes/wcal_ts_tracking.php:79
|
541 |
-
#: includes/component/tracking data/ts-tracking.php:264
|
542 |
-
msgid "No thanks"
|
543 |
-
msgstr ""
|
544 |
-
|
545 |
-
#: includes/welcome.php:49
|
546 |
-
#, php-format
|
547 |
-
msgid "Welcome to Abandoned Cart Lite %s"
|
548 |
-
msgstr ""
|
549 |
-
|
550 |
-
#: includes/welcome.php:50
|
551 |
-
msgid "Welcome to Abandoned Cart Lite"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: includes/welcome.php:88
|
555 |
-
msgid ""
|
556 |
-
"Thank you for activating or updating to the latest version of Abandoned Cart "
|
557 |
-
"Lite! If you're a first time user, welcome! You're well on your way to start "
|
558 |
-
"recovering your lost revenues."
|
559 |
-
msgstr ""
|
560 |
-
|
561 |
-
#: includes/welcome.php:98
|
562 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:30
|
563 |
-
msgid "Get Started with Abandoned Cart Lite"
|
564 |
-
msgstr ""
|
565 |
-
|
566 |
-
#: includes/welcome.php:102 includes/welcome.php:127 includes/welcome.php:154
|
567 |
-
#: includes/welcome.php:161 includes/welcome.php:188
|
568 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:34
|
569 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:59
|
570 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:86
|
571 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:93
|
572 |
-
msgid "WooCommerce Abandoned Cart Lite"
|
573 |
-
msgstr ""
|
574 |
-
|
575 |
-
#: includes/welcome.php:106
|
576 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:38
|
577 |
-
msgid "Activate Email Template"
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: includes/welcome.php:108
|
581 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:40
|
582 |
-
msgid ""
|
583 |
-
"To start sending out abandoned cart notification emails, simply activate the "
|
584 |
-
"email template from under WooCommerce -> Abandoned Carts -> Email Templates "
|
585 |
-
"page."
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: includes/welcome.php:110
|
589 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:42
|
590 |
-
msgid "Click Here to go to Email Templates page"
|
591 |
-
msgstr ""
|
592 |
-
|
593 |
-
#: includes/welcome.php:120
|
594 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:52
|
595 |
-
msgid "Know more about Abandoned Cart Pro"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/welcome.php:122
|
599 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:54
|
600 |
-
msgid ""
|
601 |
-
"The Abandoned Cart Pro plugin gives you features where you are able to "
|
602 |
-
"recover more sales compared to the Lite plugin. Here are some notable "
|
603 |
-
"features the Pro version provides."
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: includes/welcome.php:131
|
607 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:63
|
608 |
-
msgid "Capture Visitor Emails on click of Add to Cart button"
|
609 |
-
msgstr ""
|
610 |
-
|
611 |
-
#: includes/welcome.php:133
|
612 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:65
|
613 |
-
msgid ""
|
614 |
-
"The ability to capture the email address early in the order process is very "
|
615 |
-
"important to reduce cart abandonment by unknown users as well as to be able "
|
616 |
-
"to recover their carts if they abandon it. This ultimately leads to increase "
|
617 |
-
"in your store sales."
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: includes/welcome.php:135 includes/welcome.php:148 includes/welcome.php:169
|
621 |
-
#: includes/welcome.php:182
|
622 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:67
|
623 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:80
|
624 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:101
|
625 |
-
msgid "Learn More"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: includes/welcome.php:144
|
629 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:76
|
630 |
-
msgid "Set different cut-off times for visitors & logged-in users"
|
631 |
-
msgstr ""
|
632 |
-
|
633 |
-
#: includes/welcome.php:146
|
634 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:78
|
635 |
-
msgid ""
|
636 |
-
"The provision for setting two separate cut-off times for different roles is "
|
637 |
-
"mainly because sometimes if the store admin wants the visitor carts to be "
|
638 |
-
"captured earlier than the registered user carts, then these different "
|
639 |
-
"settings can play an important role."
|
640 |
-
msgstr ""
|
641 |
-
|
642 |
-
#: includes/welcome.php:165
|
643 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:97
|
644 |
-
msgid "Send abandoned cart recovery email in minutes of cart being abandoned"
|
645 |
-
msgstr ""
|
646 |
-
|
647 |
-
#: includes/welcome.php:167
|
648 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:99
|
649 |
-
msgid ""
|
650 |
-
"The ability to send the abandoned cart recovery email within first few "
|
651 |
-
"minutes of cart being abandoned is a big advantage. In the Lite plugin, the "
|
652 |
-
"earliest an email can be sent is after 1 hour. Whereas in the Pro version, "
|
653 |
-
"the first recovery email gets sent 15 minutes after the cart is abandoned. "
|
654 |
-
"This increases the recovery chances manifold."
|
655 |
-
msgstr ""
|
656 |
-
|
657 |
-
#: includes/welcome.php:178
|
658 |
-
msgid ""
|
659 |
-
"Full range of merge tags that allow you to personalize the abandoned cart "
|
660 |
-
"email"
|
661 |
-
msgstr ""
|
662 |
-
|
663 |
-
#: includes/welcome.php:180
|
664 |
-
msgid ""
|
665 |
-
"The Lite version has only 3 merge tags available to personalize the "
|
666 |
-
"abandoned cart recovery emails. The Pro version instead, has 20 different "
|
667 |
-
"merge tags that can be used effectively to personalize each email that gets "
|
668 |
-
"sent out to the customers for recovering their abandoned carts."
|
669 |
-
msgstr ""
|
670 |
-
|
671 |
-
#: includes/welcome.php:193
|
672 |
-
msgid "View full list of differences between Lite & Pro plugin"
|
673 |
-
msgstr ""
|
674 |
-
|
675 |
-
#: includes/welcome.php:202
|
676 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:110
|
677 |
-
msgid "Getting to Know Tyche Softwares"
|
678 |
-
msgstr ""
|
679 |
-
|
680 |
-
#: includes/welcome.php:205
|
681 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:112
|
682 |
-
msgid "Visit the Tyche Softwares Website"
|
683 |
-
msgstr ""
|
684 |
-
|
685 |
-
#: includes/welcome.php:206
|
686 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:113
|
687 |
-
msgid "View all Premium Plugins"
|
688 |
-
msgstr ""
|
689 |
-
|
690 |
-
#: includes/welcome.php:215
|
691 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:122
|
692 |
-
msgid "Meet the team"
|
693 |
-
msgstr ""
|
694 |
-
|
695 |
-
#: includes/welcome.php:223
|
696 |
-
#: includes/component/welcome-page/templates/welcome/welcome-page.php:128
|
697 |
-
msgid "Current Offers"
|
698 |
-
msgstr ""
|
699 |
-
|
700 |
-
#: includes/welcome.php:271
|
701 |
-
#: includes/component/welcome-page/templates/social-media-elements.php:10
|
702 |
-
#, php-format
|
703 |
-
msgid "Follow %s"
|
704 |
-
msgstr ""
|
705 |
-
|
706 |
#: includes/admin/wcal_privacy_erase.php:41
|
707 |
#: includes/admin/wcal_privacy_export.php:41
|
708 |
msgid "Abandoned & Recovered Carts"
|
@@ -816,7 +665,7 @@ msgid "View order"
|
|
816 |
msgstr ""
|
817 |
|
818 |
#: includes/classes/class-wcal-abandoned-orders-table.php:151
|
819 |
-
#: includes/classes/class-wcal-abandoned-orders-table.php:
|
820 |
#: includes/classes/class-wcal-templates-table.php:145
|
821 |
#: includes/classes/class-wcal-templates-table.php:330
|
822 |
msgid "Delete"
|
@@ -838,14 +687,6 @@ msgstr ""
|
|
838 |
msgid "Unsubscribed"
|
839 |
msgstr ""
|
840 |
|
841 |
-
#: includes/classes/class-wcal-abandoned-orders-table.php:367
|
842 |
-
msgid "Abandoned but new"
|
843 |
-
msgstr ""
|
844 |
-
|
845 |
-
#: includes/classes/class-wcal-abandoned-orders-table.php:367
|
846 |
-
msgid "cart created after this"
|
847 |
-
msgstr ""
|
848 |
-
|
849 |
#: includes/classes/class-wcal-product-report-table.php:58
|
850 |
msgid "product_id"
|
851 |
msgstr ""
|
@@ -981,31 +822,39 @@ msgctxt ""
|
|
981 |
msgid "Other"
|
982 |
msgstr ""
|
983 |
|
984 |
-
#: includes/component/
|
985 |
#, php-format
|
986 |
msgid "Frequently Asked Questions for %s"
|
987 |
msgstr ""
|
988 |
|
989 |
-
#: includes/component/
|
990 |
msgid "Frequently Asked Questions for "
|
991 |
msgstr ""
|
992 |
|
993 |
-
#: includes/component/
|
994 |
msgid "FAQ & Support"
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: includes/component/tracking
|
998 |
msgid "Reset usage tracking"
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: includes/component/tracking
|
1002 |
msgid "Once in a Week"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
-
#: includes/component/tracking
|
1006 |
msgid "Want to help make "
|
1007 |
msgstr ""
|
1008 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1009 |
#: includes/component/welcome-page/ts-welcome.php:165
|
1010 |
#, php-format
|
1011 |
msgid "Welcome to %s %s"
|
@@ -1015,10 +864,120 @@ msgstr ""
|
|
1015 |
msgid "Welcome to "
|
1016 |
msgstr ""
|
1017 |
|
|
|
|
|
|
|
|
|
|
|
1018 |
#: includes/component/welcome-page/templates/welcome/welcome-page.php:18
|
1019 |
msgid "Thank you for activating or updating to the latest version of "
|
1020 |
msgstr ""
|
1021 |
|
1022 |
-
#: includes/component/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1023 |
msgid " plugin requires WooCommerce installed and activate."
|
1024 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
8 |
msgstr ""
|
9 |
"Project-Id-Version: PACKAGE VERSION\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2019-03-25 19:02+0530\n"
|
12 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
17 |
"Content-Type: text/plain; charset=UTF-8\n"
|
18 |
"Content-Transfer-Encoding: 8bit\n"
|
19 |
|
20 |
+
#: woocommerce-ac.php:47
|
21 |
msgid "Once Every Fifteen Minutes"
|
22 |
msgstr ""
|
23 |
|
24 |
+
#: woocommerce-ac.php:218 woocommerce-ac.php:499 woocommerce-ac.php:1692
|
25 |
+
msgid "Settings"
|
26 |
+
msgstr ""
|
27 |
+
|
28 |
+
#: woocommerce-ac.php:245
|
29 |
msgid "Emails are not being sent to customers."
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: woocommerce-ac.php:251
|
33 |
msgid "Capturing of cart and other information was not satisfactory."
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: woocommerce-ac.php:257
|
37 |
msgid "I cannot see abandoned cart reminder emails records."
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: woocommerce-ac.php:263
|
41 |
msgid "I want to upgrade the plugin to the PRO version."
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: woocommerce-ac.php:293
|
|
|
|
|
|
|
|
|
|
|
45 |
msgid "HTML Email Template"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: woocommerce-ac.php:299
|
49 |
msgid "Abandoned cart Email Template"
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: woocommerce-ac.php:506
|
|
|
|
|
|
|
|
|
53 |
msgid "Cart abandoned cut-off time"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: woocommerce-ac.php:510
|
57 |
msgid ""
|
58 |
"Consider cart abandoned after X minutes of item being added to cart & order "
|
59 |
"not placed."
|
60 |
msgstr ""
|
61 |
|
62 |
+
#: woocommerce-ac.php:515
|
63 |
msgid "Automatically Delete Abandoned Orders after X days"
|
64 |
msgstr ""
|
65 |
|
66 |
+
#: woocommerce-ac.php:519
|
67 |
msgid "Automatically delete abandoned cart orders after X days."
|
68 |
msgstr ""
|
69 |
|
70 |
+
#: woocommerce-ac.php:525
|
71 |
msgid "Email admin On Order Recovery"
|
72 |
msgstr ""
|
73 |
|
74 |
+
#: woocommerce-ac.php:529
|
75 |
msgid "Sends email to Admin if an Abandoned Cart Order is recovered."
|
76 |
msgstr ""
|
77 |
|
78 |
+
#: woocommerce-ac.php:535
|
79 |
msgid "Start tracking from Cart Page"
|
80 |
msgstr ""
|
81 |
|
82 |
+
#: woocommerce-ac.php:539
|
83 |
msgid ""
|
84 |
"Enable tracking of abandoned products & carts even if customer does not "
|
85 |
"visit the checkout page or does not enter any details on the checkout page "
|
87 |
"to their cart and visits the cart page."
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: woocommerce-ac.php:544
|
91 |
msgid "Message to be displayed for Guest users when tracking their carts"
|
92 |
msgstr ""
|
93 |
|
94 |
+
#: woocommerce-ac.php:548
|
95 |
msgid ""
|
96 |
"<br>In compliance with GDPR, add a message on the Checkout page to inform "
|
97 |
"Guest users of how their data is being used.<br><i>For example: Your email "
|
99 |
"Please check our Privacy Policy to see how we use your personal data.</i>"
|
100 |
msgstr ""
|
101 |
|
102 |
+
#: woocommerce-ac.php:553
|
103 |
msgid "Message to be displayed for registered users when tracking their carts."
|
104 |
msgstr ""
|
105 |
|
106 |
+
#: woocommerce-ac.php:557
|
107 |
msgid ""
|
108 |
"<br>In compliance with GDPR, add a message on the Shop & Product pages to "
|
109 |
"inform Registered users of how their data is being used.<br><i>For example: "
|
110 |
"Please check our Privacy Policy to see how we use your personal data.</i>"
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: woocommerce-ac.php:567
|
114 |
msgid "Settings for abandoned cart recovery emails"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: woocommerce-ac.php:574
|
118 |
msgid "\"From\" Name"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: woocommerce-ac.php:583
|
122 |
msgid "\"From\" Address"
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: woocommerce-ac.php:592
|
126 |
msgid "Send Reply Emails to"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: woocommerce-ac.php:686
|
130 |
msgid ""
|
131 |
"Abandoned cart cut off time should be numeric and has to be greater than 0."
|
132 |
msgstr ""
|
133 |
|
134 |
+
#: woocommerce-ac.php:702
|
135 |
msgid ""
|
136 |
"Automatically Delete Abandoned Orders after X days has to be greater than 0."
|
137 |
msgstr ""
|
138 |
|
139 |
+
#: woocommerce-ac.php:1083 includes/admin/wcal_privacy_export.php:123
|
|
|
|
|
|
|
|
|
|
|
140 |
msgid "Abandoned Carts"
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: woocommerce-ac.php:1690
|
144 |
msgid "Abandoned Orders"
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: woocommerce-ac.php:1691
|
148 |
msgid "Email Templates"
|
149 |
msgstr ""
|
150 |
|
151 |
+
#: woocommerce-ac.php:1693
|
152 |
msgid "Recovered Orders"
|
153 |
msgstr ""
|
154 |
|
155 |
+
#: woocommerce-ac.php:1694
|
156 |
msgid "Product Report"
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: woocommerce-ac.php:1740
|
160 |
+
#, php-format
|
161 |
+
msgid "Please enter in decimal (%s) format without thousand separators."
|
162 |
+
msgstr ""
|
163 |
+
|
164 |
+
#: woocommerce-ac.php:1742
|
165 |
+
#, php-format
|
166 |
+
msgid ""
|
167 |
+
"Please enter in monetary decimal (%s) format without thousand separators and "
|
168 |
+
"currency symbols."
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
#: woocommerce-ac.php:1743
|
172 |
+
msgid "Please enter in country code with two capital letters."
|
173 |
+
msgstr ""
|
174 |
+
|
175 |
+
#: woocommerce-ac.php:1744
|
176 |
+
msgid "Please enter in a value less than the regular price."
|
177 |
+
msgstr ""
|
178 |
+
|
179 |
+
#: woocommerce-ac.php:1748
|
180 |
+
msgid "Import"
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
#: woocommerce-ac.php:1749
|
184 |
+
msgid "Export"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: woocommerce-ac.php:1859
|
188 |
msgid "You do not have sufficient permissions to access this page."
|
189 |
msgstr ""
|
190 |
|
191 |
+
#: woocommerce-ac.php:1863
|
192 |
msgid "WooCommerce - Abandon Cart Lite"
|
193 |
msgstr ""
|
194 |
|
195 |
+
#: woocommerce-ac.php:1923
|
196 |
msgid "The Abandoned cart has been successfully deleted."
|
197 |
msgstr ""
|
198 |
|
199 |
+
#: woocommerce-ac.php:1928
|
200 |
msgid "The Template has been successfully deleted."
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: woocommerce-ac.php:1934
|
204 |
msgid ""
|
205 |
"Change settings for sending email notifications to Customers, to Admin etc."
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: woocommerce-ac.php:1952
|
209 |
msgid "General Settings"
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: woocommerce-ac.php:1955
|
213 |
msgid "Email Sending Settings"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: woocommerce-ac.php:1985
|
217 |
msgid ""
|
218 |
"The list below shows all Abandoned Carts which have remained in cart for a "
|
219 |
"time higher than the \"Cart abandoned cut-off time\" setting."
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: woocommerce-ac.php:2027
|
223 |
msgid "All "
|
224 |
msgstr ""
|
225 |
|
226 |
+
#: woocommerce-ac.php:2032
|
227 |
#, php-format
|
228 |
msgid "Registered %s"
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: woocommerce-ac.php:2038
|
232 |
#, php-format
|
233 |
msgid "Guest %s"
|
234 |
msgstr ""
|
235 |
|
236 |
+
#: woocommerce-ac.php:2044
|
237 |
msgid "Carts without Customer Details"
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: woocommerce-ac.php:2065
|
241 |
msgid ""
|
242 |
"Add email templates at different intervals to maximize the possibility of "
|
243 |
"recovering your abandoned carts."
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: woocommerce-ac.php:2183
|
247 |
+
msgid ""
|
248 |
+
"The Email Template has been successfully added. In order to start sending "
|
249 |
+
"this email to your customers, please activate it."
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: woocommerce-ac.php:2192
|
253 |
msgid ""
|
254 |
"There was a problem adding the email template. Please contact the plugin "
|
255 |
"author via <a href= \"https://wordpress.org/support/plugin/woocommerce-"
|
256 |
"abandoned-cart\">support forum</a>."
|
257 |
msgstr ""
|
258 |
|
259 |
+
#: woocommerce-ac.php:2203
|
260 |
msgid "The Email Template has been successfully updated."
|
261 |
msgstr ""
|
262 |
|
263 |
+
#: woocommerce-ac.php:2212
|
264 |
msgid ""
|
265 |
"There was a problem updating the email template. Please contact the plugin "
|
266 |
"author via <a href= \"https://wordpress.org/support/plugin/woocommerce-"
|
267 |
"abandoned-cart\">support forum</a>."
|
268 |
msgstr ""
|
269 |
|
270 |
+
#: woocommerce-ac.php:2221
|
271 |
msgid "Add New Template"
|
272 |
msgstr ""
|
273 |
|
274 |
+
#: woocommerce-ac.php:2298
|
275 |
msgid ""
|
276 |
"The Report below shows how many Abandoned Carts we were able to recover for "
|
277 |
"you by sending automatic emails to encourage shoppers."
|
278 |
msgstr ""
|
279 |
|
280 |
+
#: woocommerce-ac.php:2347
|
281 |
msgid "Start Date:"
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: woocommerce-ac.php:2349
|
285 |
msgid "End Date:"
|
286 |
msgstr ""
|
287 |
|
288 |
+
#: woocommerce-ac.php:2351
|
289 |
msgid "Go"
|
290 |
msgstr ""
|
291 |
|
292 |
+
#: woocommerce-ac.php:2365
|
293 |
+
#, php-format
|
294 |
+
msgid ""
|
295 |
+
"During the selected range <strong>%d</strong> carts totaling <strong>%s</"
|
296 |
+
"strong> were abandoned. We were able to recover <strong>%d</strong> of them, "
|
297 |
+
"which led to an extra <strong>%s</strong>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: woocommerce-ac.php:2384
|
301 |
#, php-format
|
302 |
msgid "Abandoned Order #%s Details"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: woocommerce-ac.php:2388 woocommerce-ac.php:3074 woocommerce-ac.php:3109
|
306 |
+
#: cron/wcal_send_email.php:277 cron/wcal_send_email.php:287
|
307 |
msgid "Item"
|
308 |
msgstr ""
|
309 |
|
310 |
+
#: woocommerce-ac.php:2389 woocommerce-ac.php:3075 woocommerce-ac.php:3110
|
311 |
+
#: cron/wcal_send_email.php:278 cron/wcal_send_email.php:288
|
312 |
msgid "Name"
|
313 |
msgstr ""
|
314 |
|
315 |
+
#: woocommerce-ac.php:2390 woocommerce-ac.php:3076 woocommerce-ac.php:3111
|
316 |
+
#: cron/wcal_send_email.php:279 cron/wcal_send_email.php:289
|
317 |
msgid "Quantity"
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: woocommerce-ac.php:2391 woocommerce-ac.php:3078 woocommerce-ac.php:3113
|
321 |
+
#: cron/wcal_send_email.php:281 cron/wcal_send_email.php:291
|
322 |
msgid "Line Subtotal"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: woocommerce-ac.php:2392
|
326 |
msgid "Line Total"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: woocommerce-ac.php:2580
|
330 |
msgid "Customer Details"
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: woocommerce-ac.php:2584
|
334 |
msgid "Billing Details"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: woocommerce-ac.php:2585
|
338 |
msgid "Name:"
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: woocommerce-ac.php:2588 woocommerce-ac.php:2608
|
342 |
msgid "Address:"
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: woocommerce-ac.php:2598
|
346 |
msgid "Email:"
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: woocommerce-ac.php:2602
|
350 |
msgid "Phone:"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: woocommerce-ac.php:2607
|
354 |
msgid "Shipping Details"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: woocommerce-ac.php:2628
|
358 |
+
msgid "Shipping Charges"
|
359 |
+
msgstr ""
|
360 |
+
|
361 |
+
#: woocommerce-ac.php:2694
|
362 |
msgid "Template Name:"
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: woocommerce-ac.php:2703
|
366 |
msgid "Enter a template name for reference"
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: woocommerce-ac.php:2709
|
370 |
msgid "Subject:"
|
371 |
msgstr ""
|
372 |
|
373 |
+
#: woocommerce-ac.php:2718
|
374 |
msgid "Enter the subject that should appear in the email sent"
|
375 |
msgstr ""
|
376 |
|
377 |
+
#: woocommerce-ac.php:2724
|
378 |
msgid "Email Body:"
|
379 |
msgstr ""
|
380 |
|
381 |
+
#: woocommerce-ac.php:2751
|
382 |
msgid "Message to be sent in the reminder email."
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: woocommerce-ac.php:2778
|
386 |
msgid "Use WooCommerce Template Style:"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: woocommerce-ac.php:2793
|
390 |
msgid ""
|
391 |
"Use WooCommerce default style template for abandoned cart reminder emails."
|
392 |
msgstr ""
|
393 |
|
394 |
+
#: woocommerce-ac.php:2800
|
395 |
msgid "Email Template Header Text: "
|
396 |
msgstr ""
|
397 |
|
398 |
+
#: woocommerce-ac.php:2814
|
399 |
msgid ""
|
400 |
"Enter the header which will appear in the abandoned WooCommerce email sent. "
|
401 |
"This is only applicable when only used when \"Use WooCommerce Template Style:"
|
402 |
"\" is checked."
|
403 |
msgstr ""
|
404 |
|
405 |
+
#: woocommerce-ac.php:2820
|
406 |
msgid "Send this email:"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: woocommerce-ac.php:2861
|
410 |
msgid "after cart is abandoned."
|
411 |
msgstr ""
|
412 |
|
413 |
+
#: woocommerce-ac.php:2868
|
414 |
msgid "Send a test email to:"
|
415 |
msgstr ""
|
416 |
|
417 |
+
#: woocommerce-ac.php:2873
|
418 |
msgid "Enter the email id to which the test email needs to be sent."
|
419 |
msgstr ""
|
420 |
|
421 |
+
#: woocommerce-ac.php:2906
|
422 |
msgid ""
|
423 |
"If you love <strong>Abandoned Cart Lite for WooCommerce</strong>, then "
|
424 |
"please leave us a <a href=\"https://wordpress.org/support/plugin/woocommerce-"
|
427 |
" rating. Thank you in advance. :)"
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: woocommerce-ac.php:3072 woocommerce-ac.php:3106
|
431 |
+
#: cron/wcal_send_email.php:275 cron/wcal_send_email.php:284
|
432 |
msgid "Your Shopping Cart"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: woocommerce-ac.php:3077 woocommerce-ac.php:3112
|
436 |
+
#: cron/wcal_send_email.php:280 cron/wcal_send_email.php:290
|
437 |
msgid "Price"
|
438 |
msgstr ""
|
439 |
|
440 |
+
#: woocommerce-ac.php:3082 woocommerce-ac.php:3117
|
441 |
msgid "Men\\'\\s Formal Shoes"
|
442 |
msgstr ""
|
443 |
|
444 |
+
#: woocommerce-ac.php:3089 woocommerce-ac.php:3124
|
445 |
msgid "Woman\\'\\s Hand Bags"
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: woocommerce-ac.php:3098 woocommerce-ac.php:3133
|
449 |
+
#: cron/wcal_send_email.php:370
|
450 |
msgid "Cart Total:"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: cron/wcal_send_email.php:93
|
454 |
+
msgid "Abandoned cart reminder"
|
455 |
+
msgstr ""
|
456 |
+
|
457 |
+
#: cron/wcal_send_email.php:553 cron/wcal_send_email.php:620
|
458 |
+
#: includes/frontend/wcal_checkout_process.php:198
|
459 |
+
#: includes/frontend/wcal_checkout_process.php:486
|
460 |
+
msgid "This order was abandoned & subsequently recovered."
|
461 |
msgstr ""
|
462 |
|
463 |
#: includes/wcal-common.php:567
|
473 |
msgid ""
|
474 |
"<div id=\"wcal_update\" class=\"updated woocommerce-message\" style="
|
475 |
"\"padding:15px;\"><span>We need to update your email template database for "
|
476 |
+
"some improvements. Please take a backup of your databases for your piece of "
|
477 |
"mind</span><span class=\"submit\"><a href=\"%s\" class=\"button-primary\" "
|
478 |
"style=\"float:right;\">Update</a></span></div>"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: includes/wcal_all_component.php:88
|
482 |
msgid ""
|
483 |
+
"Now that you are all set with the Lite version, you can upgrade to Pro "
|
484 |
+
"version to take your abandoned cart recovery to the next level. You can "
|
485 |
+
"capture customer’s email address when they click Add to Cart, get access to "
|
486 |
+
"11 unique, fully responsive email templates, send text messages for recovery "
|
487 |
+
"& <strong><a target=\"_blank\" href= \""
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: includes/wcal_all_component.php:91
|
491 |
+
#, php-format
|
492 |
msgid ""
|
493 |
+
"Boost your sales by recovering up to 60% of the abandoned carts with our "
|
494 |
+
"Abandoned Cart Pro for WooCommerce plugin. You can capture customer email "
|
495 |
+
"addresses right when they click the Add To Cart button. <strong><a target="
|
496 |
+
"\"_blank\" href= \""
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: includes/wcal_all_component.php:94
|
500 |
msgid ""
|
501 |
+
"Don't loose your sales to abandoned carts. Use our Abandon Cart Pro plugin & "
|
502 |
+
"start recovering your lost sales in less then 60 seconds. <strong><a target="
|
503 |
+
"\"_blank\" href= \""
|
504 |
msgstr ""
|
505 |
|
506 |
+
#: includes/wcal_all_component.php:97
|
507 |
msgid ""
|
508 |
+
"Send Abandoned Cart reminders that actually convert. Take advantage of our "
|
509 |
+
"fully responsive email templates designed specially with an intent to "
|
510 |
+
"trigger conversion. <strong><a target=\"_blank\" href= \""
|
511 |
msgstr ""
|
512 |
|
513 |
+
#: includes/wcal_all_component.php:100
|
514 |
msgid ""
|
515 |
+
"Increase your store sales by recovering your abandoned carts for just $119. "
|
516 |
+
"No profit sharing, no monthly fees. Our Abandoned Cart Pro plugin comes with "
|
517 |
+
"a 30 day money back guarantee as well. :) Use coupon code ACPRO20 & save $24!"
|
518 |
+
"<br>\n"
|
519 |
+
" <strong><a target=\"_blank\" href= \""
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: includes/wcal_all_component.php:104
|
523 |
msgid ""
|
524 |
"Reduce cart abandonment rate by 57% with our Order Delivery Date Pro "
|
525 |
"WooCommerce plugin. You can Create Delivery Settings by Shipping Zones & "
|
528 |
"20 customers. <strong><a target=\"_blank\" href= \""
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: includes/wcal_all_component.php:107
|
532 |
msgid ""
|
533 |
"Allow your customers to select the Delivery Date on Single Product Page "
|
534 |
"using our Product Delivery Date pro for WooCommerce Plugin. <br> \n"
|
535 |
" <strong><a target=\"_blank\" href= \""
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: includes/wcal_all_component.php:111
|
539 |
#, php-format
|
540 |
msgid ""
|
541 |
" Allow your customers to book an appointment or rent an apartment with our "
|
545 |
"customers. <strong><a target=\"_blank\" href= \""
|
546 |
msgstr ""
|
547 |
|
548 |
+
#: includes/wcal_all_component.php:114
|
549 |
msgid ""
|
550 |
" Allow your customers to pay deposits on products using our Deposits for "
|
551 |
+
"WooCommerce plugin. <br>\n"
|
552 |
" <strong><a target=\"_blank\" href= \""
|
553 |
msgstr ""
|
554 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
555 |
#: includes/admin/wcal_privacy_erase.php:41
|
556 |
#: includes/admin/wcal_privacy_export.php:41
|
557 |
msgid "Abandoned & Recovered Carts"
|
665 |
msgstr ""
|
666 |
|
667 |
#: includes/classes/class-wcal-abandoned-orders-table.php:151
|
668 |
+
#: includes/classes/class-wcal-abandoned-orders-table.php:544
|
669 |
#: includes/classes/class-wcal-templates-table.php:145
|
670 |
#: includes/classes/class-wcal-templates-table.php:330
|
671 |
msgid "Delete"
|
687 |
msgid "Unsubscribed"
|
688 |
msgstr ""
|
689 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
690 |
#: includes/classes/class-wcal-product-report-table.php:58
|
691 |
msgid "product_id"
|
692 |
msgstr ""
|
822 |
msgid "Other"
|
823 |
msgstr ""
|
824 |
|
825 |
+
#: includes/component/faq-support/ts-faq-support.php:126
|
826 |
#, php-format
|
827 |
msgid "Frequently Asked Questions for %s"
|
828 |
msgstr ""
|
829 |
|
830 |
+
#: includes/component/faq-support/ts-faq-support.php:127
|
831 |
msgid "Frequently Asked Questions for "
|
832 |
msgstr ""
|
833 |
|
834 |
+
#: includes/component/faq-support/ts-faq-support.php:175
|
835 |
msgid "FAQ & Support"
|
836 |
msgstr ""
|
837 |
|
838 |
+
#: includes/component/tracking-data/ts-tracking.php:133
|
839 |
msgid "Reset usage tracking"
|
840 |
msgstr ""
|
841 |
|
842 |
+
#: includes/component/tracking-data/ts-tracking.php:177
|
843 |
msgid "Once in a Week"
|
844 |
msgstr ""
|
845 |
|
846 |
+
#: includes/component/tracking-data/ts-tracking.php:268
|
847 |
msgid "Want to help make "
|
848 |
msgstr ""
|
849 |
|
850 |
+
#: includes/component/tracking-data/ts-tracking.php:270
|
851 |
+
msgid "Allow"
|
852 |
+
msgstr ""
|
853 |
+
|
854 |
+
#: includes/component/tracking-data/ts-tracking.php:271
|
855 |
+
msgid "No thanks"
|
856 |
+
msgstr ""
|
857 |
+
|
858 |
#: includes/component/welcome-page/ts-welcome.php:165
|
859 |
#, php-format
|
860 |
msgid "Welcome to %s %s"
|
864 |
msgid "Welcome to "
|
865 |
msgstr ""
|
866 |
|
867 |
+
#: includes/component/welcome-page/templates/social-media-elements.php:10
|
868 |
+
#, php-format
|
869 |
+
msgid "Follow %s"
|
870 |
+
msgstr ""
|
871 |
+
|
872 |
#: includes/component/welcome-page/templates/welcome/welcome-page.php:18
|
873 |
msgid "Thank you for activating or updating to the latest version of "
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:30
|
877 |
+
msgid "Get Started with Abandoned Cart Lite"
|
878 |
+
msgstr ""
|
879 |
+
|
880 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:34
|
881 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:59
|
882 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:86
|
883 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:93
|
884 |
+
msgid "WooCommerce Abandoned Cart Lite"
|
885 |
+
msgstr ""
|
886 |
+
|
887 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:38
|
888 |
+
msgid "Activate Email Template"
|
889 |
+
msgstr ""
|
890 |
+
|
891 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:40
|
892 |
+
msgid ""
|
893 |
+
"To start sending out abandoned cart notification emails, simply activate the "
|
894 |
+
"email template from under WooCommerce -> Abandoned Carts -> Email Templates "
|
895 |
+
"page."
|
896 |
+
msgstr ""
|
897 |
+
|
898 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:42
|
899 |
+
msgid "Click Here to go to Email Templates page"
|
900 |
+
msgstr ""
|
901 |
+
|
902 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:52
|
903 |
+
msgid "Know more about Abandoned Cart Pro"
|
904 |
+
msgstr ""
|
905 |
+
|
906 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:54
|
907 |
+
msgid ""
|
908 |
+
"The Abandoned Cart Pro plugin gives you features where you are able to "
|
909 |
+
"recover more sales compared to the Lite plugin. Here are some notable "
|
910 |
+
"features the Pro version provides."
|
911 |
+
msgstr ""
|
912 |
+
|
913 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:63
|
914 |
+
msgid "Capture Visitor Emails on click of Add to Cart button"
|
915 |
+
msgstr ""
|
916 |
+
|
917 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:65
|
918 |
+
msgid ""
|
919 |
+
"The ability to capture the email address early in the order process is very "
|
920 |
+
"important to reduce cart abandonment by unknown users as well as to be able "
|
921 |
+
"to recover their carts if they abandon it. This ultimately leads to increase "
|
922 |
+
"in your store sales."
|
923 |
+
msgstr ""
|
924 |
+
|
925 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:67
|
926 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:80
|
927 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:101
|
928 |
+
msgid "Learn More"
|
929 |
+
msgstr ""
|
930 |
+
|
931 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:76
|
932 |
+
msgid "Set different cut-off times for visitors & logged-in users"
|
933 |
+
msgstr ""
|
934 |
+
|
935 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:78
|
936 |
+
msgid ""
|
937 |
+
"The provision for setting two separate cut-off times for different roles is "
|
938 |
+
"mainly because sometimes if the store admin wants the visitor carts to be "
|
939 |
+
"captured earlier than the registered user carts, then these different "
|
940 |
+
"settings can play an important role."
|
941 |
+
msgstr ""
|
942 |
+
|
943 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:97
|
944 |
+
msgid "Send abandoned cart recovery email in minutes of cart being abandoned"
|
945 |
+
msgstr ""
|
946 |
+
|
947 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:99
|
948 |
+
msgid ""
|
949 |
+
"The ability to send the abandoned cart recovery email within first few "
|
950 |
+
"minutes of cart being abandoned is a big advantage. In the Lite plugin, the "
|
951 |
+
"earliest an email can be sent is after 1 hour. Whereas in the Pro version, "
|
952 |
+
"the first recovery email gets sent 15 minutes after the cart is abandoned. "
|
953 |
+
"This increases the recovery chances manifold."
|
954 |
+
msgstr ""
|
955 |
+
|
956 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:110
|
957 |
+
msgid "Getting to Know Tyche Softwares"
|
958 |
+
msgstr ""
|
959 |
+
|
960 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:112
|
961 |
+
msgid "Visit the Tyche Softwares Website"
|
962 |
+
msgstr ""
|
963 |
+
|
964 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:113
|
965 |
+
msgid "View all Premium Plugins"
|
966 |
+
msgstr ""
|
967 |
+
|
968 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:122
|
969 |
+
msgid "Meet the team"
|
970 |
+
msgstr ""
|
971 |
+
|
972 |
+
#: includes/component/welcome-page/templates/welcome/welcome-page.php:128
|
973 |
+
msgid "Current Offers"
|
974 |
+
msgstr ""
|
975 |
+
|
976 |
+
#: includes/component/woocommerce-check/ts-woo-active.php:82
|
977 |
msgid " plugin requires WooCommerce installed and activate."
|
978 |
msgstr ""
|
979 |
+
|
980 |
+
#: includes/frontend/wcal_checkout_process.php:293
|
981 |
+
#: includes/frontend/wcal_checkout_process.php:295
|
982 |
+
msgid "New Customer Order - Recovered"
|
983 |
+
msgstr ""
|
includes/classes/class-wcal-recover-orders-table.php
CHANGED
@@ -230,7 +230,7 @@ class wcal_Recover_Orders_Table extends WP_List_Table {
|
|
230 |
$ac_results = $wpdb->get_results( $wpdb->prepare( $query_ac, $start_date, $end_date ) );
|
231 |
|
232 |
$query_ac_carts = "SELECT * FROM " . $wpdb->prefix . "ac_abandoned_cart_history_lite
|
233 |
-
WHERE abandoned_cart_time >= %d AND abandoned_cart_time <= %d AND abandoned_cart_time <= '$compare_time' AND abandoned_cart_info NOT LIKE '%$blank_cart_info%' AND abandoned_cart_info NOT LIKE '$blank_cart_info_guest' AND abandoned_cart_info NOT LIKE '$blank_cart' AND
|
234 |
$ac_carts_results = $wpdb->get_results( $wpdb->prepare( $query_ac_carts, $start_date, $end_date ) );
|
235 |
|
236 |
$recovered_item = $recovered_total = $count_carts = $total_value = $order_total = 0;
|
@@ -257,22 +257,22 @@ class wcal_Recover_Orders_Table extends WP_List_Table {
|
|
257 |
}
|
258 |
$total_value += $line_total;
|
259 |
}
|
260 |
-
|
261 |
$this->total_order_amount = $total_value;
|
262 |
-
$this->total_abandoned_cart_count = $count_carts;
|
263 |
-
$recovered_order_total = 0;
|
264 |
-
$this->total_recover_amount = round( $recovered_order_total, $number_decimal );
|
265 |
-
$this->recovered_item = 0;
|
266 |
$table_data = "";
|
267 |
|
268 |
-
foreach ( $ac_results as $key => $value ) {
|
269 |
-
if( $value->recovered_cart != 0 ) {
|
270 |
$return_recovered_orders[$i] = new stdClass();
|
271 |
$recovered_id = $value->recovered_cart;
|
272 |
$rec_order = get_post_meta( $recovered_id );
|
273 |
$woo_order = array();
|
274 |
try{
|
275 |
-
$woo_order =
|
276 |
if( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
277 |
$order = get_post( $recovered_id );
|
278 |
$recovered_date = strtotime ( $order->post_date );
|
@@ -321,16 +321,18 @@ class wcal_Recover_Orders_Table extends WP_List_Table {
|
|
321 |
$return_recovered_orders[ $i ]->recover_order_date = $recovered_date;
|
322 |
$return_recovered_orders[ $i ]->abandoned_date = $value->abandoned_cart_time;
|
323 |
$return_recovered_orders[ $i ]->order_total = wc_price($recovered_order_total);
|
324 |
-
|
325 |
$this->recovered_item = $recovered_item;
|
326 |
-
$this->total_recover_amount = round( ( $recovered_order_total + $this->total_recover_amount ), $number_decimal );
|
327 |
$i++;
|
328 |
}catch (Exception $e){
|
329 |
|
330 |
-
}
|
331 |
|
332 |
-
}
|
333 |
}
|
|
|
|
|
334 |
$templates_count = count( $return_recovered_orders );
|
335 |
$this->total_count = $templates_count;
|
336 |
// sort for order date
|
230 |
$ac_results = $wpdb->get_results( $wpdb->prepare( $query_ac, $start_date, $end_date ) );
|
231 |
|
232 |
$query_ac_carts = "SELECT * FROM " . $wpdb->prefix . "ac_abandoned_cart_history_lite
|
233 |
+
WHERE abandoned_cart_time >= %d AND abandoned_cart_time <= %d AND abandoned_cart_time <= '$compare_time' AND abandoned_cart_info NOT LIKE '%$blank_cart_info%' AND abandoned_cart_info NOT LIKE '$blank_cart_info_guest' AND abandoned_cart_info NOT LIKE '$blank_cart' AND cart_ignored <> '1'";
|
234 |
$ac_carts_results = $wpdb->get_results( $wpdb->prepare( $query_ac_carts, $start_date, $end_date ) );
|
235 |
|
236 |
$recovered_item = $recovered_total = $count_carts = $total_value = $order_total = 0;
|
257 |
}
|
258 |
$total_value += $line_total;
|
259 |
}
|
260 |
+
//$total_value = wc_price( $total_value );
|
261 |
$this->total_order_amount = $total_value;
|
262 |
+
$this->total_abandoned_cart_count = $count_carts;
|
263 |
+
$recovered_order_total = 0;
|
264 |
+
$this->total_recover_amount = round( $recovered_order_total, $number_decimal );
|
265 |
+
$this->recovered_item = 0;
|
266 |
$table_data = "";
|
267 |
|
268 |
+
foreach ( $ac_results as $key => $value ) {
|
269 |
+
if( $value->recovered_cart != 0 ) {
|
270 |
$return_recovered_orders[$i] = new stdClass();
|
271 |
$recovered_id = $value->recovered_cart;
|
272 |
$rec_order = get_post_meta( $recovered_id );
|
273 |
$woo_order = array();
|
274 |
try{
|
275 |
+
$woo_order = wc_get_order( $recovered_id );
|
276 |
if( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
277 |
$order = get_post( $recovered_id );
|
278 |
$recovered_date = strtotime ( $order->post_date );
|
321 |
$return_recovered_orders[ $i ]->recover_order_date = $recovered_date;
|
322 |
$return_recovered_orders[ $i ]->abandoned_date = $value->abandoned_cart_time;
|
323 |
$return_recovered_orders[ $i ]->order_total = wc_price($recovered_order_total);
|
324 |
+
|
325 |
$this->recovered_item = $recovered_item;
|
326 |
+
$this->total_recover_amount = round( ( $recovered_order_total + $this->total_recover_amount ), $number_decimal );
|
327 |
$i++;
|
328 |
}catch (Exception $e){
|
329 |
|
330 |
+
}
|
331 |
|
332 |
+
}
|
333 |
}
|
334 |
+
$this->total_order_amount = wc_price( $this->total_order_amount + $this->total_recover_amount );
|
335 |
+
$this->total_abandoned_cart_count = $this->total_abandoned_cart_count + $this->recovered_item;
|
336 |
$templates_count = count( $return_recovered_orders );
|
337 |
$this->total_count = $templates_count;
|
338 |
// sort for order date
|
includes/frontend/wcal_checkout_process.php
ADDED
@@ -0,0 +1,593 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Checkout Process for Abandoned Cart Lite
|
4 |
+
*
|
5 |
+
* @since 5.3.0
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly
|
9 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
10 |
+
|
11 |
+
if ( !class_exists( 'Wcal_Checkout_Process' ) ) {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Process recovered orders
|
15 |
+
*/
|
16 |
+
class Wcal_Checkout_Process {
|
17 |
+
|
18 |
+
function __construct() {
|
19 |
+
|
20 |
+
// delete added temp fields after order is placed
|
21 |
+
add_filter ( 'woocommerce_order_details_after_order_table', array( &$this, 'wcal_action_after_delivery_session' ) );
|
22 |
+
|
23 |
+
add_action( 'woocommerce_order_status_changed', array( &$this, 'wcal_update_cart_details' ), 10, 3);
|
24 |
+
add_action( 'woocommerce_order_status_changed', array( &$this, 'wcal_send_recovery_email' ), 10, 3);
|
25 |
+
|
26 |
+
add_action( 'woocommerce_checkout_order_processed', array( &$this, 'wcal_order_placed' ), 10 , 1 );
|
27 |
+
add_filter( 'woocommerce_payment_complete_order_status', array( &$this, 'wcal_order_complete_action' ), 10 , 2 );
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* When user places the order and reach the order recieved page, then it will check if it is abandoned cart and subsequently
|
32 |
+
* recovered or not.
|
33 |
+
* @hook woocommerce_order_details_after_order_table
|
34 |
+
* @param array | object $order Order details
|
35 |
+
* @globals mixed $wpdb
|
36 |
+
* @globals mixed $woocommerce
|
37 |
+
* @since 1.0
|
38 |
+
*/
|
39 |
+
function wcal_action_after_delivery_session( $order ) {
|
40 |
+
|
41 |
+
$order_id= $order->get_id();
|
42 |
+
|
43 |
+
$wcal_get_order_status = $order->get_status();
|
44 |
+
|
45 |
+
$get_abandoned_id_of_order = get_post_meta( $order_id, 'wcal_recover_order_placed', true );
|
46 |
+
$get_sent_email_id_of_order = get_post_meta( $order_id, 'wcal_recover_order_placed_sent_id', true );
|
47 |
+
|
48 |
+
if ( isset( $get_sent_email_id_of_order ) && '' != $get_sent_email_id_of_order ) {
|
49 |
+
/**
|
50 |
+
* When Placed order button is clicked,
|
51 |
+
* we create post meta for that order.
|
52 |
+
* If that meta is found then update our plugin table for recovered cart
|
53 |
+
*/
|
54 |
+
$this->wcal_updated_recovered_cart_table( $get_abandoned_id_of_order, $order_id, $get_sent_email_id_of_order, $order );
|
55 |
+
} else if ( '' != $get_abandoned_id_of_order && isset( $get_abandoned_id_of_order ) ){
|
56 |
+
/**
|
57 |
+
* if order status is not pending or failed then
|
58 |
+
* we will delete the abandoned cart record.
|
59 |
+
* post meta will be created only if the cut off time has been reached.
|
60 |
+
*/
|
61 |
+
$this->wcal_delete_abanadoned_data_on_order_status( $order_id , $get_abandoned_id_of_order, $wcal_get_order_status );
|
62 |
+
}
|
63 |
+
|
64 |
+
if ( wcal_common::wcal_get_cart_session( 'email_sent_id' ) != '' ) {
|
65 |
+
wcal_common::wcal_unset_cart_session( 'email_sent_id' );
|
66 |
+
}
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* If customer had placed the order after cut off time and reached the order recived page then it will also delete the abandoned cart if the order status is not pending or failed.
|
71 |
+
* @param int | string $order_id Order id
|
72 |
+
* @param int | string $get_abandoned_id_of_order Abandoned cart id
|
73 |
+
* @param string $wcal_get_order_status Order status
|
74 |
+
* @globals mixed $wpdb
|
75 |
+
* @globals mixed $woocommerce
|
76 |
+
* @since 5.0
|
77 |
+
*/
|
78 |
+
function wcal_delete_abanadoned_data_on_order_status( $order_id, $get_abandoned_id_of_order, $wcal_get_order_status ) {
|
79 |
+
|
80 |
+
global $wpdb, $woocommerce;
|
81 |
+
|
82 |
+
$wcal_history_table_name = $wpdb->prefix . 'ac_abandoned_cart_history_lite';
|
83 |
+
$wcal_guest_table_name = $wpdb->prefix . 'ac_guest_abandoned_cart_history_lite';
|
84 |
+
$wcal_sent_email_table_name = $wpdb->prefix . 'ac_sent_history_lite';
|
85 |
+
|
86 |
+
if ( 'pending' != $wcal_get_order_status || 'failed' != $wcal_get_order_status ) {
|
87 |
+
if ( isset( $get_abandoned_id_of_order ) && '' != $get_abandoned_id_of_order ){
|
88 |
+
|
89 |
+
$user_id_query = "SELECT user_id FROM `$wcal_history_table_name` WHERE id = %d";
|
90 |
+
$user_id_results = $wpdb->get_results(
|
91 |
+
$wpdb->prepare(
|
92 |
+
$user_id_query,
|
93 |
+
$get_abandoned_id_of_order
|
94 |
+
)
|
95 |
+
);
|
96 |
+
|
97 |
+
if ( count( $user_id_results ) > 0 ){
|
98 |
+
$wcal_user_id = $user_id_results[0]->user_id;
|
99 |
+
|
100 |
+
if ( $wcal_user_id >= 63000000 ){
|
101 |
+
$wpdb->delete( $wcal_guest_table_name, array( 'id' => $wcal_user_id ) );
|
102 |
+
}
|
103 |
+
|
104 |
+
$wpdb->delete( $wcal_history_table_name, array( 'id' => $get_abandoned_id_of_order ) );
|
105 |
+
delete_post_meta( $order_id, 'wcal_recover_order_placed', $get_abandoned_id_of_order );
|
106 |
+
}
|
107 |
+
}
|
108 |
+
}
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Updates the Abandoned Cart History table as well as the
|
113 |
+
* Email Sent History table to indicate the order has been
|
114 |
+
* recovered
|
115 |
+
*
|
116 |
+
* @param integer $cart_id - ID of the Abandoned Cart
|
117 |
+
* @param integer $order_id - Recovered Order ID
|
118 |
+
* @param integer $wcal_check_email_sent_to_cart - ID of the record in the Email Sent History table.
|
119 |
+
* @param WC_Order $order - Order Details
|
120 |
+
*
|
121 |
+
* @since 7.7
|
122 |
+
*/
|
123 |
+
function wcal_updated_recovered_cart_table( $cart_id, $order_id, $wcal_check_email_sent_to_cart, $order ) {
|
124 |
+
|
125 |
+
global $wpdb;
|
126 |
+
|
127 |
+
$wcal_history_table_name = $wpdb->prefix . 'ac_abandoned_cart_history_lite';
|
128 |
+
$wcal_guest_table_name = $wpdb->prefix . 'ac_guest_abandoned_cart_history_lite';
|
129 |
+
$wcal_sent_email_table_name = $wpdb->prefix . 'ac_sent_history_lite';
|
130 |
+
|
131 |
+
// check & make sure that the recovered cart details are not already updated
|
132 |
+
$query_status = "SELECT recovered_cart FROM `$wcal_history_table_name` WHERE id = %d";
|
133 |
+
|
134 |
+
$get_status = $wpdb->get_col(
|
135 |
+
$wpdb->prepare(
|
136 |
+
$query_status,
|
137 |
+
$cart_id
|
138 |
+
)
|
139 |
+
);
|
140 |
+
|
141 |
+
$recovered_status = isset( $get_status[0] ) ? $get_status[0] : '';
|
142 |
+
|
143 |
+
if( $recovered_status == 0 ) {
|
144 |
+
|
145 |
+
// Update the cart history table
|
146 |
+
$update_details = array(
|
147 |
+
'recovered_cart' => $order_id,
|
148 |
+
'cart_ignored' => '1',
|
149 |
+
);
|
150 |
+
|
151 |
+
$current_user_id = get_current_user_id();
|
152 |
+
|
153 |
+
if ( $current_user_id !== wcal_common::wcal_get_cart_session( 'user_id' ) &&
|
154 |
+
$current_user_id != 0 ) {
|
155 |
+
$update_details['user_id'] = $current_user_id;
|
156 |
+
}
|
157 |
+
|
158 |
+
// check if more than one reminder email has been sent
|
159 |
+
$check_emails = "SELECT abandoned_order_id FROM `$wcal_sent_email_table_name` WHERE id = %d";
|
160 |
+
$get_old_cart_id = $wpdb->get_col(
|
161 |
+
$wpdb->prepare(
|
162 |
+
$check_emails,
|
163 |
+
$wcal_check_email_sent_to_cart
|
164 |
+
)
|
165 |
+
);
|
166 |
+
|
167 |
+
$get_ids = array();
|
168 |
+
if( isset( $get_old_cart_id ) ) {
|
169 |
+
$query_ids = "SELECT id FROM `$wcal_sent_email_table_name` WHERE abandoned_order_id = %d";
|
170 |
+
$get_ids = $wpdb->get_col( $wpdb->prepare( $query_ids, $get_old_cart_id ) );
|
171 |
+
}
|
172 |
+
|
173 |
+
$update_sent_history = array();
|
174 |
+
|
175 |
+
if ( get_post_meta( $order_id, 'wcal_abandoned_timestamp', true ) != '' ) {
|
176 |
+
$update_details['abandoned_cart_time'] = get_post_meta( $order_id, 'wcal_abandoned_timestamp', true );
|
177 |
+
|
178 |
+
$update_sent_history['abandoned_order_id'] = $cart_id;
|
179 |
+
|
180 |
+
delete_post_meta( $order_id, 'wcal_abandoned_timestamp', $update_details['abandoned_cart_time'] );
|
181 |
+
}
|
182 |
+
|
183 |
+
$wpdb->update( $wcal_history_table_name, $update_details, array( 'id' => $cart_id ) );
|
184 |
+
|
185 |
+
// update the email sent history table
|
186 |
+
if( is_array( $get_ids ) && count( $get_ids ) > 1 ) {
|
187 |
+
$list_ids = implode( ',', $get_ids );
|
188 |
+
$wpdb->query( "UPDATE `$wcal_sent_email_table_name` SET abandoned_order_id = $cart_id WHERE id IN ($list_ids)" );
|
189 |
+
} else if ( isset( $update_sent_history['abandoned_order_id'] ) ) {
|
190 |
+
$wpdb->update(
|
191 |
+
$wcal_sent_email_table_name,
|
192 |
+
$update_sent_history,
|
193 |
+
array( 'id' => $wcal_check_email_sent_to_cart )
|
194 |
+
);
|
195 |
+
}
|
196 |
+
|
197 |
+
// Add Order Note
|
198 |
+
$order->add_order_note( __( 'This order was abandoned & subsequently recovered.', 'woocommerce-abandoned-cart' ) );
|
199 |
+
delete_post_meta( $order_id, 'wcal_abandoned_cart_id' );
|
200 |
+
delete_post_meta( $order_id, 'wcal_recover_order_placed' );
|
201 |
+
delete_post_meta( $order_id, 'wcal_recover_order_placed_sent_id' );
|
202 |
+
delete_post_meta( $order_id, 'wcal_recovered_email_sent' );
|
203 |
+
}
|
204 |
+
}
|
205 |
+
|
206 |
+
/**
|
207 |
+
* Send email to admin when cart is recovered only via PayPal.
|
208 |
+
* @hook woocommerce_order_status_changed
|
209 |
+
* @param int | string $order_id Order id
|
210 |
+
* @param string $wc_old_status Old status
|
211 |
+
* @param string $wc_new_status New status
|
212 |
+
* @globals mixed $wpdb
|
213 |
+
* @globals mixed $woocommerce
|
214 |
+
* @since 2.9
|
215 |
+
*/
|
216 |
+
public function wcal_update_cart_details( $order_id, $wc_old_status, $wc_new_status ) {
|
217 |
+
|
218 |
+
if( 'pending' != $wc_new_status &&
|
219 |
+
'failed' != $wc_new_status &&
|
220 |
+
'cancelled' != $wc_new_status &&
|
221 |
+
'trash' != $wc_new_status ) {
|
222 |
+
|
223 |
+
global $wpdb;
|
224 |
+
|
225 |
+
$wcal_history_table_name = $wpdb->prefix . 'ac_abandoned_cart_history_lite';
|
226 |
+
$wcal_guest_table_name = $wpdb->prefix . 'ac_guest_abandoned_cart_history_lite';
|
227 |
+
$wcal_sent_email_table_name = $wpdb->prefix . 'ac_sent_history_lite';
|
228 |
+
|
229 |
+
if( $order_id > 0 ) {
|
230 |
+
$get_abandoned_id_of_order = get_post_meta( $order_id, 'wcal_recover_order_placed', true );
|
231 |
+
|
232 |
+
if( $get_abandoned_id_of_order > 0 || wcal_common::wcal_get_cart_session( 'email_sent_id' ) != '' ) {
|
233 |
+
// recovered order
|
234 |
+
} else {
|
235 |
+
|
236 |
+
$wcal_abandoned_id = get_post_meta( $order_id, 'wcal_abandoned_cart_id', true );
|
237 |
+
|
238 |
+
// check if it's a guest cart
|
239 |
+
$query_cart_data = "SELECT user_id, user_type FROM `$wcal_history_table_name` WHERE id = %d";
|
240 |
+
$get_cart_data = $wpdb->get_results(
|
241 |
+
$wpdb->prepare(
|
242 |
+
$query_cart_data,
|
243 |
+
$wcal_abandoned_id
|
244 |
+
)
|
245 |
+
);
|
246 |
+
|
247 |
+
if( is_array( $get_cart_data ) && count( $get_cart_data ) > 0 ) {
|
248 |
+
$user_type = $get_cart_data[0]->user_type;
|
249 |
+
$user_id = $get_cart_data[0]->user_id;
|
250 |
+
|
251 |
+
if( 'GUEST' == $user_type && $user_id >= 63000000 ) {
|
252 |
+
$wpdb->delete( $wcal_guest_table_name, array( 'id' => $user_id ) );
|
253 |
+
}
|
254 |
+
}
|
255 |
+
$wpdb->delete( $wcal_history_table_name, array( 'id' => $wcal_abandoned_id ) );
|
256 |
+
}
|
257 |
+
}
|
258 |
+
}elseif ( 'pending' == $wc_old_status && 'cancelled' == $wc_new_status ) {
|
259 |
+
global $wpdb;
|
260 |
+
|
261 |
+
$wcal_history_table_name = $wpdb->prefix . 'ac_abandoned_cart_history_lite';
|
262 |
+
$wcal_abandoned_id = get_post_meta( $order_id, 'wcal_abandoned_cart_id', true );
|
263 |
+
|
264 |
+
$wpdb->update( $wcal_history_table_name, array( 'cart_ignored' => '1' ), array( 'id' => $wcal_abandoned_id ) );
|
265 |
+
}
|
266 |
+
}
|
267 |
+
|
268 |
+
/**
|
269 |
+
* This function will send the email to the store admin when any abandoned cart email recovered.
|
270 |
+
* @hook woocommerce_order_status_changed
|
271 |
+
* @param int | string $order_id Order id
|
272 |
+
* @param string $wcap_old_status Old status of the order
|
273 |
+
* @param string $wcap_new_status New status of the order
|
274 |
+
* @globals mixed $woocommerce
|
275 |
+
* @since 1.0
|
276 |
+
*/
|
277 |
+
function wcal_send_recovery_email( $order_id, $wcap_old_status, $wcap_new_status ) {
|
278 |
+
global $woocommerce;
|
279 |
+
|
280 |
+
if ( ( 'pending' == $wcap_old_status && 'processing' == $wcap_new_status )
|
281 |
+
|| ( 'pending' == $wcap_old_status && 'completed' == $wcap_new_status )
|
282 |
+
|| ( 'pending' == $wcap_old_status && 'on-hold' == $wcap_new_status )
|
283 |
+
|| ( 'failed' == $wcap_old_status && 'completed' == $wcap_new_status )
|
284 |
+
|| ( 'failed' == $wcap_old_status && 'processing' == $wcap_new_status )
|
285 |
+
) {
|
286 |
+
$user_id = get_current_user_id();
|
287 |
+
$ac_email_admin_recovery = get_option( 'ac_lite_email_admin_on_recovery' );
|
288 |
+
$order = wc_get_order( $order_id );
|
289 |
+
if( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
290 |
+
$user_id = $order->get_user_id();
|
291 |
+
} else {
|
292 |
+
$user_id = $order->user_id;
|
293 |
+
}
|
294 |
+
if( $ac_email_admin_recovery == 'on' ) {
|
295 |
+
$recovered_email_sent = get_post_meta( $order_id, 'wcal_recovered_email_sent', true );
|
296 |
+
$wcal_check_order_is_recovered = $this->wcal_check_order_is_recovered ( $order_id );
|
297 |
+
|
298 |
+
if ( 'yes' != $recovered_email_sent && true === $wcal_check_order_is_recovered ) { // indicates cart is abandoned
|
299 |
+
$order = wc_get_order( $order_id );
|
300 |
+
$email_heading = __( 'New Customer Order - Recovered', 'woocommerce' );
|
301 |
+
$blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
|
302 |
+
$email_subject = __( 'New Customer Order - Recovered', 'woocommerce' );
|
303 |
+
$user_email = get_option( 'admin_email' );
|
304 |
+
$headers[] = "From: Admin <".$user_email.">";
|
305 |
+
$headers[] = "Content-Type: text/html";
|
306 |
+
// Buffer
|
307 |
+
ob_start();
|
308 |
+
// Get mail template
|
309 |
+
wc_get_template(
|
310 |
+
'emails/admin-new-order.php',
|
311 |
+
array(
|
312 |
+
'order' => $order,
|
313 |
+
'email_heading' => $email_heading,
|
314 |
+
'sent_to_admin' => false,
|
315 |
+
'plain_text' => false,
|
316 |
+
'email' => true
|
317 |
+
)
|
318 |
+
);
|
319 |
+
// Get contents
|
320 |
+
$email_body = ob_get_clean();
|
321 |
+
wc_mail( $user_email, $email_subject, $email_body, $headers );
|
322 |
+
|
323 |
+
update_post_meta( $order_id, 'wcal_recovered_email_sent', 'yes' );
|
324 |
+
}
|
325 |
+
}
|
326 |
+
}
|
327 |
+
}
|
328 |
+
|
329 |
+
/**
|
330 |
+
* For sending Recovery Email to Admin, we will check that order is recovered or not.
|
331 |
+
* @param int | string $wcal_order_id Order id
|
332 |
+
* @return boolean true | false
|
333 |
+
* @globals mixed $wpdb
|
334 |
+
* @since 2.3
|
335 |
+
*/
|
336 |
+
function wcal_check_order_is_recovered( $wcal_order_id ) {
|
337 |
+
global $wpdb;
|
338 |
+
$wcal_recover_order_query = "SELECT recovered_cart FROM `" . $wpdb->prefix . "ac_abandoned_cart_history_lite` WHERE recovered_cart = %d";
|
339 |
+
$wcal_recover_order_query_result = $wpdb->get_results( $wpdb->prepare( $wcal_recover_order_query, $wcal_order_id ) );
|
340 |
+
if ( count( $wcal_recover_order_query_result ) > 0 ) {
|
341 |
+
return true;
|
342 |
+
}
|
343 |
+
return false;
|
344 |
+
}
|
345 |
+
|
346 |
+
/**
|
347 |
+
* It will check the WooCommerce order status. If the order status is pending or failed the we will keep that cart record
|
348 |
+
* as an abandoned cart.
|
349 |
+
* It will be executed after order placed.
|
350 |
+
* @hook woocommerce_payment_complete_order_status
|
351 |
+
* @param string $order_status Order Status
|
352 |
+
* @param int | string $order_id Order Id
|
353 |
+
* @return string $order_status
|
354 |
+
* @globals mixed $wpdb
|
355 |
+
* @since 3.4
|
356 |
+
*/
|
357 |
+
public function wcal_order_complete_action( $woo_order_status, $order_id ) {
|
358 |
+
|
359 |
+
global $wpdb;
|
360 |
+
|
361 |
+
$order = wc_get_order( $order_id );
|
362 |
+
|
363 |
+
$get_abandoned_id_of_order = get_post_meta( $order_id, 'wcal_recover_order_placed', true );
|
364 |
+
$get_sent_email_id_of_order = get_post_meta( $order_id, 'wcal_recover_order_placed_sent_id', true );
|
365 |
+
|
366 |
+
// Order Status passed in the function is either
|
367 |
+
// 'processing' or 'complete' and may or may not reflect the actual order status.
|
368 |
+
// Hence, always use the status fetched from the order object.
|
369 |
+
|
370 |
+
$order_status = ( $order ) ? $order->get_status() : '';
|
371 |
+
|
372 |
+
$wcal_ac_table_name = $wpdb->prefix . "ac_abandoned_cart_history_lite";
|
373 |
+
$wcal_email_sent_history_table_name = $wpdb->prefix . "ac_sent_history_lite";
|
374 |
+
$wcal_guest_ac_table_name = $wpdb->prefix . "ac_guest_abandoned_cart_history_lite";
|
375 |
+
|
376 |
+
if ( 'pending' != $order_status && 'failed' != $order_status && 'cancelled' != $order_status && 'trash' != $order_status) {
|
377 |
+
global $wpdb;
|
378 |
+
|
379 |
+
if ( isset( $get_abandoned_id_of_order ) && '' != $get_abandoned_id_of_order ){
|
380 |
+
|
381 |
+
$ac_user_id_query = "SELECT user_id, abandoned_cart_time FROM `$wcal_ac_table_name` WHERE id = %d";
|
382 |
+
$ac_user_id_result = $wpdb->get_results(
|
383 |
+
$wpdb->prepare(
|
384 |
+
$ac_user_id_query,
|
385 |
+
$get_abandoned_id_of_order
|
386 |
+
)
|
387 |
+
);
|
388 |
+
|
389 |
+
if ( count( $ac_user_id_result ) > 0 ){
|
390 |
+
$wcal_user_id = $ac_user_id_result[0]->user_id;
|
391 |
+
|
392 |
+
if ( $wcal_user_id >= 63000000 ){
|
393 |
+
add_post_meta( $order_id , 'wcal_abandoned_timestamp', $ac_user_id_result[0]->abandoned_cart_time );
|
394 |
+
|
395 |
+
$wpdb->delete( $wcal_guest_ac_table_name, array( 'id' => $wcal_user_id ) );
|
396 |
+
}
|
397 |
+
|
398 |
+
$wpdb->delete( $wcal_ac_table_name, array( 'id' => $get_abandoned_id_of_order ) );
|
399 |
+
delete_post_meta( $order_id, 'wcal_recover_order_placed', $get_abandoned_id_of_order );
|
400 |
+
}
|
401 |
+
}
|
402 |
+
}
|
403 |
+
|
404 |
+
if( 'pending' != $woo_order_status &&
|
405 |
+
'failed' != $woo_order_status &&
|
406 |
+
'cancelled' != $woo_order_status &&
|
407 |
+
'trash' != $woo_order_status ) {
|
408 |
+
|
409 |
+
if ( isset( $get_sent_email_id_of_order ) && '' != $get_sent_email_id_of_order ) {
|
410 |
+
$this->wcal_updated_recovered_cart( $get_abandoned_id_of_order, $order_id, $get_sent_email_id_of_order, $order );
|
411 |
+
}
|
412 |
+
}
|
413 |
+
|
414 |
+
return $woo_order_status;
|
415 |
+
}
|
416 |
+
|
417 |
+
/**
|
418 |
+
* Updates the Abandoned Cart History table as well as the
|
419 |
+
* Email Sent History table to indicate the order has been
|
420 |
+
* recovered
|
421 |
+
*
|
422 |
+
* @param integer $cart_id - ID of the Abandoned Cart
|
423 |
+
* @param integer $order_id - Recovered Order ID
|
424 |
+
* @param integer $wcal_check_email_sent_to_cart - ID of the record in the Email Sent History table.
|
425 |
+
* @param WC_Order $order - Order Details
|
426 |
+
*
|
427 |
+
* @since 5.3.0
|
428 |
+
*/
|
429 |
+
function wcal_updated_recovered_cart( $cart_id, $order_id, $wcal_check_email_sent_to_cart, $order ) {
|
430 |
+
|
431 |
+
global $wpdb;
|
432 |
+
|
433 |
+
$wcal_ac_table_name = $wpdb->prefix . "ac_abandoned_cart_history_lite";
|
434 |
+
$wcal_email_sent_table = $wpdb->prefix . "ac_sent_history_lite";
|
435 |
+
$wcal_guest_ac_table = $wpdb->prefix . "ac_guest_abandoned_cart_history_lite";
|
436 |
+
|
437 |
+
// check & make sure that the recovered cart details are not already updated
|
438 |
+
$query_status = "SELECT recovered_cart FROM `$wcal_ac_table_name` WHERE id = %d";
|
439 |
+
|
440 |
+
$get_status = $wpdb->get_col( $wpdb->prepare( $query_status, $cart_id ) );
|
441 |
+
|
442 |
+
$recovered_status = isset( $get_status[0] ) ? $get_status[0] : '';
|
443 |
+
|
444 |
+
if( $recovered_status == 0 ) {
|
445 |
+
// Update the cart history table
|
446 |
+
$update_details = array(
|
447 |
+
'recovered_cart' => $order_id,
|
448 |
+
'cart_ignored' => '1'
|
449 |
+
);
|
450 |
+
|
451 |
+
$current_user_id = get_current_user_id();
|
452 |
+
|
453 |
+
if ( $current_user_id !== wcal_common::wcal_get_cart_session( 'user_id' ) &&
|
454 |
+
$current_user_id != 0 ) {
|
455 |
+
$update_details['user_id'] = $current_user_id;
|
456 |
+
}
|
457 |
+
|
458 |
+
// check if more than one reminder email has been sent
|
459 |
+
$check_emails = "SELECT abandoned_order_id FROM `$wcal_email_sent_table` WHERE id = %d";
|
460 |
+
$get_old_cart_id = $wpdb->get_col( $wpdb->prepare( $check_emails, $wcal_check_email_sent_to_cart ) );
|
461 |
+
|
462 |
+
$get_ids = array();
|
463 |
+
if( isset( $get_old_cart_id ) ) {
|
464 |
+
$query_ids = "SELECT id FROM `$wcal_email_sent_table` WHERE abandoned_order_id = %d";
|
465 |
+
$get_ids = $wpdb->get_col( $wpdb->prepare( $query_ids, $get_old_cart_id ) );
|
466 |
+
}
|
467 |
+
|
468 |
+
$update_sent_history = array();
|
469 |
+
|
470 |
+
if ( get_post_meta( $order_id, 'wcal_abandoned_timestamp', true ) != '' ) {
|
471 |
+
$update_details['abandoned_cart_time'] = get_post_meta( $order_id, 'wcal_abandoned_timestamp', true );
|
472 |
+
|
473 |
+
$update_sent_history['abandoned_order_id'] = $cart_id;
|
474 |
+
|
475 |
+
delete_post_meta( $order_id, 'wcal_abandoned_timestamp', $update_details['abandoned_cart_time'] );
|
476 |
+
}
|
477 |
+
|
478 |
+
$wpdb->update( $wcal_ac_table_name, $update_details, array( 'id' => $cart_id ) );
|
479 |
+
|
480 |
+
// update the email sent history table
|
481 |
+
if( is_array( $get_ids ) && count( $get_ids ) > 1 ) {
|
482 |
+
$list_ids = implode( ',', $get_ids );
|
483 |
+
$wpdb->query( "UPDATE `$wcal_email_sent_table` SET abandoned_order_id = $cart_id WHERE id IN ($list_ids)" );
|
484 |
+
} else if( isset( $update_sent_history['abandoned_order_id'] ) ) {
|
485 |
+
$wpdb->update(
|
486 |
+
$wcal_email_sent_table,
|
487 |
+
$update_sent_history,
|
488 |
+
array( 'id' => $wcal_check_email_sent_to_cart )
|
489 |
+
);
|
490 |
+
}
|
491 |
+
|
492 |
+
// Add Order Note
|
493 |
+
$order->add_order_note( __( 'This order was abandoned & subsequently recovered.', 'woocommerce-abandoned-cart' ) );
|
494 |
+
delete_post_meta( $order_id, 'wcal_abandoned_cart_id' );
|
495 |
+
delete_post_meta( $order_id, 'wcal_recover_order_placed' );
|
496 |
+
delete_post_meta( $order_id, 'wcal_recover_order_placed_sent_id' );
|
497 |
+
delete_post_meta( $order_id, 'wcal_recovered_email_sent' );
|
498 |
+
}
|
499 |
+
}
|
500 |
+
|
501 |
+
/**
|
502 |
+
* When customer clicks on the "Place Order" button on the checkout page, it will identify if we need to keep that cart or
|
503 |
+
* delete it.
|
504 |
+
* @hook woocommerce_checkout_order_processed
|
505 |
+
* @param int | string $order_id Order id
|
506 |
+
* @globals mixed $wpdb
|
507 |
+
* @globals mixed $woocommerce
|
508 |
+
*
|
509 |
+
* @since 3.4
|
510 |
+
*/
|
511 |
+
function wcal_order_placed( $order_id ) {
|
512 |
+
|
513 |
+
global $wpdb;
|
514 |
+
$email_sent_id = wcal_common::wcal_get_cart_session( 'email_sent_id' );
|
515 |
+
$abandoned_order_id = wcal_common::wcal_get_cart_session( 'abandoned_cart_id_lite' );
|
516 |
+
$wcal_user_id_of_guest = wcal_common::wcal_get_cart_session( 'user_id' );
|
517 |
+
|
518 |
+
$wcal_history_table_name = $wpdb->prefix . 'ac_abandoned_cart_history_lite';
|
519 |
+
$wcal_guest_table_name = $wpdb->prefix . 'ac_guest_abandoned_cart_history_lite';
|
520 |
+
$wcal_sent_email_table_name = $wpdb->prefix . 'ac_sent_history_lite';
|
521 |
+
|
522 |
+
$abandoned_order_id_to_save = $abandoned_order_id;
|
523 |
+
if( $email_sent_id != '' && $email_sent_id > 0 ) { // recovered cart
|
524 |
+
|
525 |
+
if( $abandoned_order_id == '' || $abandoned_order_id == false ) {
|
526 |
+
|
527 |
+
$get_ac_id_query = "SELECT abandoned_order_id FROM `$wcal_sent_email_table_name` WHERE id = %d";
|
528 |
+
$get_ac_id_results = $wpdb->get_results(
|
529 |
+
$wpdb->prepare(
|
530 |
+
$get_ac_id_query,
|
531 |
+
$email_sent_id
|
532 |
+
)
|
533 |
+
);
|
534 |
+
|
535 |
+
$abandoned_order_id_to_save = $get_ac_id_results[0]->abandoned_order_id;
|
536 |
+
}
|
537 |
+
|
538 |
+
// if user becomes the registered user
|
539 |
+
if ( ( isset( $_POST['account_password'] ) && $_POST['account_password'] != '' ) ||
|
540 |
+
( isset( $_POST['createaccount'] ) && $_POST['createaccount'] != '' ) ||
|
541 |
+
( !isset( $_POST['createaccount'] ) && 'no' == get_option( 'woocommerce_enable_guest_checkout' ) ) ) {
|
542 |
+
|
543 |
+
if ( $abandoned_order_id != '' && $wcal_user_id_of_guest != '' ) {
|
544 |
+
$abandoned_cart_id_new_user = $abandoned_order_id;
|
545 |
+
|
546 |
+
// delete the guest record. As it become the logged in user
|
547 |
+
$get_ac_id_guest_query = "SELECT id, abandoned_cart_time FROM `$wcal_history_table_name` WHERE user_id = %d ORDER BY id DESC";
|
548 |
+
$get_ac_id_guest_results = $wpdb->get_results(
|
549 |
+
$wpdb->prepare(
|
550 |
+
$get_ac_id_guest_query,
|
551 |
+
$wcal_user_id_of_guest
|
552 |
+
)
|
553 |
+
);
|
554 |
+
|
555 |
+
if( is_array( $get_ac_id_guest_results ) && count( $get_ac_id_guest_results ) > 0 ) {
|
556 |
+
$abandoned_order_id_of_guest = $get_ac_id_guest_results[0]->id;
|
557 |
+
|
558 |
+
add_post_meta( $order_id , 'wcal_abandoned_timestamp', $get_ac_id_guest_results[0]->abandoned_cart_time );
|
559 |
+
|
560 |
+
$wpdb->delete( $wcal_guest_table_name , array( 'id' => $wcal_user_id_of_guest ) );
|
561 |
+
}
|
562 |
+
// it is the new registered users cart id
|
563 |
+
$abandoned_order_id_to_save = $abandoned_cart_id_new_user;
|
564 |
+
}
|
565 |
+
}
|
566 |
+
|
567 |
+
add_post_meta( $order_id , 'wcal_recover_order_placed_sent_id', $email_sent_id );
|
568 |
+
add_post_meta( $order_id , 'wcal_recover_order_placed', $abandoned_order_id );
|
569 |
+
}else if ( $abandoned_order_id != '' ){
|
570 |
+
|
571 |
+
if ( ( isset( $_POST['account_password'] ) && $_POST['account_password'] != '' ) ||
|
572 |
+
( isset( $_POST['createaccount'] ) && $_POST['createaccount'] != '' ) ||
|
573 |
+
( !isset( $_POST['createaccount'] ) && 'no' == get_option( 'woocommerce_enable_guest_checkout' ) ) ) {
|
574 |
+
|
575 |
+
if ( $abandoned_order_id != '' && $wcal_user_id_of_guest != '' ) {
|
576 |
+
$abandoned_cart_id_new_user = $abandoned_order_id;
|
577 |
+
|
578 |
+
// delete the guest record. As it become the logged in user
|
579 |
+
$wpdb->delete( $wcal_history_table_name, array( 'user_id' => $wcal_user_id_of_guest ) );
|
580 |
+
$wpdb->delete( $wcal_guest_table_name , array( 'id' => $wcal_user_id_of_guest ) );
|
581 |
+
|
582 |
+
// it is the new registered users cart id
|
583 |
+
$abandoned_order_id_to_save = $abandoned_cart_id_new_user;
|
584 |
+
}
|
585 |
+
}
|
586 |
+
}
|
587 |
+
|
588 |
+
add_post_meta( $order_id, 'wcal_abandoned_cart_id', $abandoned_order_id_to_save );
|
589 |
+
}
|
590 |
+
}
|
591 |
+
}
|
592 |
+
|
593 |
+
return new Wcal_Checkout_Process();
|
includes/frontend/wcal_frontend.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Frontend loader for Abandoned Cart Lite
|
4 |
+
*
|
5 |
+
* @since 5.3.0
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Exit if accessed directly
|
9 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
10 |
+
|
11 |
+
if ( !class_exists( 'Wcal_Frontend' ) ) {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Frontend loader
|
15 |
+
*/
|
16 |
+
class Wcal_Frontend {
|
17 |
+
|
18 |
+
function __construct() {
|
19 |
+
|
20 |
+
$this->include_files();
|
21 |
+
}
|
22 |
+
|
23 |
+
function include_files() {
|
24 |
+
|
25 |
+
include_once 'wcal_checkout_process.php';
|
26 |
+
}
|
27 |
+
}
|
28 |
+
}
|
29 |
+
|
30 |
+
return new Wcal_Frontend();
|
includes/wcal-common.php
CHANGED
@@ -682,61 +682,69 @@ class wcal_common {
|
|
682 |
|
683 |
$quantity_total = $v->quantity;
|
684 |
$product_id = $v->product_id;
|
685 |
-
$
|
686 |
-
$
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
$
|
697 |
-
if ( $
|
698 |
-
$wcap_sku =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
699 |
}
|
700 |
-
$
|
701 |
-
|
702 |
-
$
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
$explode_many_varaition = array();
|
710 |
-
foreach( $pro_name_variation as $pro_name_variation_key => $pro_name_variation_value ) {
|
711 |
-
$explode_many_varaition = explode ( ",", $pro_name_variation_value );
|
712 |
-
if( !empty( $explode_many_varaition ) ) {
|
713 |
-
foreach( $explode_many_varaition as $explode_many_varaition_key => $explode_many_varaition_value ) {
|
714 |
$product_name_with_variable = $product_name_with_variable . html_entity_decode ( $explode_many_varaition_value ) . "<br>";
|
715 |
}
|
716 |
-
} else {
|
717 |
-
$product_name_with_variable = $product_name_with_variable . html_entity_decode ( $explode_many_varaition_value ) . "<br>";
|
718 |
}
|
|
|
719 |
}
|
720 |
-
$product_name = $product_name_with_variable;
|
721 |
}
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
727 |
} else {
|
728 |
-
$
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
$item_total = wc_price( $item_total );
|
734 |
-
$item_subtotal = wc_price( $item_subtotal );
|
735 |
-
|
736 |
-
$item_details[ 'product_name' ] = $product_name;
|
737 |
-
$item_details[ 'item_total_formatted' ] = $item_subtotal;
|
738 |
-
$item_details[ 'item_total' ] = $item_total;
|
739 |
-
$item_details[ 'qty' ] = $quantity_total;
|
740 |
|
741 |
return $item_details;
|
742 |
}
|
@@ -760,6 +768,9 @@ class wcal_common {
|
|
760 |
* @since 7.11.0
|
761 |
*/
|
762 |
public static function wcal_get_cart_session( $session_key ) {
|
|
|
|
|
|
|
763 |
return WC()->session->get( $session_key );
|
764 |
}
|
765 |
|
682 |
|
683 |
$quantity_total = $v->quantity;
|
684 |
$product_id = $v->product_id;
|
685 |
+
$product = wc_get_product( $product_id );
|
686 |
+
if ( $product ) {
|
687 |
+
$prod_name = get_post( $product_id );
|
688 |
+
$product_name = $prod_name->post_title;
|
689 |
+
|
690 |
+
if ( isset( $v->variation_id ) && '' != $v->variation_id ) {
|
691 |
+
$variation_id = $v->variation_id;
|
692 |
+
$variation = wc_get_product( $variation_id );
|
693 |
+
|
694 |
+
if( false != $variation ) {
|
695 |
+
$name = $variation->get_formatted_name() ;
|
696 |
+
$explode_all = explode ( "–", $name );
|
697 |
+
if( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
698 |
+
$wcap_sku = '';
|
699 |
+
if ( $variation->get_sku() ) {
|
700 |
+
$wcap_sku = "SKU: " . $variation->get_sku() . "<br>";
|
701 |
+
}
|
702 |
+
$wcap_get_formatted_variation = wc_get_formatted_variation( $variation, true );
|
703 |
+
|
704 |
+
$add_product_name = $product_name . ' - ' . $wcap_sku . $wcap_get_formatted_variation;
|
705 |
+
|
706 |
+
$pro_name_variation = (array) $add_product_name;
|
707 |
+
}else{
|
708 |
+
$pro_name_variation = array_slice( $explode_all, 1, -1 );
|
709 |
}
|
710 |
+
$product_name_with_variable = '';
|
711 |
+
$explode_many_varaition = array();
|
712 |
+
foreach( $pro_name_variation as $pro_name_variation_key => $pro_name_variation_value ) {
|
713 |
+
$explode_many_varaition = explode ( ",", $pro_name_variation_value );
|
714 |
+
if( !empty( $explode_many_varaition ) ) {
|
715 |
+
foreach( $explode_many_varaition as $explode_many_varaition_key => $explode_many_varaition_value ) {
|
716 |
+
$product_name_with_variable = $product_name_with_variable . html_entity_decode ( $explode_many_varaition_value ) . "<br>";
|
717 |
+
}
|
718 |
+
} else {
|
|
|
|
|
|
|
|
|
|
|
719 |
$product_name_with_variable = $product_name_with_variable . html_entity_decode ( $explode_many_varaition_value ) . "<br>";
|
720 |
}
|
|
|
|
|
721 |
}
|
722 |
+
$product_name = $product_name_with_variable;
|
723 |
}
|
|
|
724 |
}
|
725 |
+
$item_subtotal = 0;
|
726 |
+
// Item subtotal is calculated as product total including taxes
|
727 |
+
if ( $v->line_subtotal_tax != 0 && $v->line_subtotal_tax > 0 ) {
|
728 |
+
$item_subtotal = $item_subtotal + $v->line_total + $v->line_subtotal_tax;
|
729 |
+
} else {
|
730 |
+
$item_subtotal = $item_subtotal + $v->line_total;
|
731 |
+
}
|
732 |
+
// Line total
|
733 |
+
$item_total = $item_subtotal;
|
734 |
+
$item_subtotal = $item_subtotal / $quantity_total;
|
735 |
+
$item_total = wc_price( $item_total );
|
736 |
+
$item_subtotal = wc_price( $item_subtotal );
|
737 |
+
|
738 |
+
$item_details[ 'product_name' ] = $product_name;
|
739 |
+
$item_details[ 'item_total_formatted' ] = $item_subtotal;
|
740 |
+
$item_details[ 'item_total' ] = $item_total;
|
741 |
+
$item_details[ 'qty' ] = $quantity_total;
|
742 |
} else {
|
743 |
+
$item_details[ 'product_name' ] = __( 'This product no longer exists', 'woocommerce-abandoned-cart' );
|
744 |
+
$item_details[ 'item_total_formatted' ] = '';
|
745 |
+
$item_details[ 'item_total' ] = '';
|
746 |
+
$item_details[ 'qty' ] = '';
|
747 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
748 |
|
749 |
return $item_details;
|
750 |
}
|
768 |
* @since 7.11.0
|
769 |
*/
|
770 |
public static function wcal_get_cart_session( $session_key ) {
|
771 |
+
if ( ! is_object( WC()->session ) ) {
|
772 |
+
return false;
|
773 |
+
}
|
774 |
return WC()->session->get( $session_key );
|
775 |
}
|
776 |
|
includes/wcal_admin_notice.php
CHANGED
@@ -34,7 +34,7 @@ class Wcal_Admin_Notice {
|
|
34 |
|
35 |
foreach ( $results as $key => $value) {
|
36 |
if ( $value->Collation !== 'utf8mb4_unicode_ci' ) {
|
37 |
-
printf( __( '<div id="wcal_update" class="updated woocommerce-message" style="padding:15px;"><span>We need to update your email template database for some improvements. Please take a backup of your databases for your
|
38 |
break;
|
39 |
}
|
40 |
}
|
34 |
|
35 |
foreach ( $results as $key => $value) {
|
36 |
if ( $value->Collation !== 'utf8mb4_unicode_ci' ) {
|
37 |
+
printf( __( '<div id="wcal_update" class="updated woocommerce-message" style="padding:15px;"><span>We need to update your email template database for some improvements. Please take a backup of your databases for your piece of mind</span><span class="submit"><a href="%s" class="button-primary" style="float:right;">Update</a></span></div>', 'woocommerce-abandoned-cart' ), 'admin.php?page=woocommerce_ac_page&action=listcart&ac_update=email_templates' );
|
38 |
break;
|
39 |
}
|
40 |
}
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
|
2 |
=== Abandoned Cart Lite for WooCommerce ===
|
3 |
Contributors: ashokrane, pinal.shah, bhavik.kiri, chetnapatel, tychesoftwares, dhruvin
|
4 |
Tags: abandon cart, cart recovery, increase woocommerce conversion rate , recover woocommerce cart, increase sales with woocommerce
|
5 |
Author URI: https://www.tychesoftwares.com/
|
6 |
Requires at least: 1.3
|
7 |
-
Tested up to: 5.
|
8 |
Stable tag: trunk
|
9 |
License: GPLv2 or late
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -193,6 +193,20 @@ You can refer **[here](https://www.tychesoftwares.com/differences-between-pro-an
|
|
193 |
|
194 |
== Changelog ==
|
195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
= 5.2.1 (18.02.2019) =
|
197 |
|
198 |
* Bug - Fixed an issue where ajax url was missing for some sites preventing emails to be captured.
|
@@ -297,7 +311,7 @@ Bug Fix - The website was crashing as the folder name for the plugin was not cha
|
|
297 |
|
298 |
* New feature - Abandoned Cart details will now be exported to the User's Personal Data from the Tools -> Export Personal Data menu and it can be erased from Tools -> Erase Personal Data.
|
299 |
|
300 |
-
* Bug Fixed - Some notices are fixed
|
301 |
|
302 |
= 4.8 (20.03-2018) =
|
303 |
* This is a minor update to the plugin which contains some bug fixes and requires Database update to include emojis in the email templates. We recommend that you take a backup of the database of your store for your piece of mind.
|
1 |
+
|
2 |
=== Abandoned Cart Lite for WooCommerce ===
|
3 |
Contributors: ashokrane, pinal.shah, bhavik.kiri, chetnapatel, tychesoftwares, dhruvin
|
4 |
Tags: abandon cart, cart recovery, increase woocommerce conversion rate , recover woocommerce cart, increase sales with woocommerce
|
5 |
Author URI: https://www.tychesoftwares.com/
|
6 |
Requires at least: 1.3
|
7 |
+
Tested up to: 5.0
|
8 |
Stable tag: trunk
|
9 |
License: GPLv2 or late
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
193 |
|
194 |
== Changelog ==
|
195 |
|
196 |
+
= 5.3.0 (26.03.2019) =
|
197 |
+
|
198 |
+
* Enhancement - Corrected the way recovered orders were tracked. Replaced the hooks tracking orders.
|
199 |
+
|
200 |
+
* Bug - Newly created Email Templates will be inactive by default.
|
201 |
+
|
202 |
+
* Bug - When an email template is activated, the emails will not be sent to older abandoned carts.
|
203 |
+
|
204 |
+
* Bug - Fixed an issue where Recovered Order note was getting added to all the Orders.
|
205 |
+
|
206 |
+
* Bug - Fixed an issue where notices were getting displayed in abandoned details page if the product was deleted.
|
207 |
+
|
208 |
+
* Tweak - Updated the pot file with some new strings added. Also corrected the display of a few strings.
|
209 |
+
|
210 |
= 5.2.1 (18.02.2019) =
|
211 |
|
212 |
* Bug - Fixed an issue where ajax url was missing for some sites preventing emails to be captured.
|
311 |
|
312 |
* New feature - Abandoned Cart details will now be exported to the User's Personal Data from the Tools -> Export Personal Data menu and it can be erased from Tools -> Erase Personal Data.
|
313 |
|
314 |
+
* Bug Fixed - Some notices are fixed of the debug.log file.
|
315 |
|
316 |
= 4.8 (20.03-2018) =
|
317 |
* This is a minor update to the plugin which contains some bug fixes and requires Database update to include emojis in the email templates. We recommend that you take a backup of the database of your store for your piece of mind.
|
uninstall.php
ADDED
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Abandoned Cart Lite for WooCommerce Uninstall
|
4 |
+
*
|
5 |
+
* Uninstalling Abandoned Cart Lite for WooCommerce deletes tables, and options.
|
6 |
+
*
|
7 |
+
* @author Tyche Softwares
|
8 |
+
* @package Abandoned-Cart-Lite-for-WooCommerce/Uninstaller
|
9 |
+
* @version 5.3.0
|
10 |
+
*/
|
11 |
+
|
12 |
+
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
|
16 |
+
global $wpdb;
|
17 |
+
|
18 |
+
wp_clear_scheduled_hook( 'woocommerce_ac_send_email_action' );
|
19 |
+
|
20 |
+
if ( ! is_multisite() ) {
|
21 |
+
$table_name_ac_abandoned_cart_history = $wpdb->prefix . "ac_abandoned_cart_history_lite";
|
22 |
+
$sql_ac_abandoned_cart_history = "DROP TABLE " . $table_name_ac_abandoned_cart_history ;
|
23 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
24 |
+
$wpdb->get_results( $sql_ac_abandoned_cart_history );
|
25 |
+
|
26 |
+
$table_name_ac_email_templates = $wpdb->prefix . "ac_email_templates_lite";
|
27 |
+
$sql_ac_email_templates = "DROP TABLE " . $table_name_ac_email_templates ;
|
28 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
29 |
+
$wpdb->get_results( $sql_ac_email_templates );
|
30 |
+
|
31 |
+
$table_name_ac_sent_history = $wpdb->prefix . "ac_sent_history_lite";
|
32 |
+
$sql_ac_sent_history = "DROP TABLE " . $table_name_ac_sent_history ;
|
33 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
34 |
+
$wpdb->get_results( $sql_ac_sent_history );
|
35 |
+
|
36 |
+
$table_name_ac_guest_abandoned_cart_history = $wpdb->prefix . "ac_guest_abandoned_cart_history_lite";
|
37 |
+
$sql_ac_abandoned_cart_history = "DROP TABLE " . $table_name_ac_guest_abandoned_cart_history ;
|
38 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
39 |
+
$wpdb->get_results( $sql_ac_abandoned_cart_history );
|
40 |
+
|
41 |
+
$sql_table_user_meta_cart = "DELETE FROM `" . $wpdb->prefix . "usermeta` WHERE meta_key = '_woocommerce_persistent_cart'";
|
42 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
43 |
+
$wpdb->get_results( $sql_table_user_meta_cart );
|
44 |
+
|
45 |
+
$sql_table_user_meta_cart_modified = "DELETE FROM `" . $wpdb->prefix . "usermeta` WHERE meta_key = '_woocommerce_ac_modified_cart'";
|
46 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
47 |
+
$wpdb->get_results( $sql_table_user_meta_cart_modified );
|
48 |
+
} else {
|
49 |
+
$query = "SELECT blog_id FROM `".$wpdb->prefix."blogs`";
|
50 |
+
$results = $wpdb->get_results( $query );
|
51 |
+
|
52 |
+
foreach( $results as $key => $value ) {
|
53 |
+
$table_name_ac_abandoned_cart_history = $wpdb->prefix .$value->blog_id."_"."ac_abandoned_cart_history_lite";
|
54 |
+
$sql_ac_abandoned_cart_history = "DROP TABLE " . $table_name_ac_abandoned_cart_history ;
|
55 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
56 |
+
$wpdb->get_results( $sql_ac_abandoned_cart_history );
|
57 |
+
|
58 |
+
$table_name_ac_email_templates = $wpdb->prefix .$value->blog_id."_"."ac_email_templates_lite";
|
59 |
+
$sql_ac_email_templates = "DROP TABLE " . $table_name_ac_email_templates ;
|
60 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
61 |
+
$wpdb->get_results( $sql_ac_email_templates );
|
62 |
+
|
63 |
+
$table_name_ac_sent_history = $wpdb->prefix .$value->blog_id."_"."ac_sent_history_lite";
|
64 |
+
$sql_ac_sent_history = "DROP TABLE " . $table_name_ac_sent_history ;
|
65 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
66 |
+
$wpdb->get_results( $sql_ac_sent_history );
|
67 |
+
|
68 |
+
$table_name_ac_guest_abandoned_cart_history = $wpdb->prefix . "ac_guest_abandoned_cart_history_lite";
|
69 |
+
$sql_ac_abandoned_cart_history = "DROP TABLE " . $table_name_ac_guest_abandoned_cart_history ;
|
70 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
71 |
+
$wpdb->get_results( $sql_ac_abandoned_cart_history );
|
72 |
+
|
73 |
+
$sql_table_user_meta_cart = "DELETE FROM `" . $wpdb->prefix.$value->blog_id."_"."usermeta` WHERE meta_key = '_woocommerce_persistent_cart'";
|
74 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
75 |
+
$wpdb->get_results( $sql_table_user_meta_cart );
|
76 |
+
|
77 |
+
$sql_table_user_meta_cart_modified = "DELETE FROM `" . $wpdb->prefix.$value->blog_id."_"."usermeta` WHERE meta_key = '_woocommerce_ac_modified_cart'";
|
78 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
79 |
+
$wpdb->get_results( $sql_table_user_meta_cart_modified );
|
80 |
+
}
|
81 |
+
}
|
82 |
+
delete_option( 'woocommerce_ac_email_body' );
|
83 |
+
delete_option( 'ac_lite_cart_abandoned_time' );
|
84 |
+
delete_option( 'ac_lite_email_admin_on_recovery' );
|
85 |
+
delete_option( 'ac_lite_settings_status' );
|
86 |
+
delete_option( 'woocommerce_ac_default_templates_installed' );
|
87 |
+
delete_option( 'wcal_security_key' );
|
88 |
+
delete_option( 'ac_lite_track_guest_cart_from_cart_page' );
|
89 |
+
delete_option( 'wcal_from_name' );
|
90 |
+
delete_option( 'wcal_from_email' );
|
91 |
+
delete_option( 'wcal_reply_email' );
|
92 |
+
|
93 |
+
delete_option( 'ac_security_key' );
|
94 |
+
delete_option( 'wcal_activate_time' );
|
95 |
+
delete_option( 'ac_lite_alter_table_queries' );
|
96 |
+
delete_option( 'ac_lite_delete_alter_table_queries' );
|
97 |
+
delete_option( 'wcal_allow_tracking' );
|
98 |
+
delete_option( 'wcal_ts_tracker_last_send' );
|
99 |
+
|
100 |
+
delete_option( 'wcal_welcome_page_shown_time' );
|
101 |
+
delete_option( 'wcal_welcome_page_shown' );
|
102 |
+
|
103 |
+
delete_option( 'wcal_guest_cart_capture_msg' );
|
104 |
+
delete_option( 'wcal_logged_cart_capture_msg' );
|
105 |
+
|
106 |
+
delete_option( 'ac_lite_delete_abandoned_order_days' );
|
107 |
+
delete_option( 'wcal_new_default_templates' );
|
108 |
+
|
109 |
+
delete_option( 'ac_lite_delete_redundant_queries' );
|
woocommerce-ac.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Description: This plugin captures abandoned carts by logged-in users & emails them about it.
|
6 |
* <strong><a href="http://www.tychesoftwares.com/store/premium-plugins/woocommerce-abandoned-cart-pro">Click here to get the
|
7 |
* PRO Version.</a></strong>
|
8 |
-
* Version: 5.
|
9 |
* Author: Tyche Softwares
|
10 |
* Author URI: http://www.tychesoftwares.com/
|
11 |
* Text Domain: woocommerce-abandoned-cart
|
@@ -17,9 +17,6 @@
|
|
17 |
* @package Abandoned-Cart-Lite-for-WooCommerce
|
18 |
*/
|
19 |
|
20 |
-
// Deletion Settings
|
21 |
-
register_uninstall_hook( __FILE__, 'woocommerce_ac_delete_lite' );
|
22 |
-
|
23 |
require_once( "includes/wcal_class-guest.php" );
|
24 |
require_once( "includes/wcal_default-settings.php" );
|
25 |
require_once( "includes/wcal_actions.php" );
|
@@ -85,107 +82,6 @@ function wcal_send_email_cron() {
|
|
85 |
$plugin_dir_path = plugin_dir_path( __FILE__ );
|
86 |
require_once( $plugin_dir_path . 'cron/wcal_send_email.php' );
|
87 |
}
|
88 |
-
|
89 |
-
/**
|
90 |
-
* This function will delete plugin tables, options and usermeta when we delete the plugin.
|
91 |
-
* @hook register_uninstall_hook
|
92 |
-
* @globals mixed $wpdb
|
93 |
-
* @since 1.0
|
94 |
-
* @package Abandoned-Cart-Lite-for-WooCommerce/Uninstaller
|
95 |
-
*/
|
96 |
-
function woocommerce_ac_delete_lite() {
|
97 |
-
global $wpdb;
|
98 |
-
if ( ! is_multisite() ) {
|
99 |
-
$table_name_ac_abandoned_cart_history = $wpdb->prefix . "ac_abandoned_cart_history_lite";
|
100 |
-
$sql_ac_abandoned_cart_history = "DROP TABLE " . $table_name_ac_abandoned_cart_history ;
|
101 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
102 |
-
$wpdb->get_results( $sql_ac_abandoned_cart_history );
|
103 |
-
|
104 |
-
$table_name_ac_email_templates = $wpdb->prefix . "ac_email_templates_lite";
|
105 |
-
$sql_ac_email_templates = "DROP TABLE " . $table_name_ac_email_templates ;
|
106 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
107 |
-
$wpdb->get_results( $sql_ac_email_templates );
|
108 |
-
|
109 |
-
$table_name_ac_sent_history = $wpdb->prefix . "ac_sent_history_lite";
|
110 |
-
$sql_ac_sent_history = "DROP TABLE " . $table_name_ac_sent_history ;
|
111 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
112 |
-
$wpdb->get_results( $sql_ac_sent_history );
|
113 |
-
|
114 |
-
$table_name_ac_guest_abandoned_cart_history = $wpdb->prefix . "ac_guest_abandoned_cart_history_lite";
|
115 |
-
$sql_ac_abandoned_cart_history = "DROP TABLE " . $table_name_ac_guest_abandoned_cart_history ;
|
116 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
117 |
-
$wpdb->get_results( $sql_ac_abandoned_cart_history );
|
118 |
-
|
119 |
-
$sql_table_user_meta_cart = "DELETE FROM `" . $wpdb->prefix . "usermeta` WHERE meta_key = '_woocommerce_persistent_cart'";
|
120 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
121 |
-
$wpdb->get_results( $sql_table_user_meta_cart );
|
122 |
-
|
123 |
-
$sql_table_user_meta_cart_modified = "DELETE FROM `" . $wpdb->prefix . "usermeta` WHERE meta_key = '_woocommerce_ac_modified_cart'";
|
124 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
125 |
-
$wpdb->get_results( $sql_table_user_meta_cart_modified );
|
126 |
-
} else {
|
127 |
-
$query = "SELECT blog_id FROM `".$wpdb->prefix."blogs`";
|
128 |
-
$results = $wpdb->get_results( $query );
|
129 |
-
|
130 |
-
foreach( $results as $key => $value ) {
|
131 |
-
$table_name_ac_abandoned_cart_history = $wpdb->prefix .$value->blog_id."_"."ac_abandoned_cart_history_lite";
|
132 |
-
$sql_ac_abandoned_cart_history = "DROP TABLE " . $table_name_ac_abandoned_cart_history ;
|
133 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
134 |
-
$wpdb->get_results( $sql_ac_abandoned_cart_history );
|
135 |
-
|
136 |
-
$table_name_ac_email_templates = $wpdb->prefix .$value->blog_id."_"."ac_email_templates_lite";
|
137 |
-
$sql_ac_email_templates = "DROP TABLE " . $table_name_ac_email_templates ;
|
138 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
139 |
-
$wpdb->get_results( $sql_ac_email_templates );
|
140 |
-
|
141 |
-
$table_name_ac_sent_history = $wpdb->prefix .$value->blog_id."_"."ac_sent_history_lite";
|
142 |
-
$sql_ac_sent_history = "DROP TABLE " . $table_name_ac_sent_history ;
|
143 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
144 |
-
$wpdb->get_results( $sql_ac_sent_history );
|
145 |
-
|
146 |
-
$table_name_ac_guest_abandoned_cart_history = $wpdb->prefix . "ac_guest_abandoned_cart_history_lite";
|
147 |
-
$sql_ac_abandoned_cart_history = "DROP TABLE " . $table_name_ac_guest_abandoned_cart_history ;
|
148 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
149 |
-
$wpdb->get_results( $sql_ac_abandoned_cart_history );
|
150 |
-
|
151 |
-
$sql_table_user_meta_cart = "DELETE FROM `" . $wpdb->prefix.$value->blog_id."_"."usermeta` WHERE meta_key = '_woocommerce_persistent_cart'";
|
152 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
153 |
-
$wpdb->get_results( $sql_table_user_meta_cart );
|
154 |
-
|
155 |
-
$sql_table_user_meta_cart_modified = "DELETE FROM `" . $wpdb->prefix.$value->blog_id."_"."usermeta` WHERE meta_key = '_woocommerce_ac_modified_cart'";
|
156 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
157 |
-
$wpdb->get_results( $sql_table_user_meta_cart_modified );
|
158 |
-
}
|
159 |
-
}
|
160 |
-
delete_option( 'woocommerce_ac_email_body' );
|
161 |
-
delete_option( 'ac_lite_cart_abandoned_time' );
|
162 |
-
delete_option( 'ac_lite_email_admin_on_recovery' );
|
163 |
-
delete_option( 'ac_lite_settings_status' );
|
164 |
-
delete_option( 'woocommerce_ac_default_templates_installed' );
|
165 |
-
delete_option( 'wcal_security_key' );
|
166 |
-
delete_option( 'ac_lite_track_guest_cart_from_cart_page' );
|
167 |
-
delete_option( 'wcal_from_name' );
|
168 |
-
delete_option( 'wcal_from_email' );
|
169 |
-
delete_option( 'wcal_reply_email' );
|
170 |
-
|
171 |
-
delete_option( 'ac_security_key' );
|
172 |
-
delete_option( 'wcal_activate_time' );
|
173 |
-
delete_option( 'ac_lite_alter_table_queries' );
|
174 |
-
delete_option( 'ac_lite_delete_alter_table_queries' );
|
175 |
-
delete_option( 'wcal_allow_tracking' );
|
176 |
-
delete_option( 'wcal_ts_tracker_last_send' );
|
177 |
-
|
178 |
-
delete_option( 'wcal_welcome_page_shown_time' );
|
179 |
-
delete_option( 'wcal_welcome_page_shown' );
|
180 |
-
|
181 |
-
delete_option( 'wcal_guest_cart_capture_msg' );
|
182 |
-
delete_option( 'wcal_logged_cart_capture_msg' );
|
183 |
-
|
184 |
-
delete_option( 'ac_lite_delete_abandoned_order_days' );
|
185 |
-
delete_option( 'wcal_new_default_templates' );
|
186 |
-
|
187 |
-
delete_option( 'ac_lite_delete_redundant_queries' );
|
188 |
-
}
|
189 |
/**
|
190 |
* woocommerce_abandon_cart_lite class
|
191 |
**/
|
@@ -256,10 +152,7 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
256 |
|
257 |
// Actions to be done on cart update
|
258 |
add_action ( 'woocommerce_cart_updated', array( &$this, 'wcal_store_cart_timestamp' ) );
|
259 |
-
|
260 |
-
// delete added temp fields after order is placed
|
261 |
-
add_filter ( 'woocommerce_order_details_after_order_table', array( &$this, 'wcal_action_after_delivery_session' ) );
|
262 |
-
|
263 |
add_action ( 'admin_init', array( &$this, 'wcal_action_admin_init' ) );
|
264 |
|
265 |
// Update the options as per settings API
|
@@ -281,7 +174,7 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
281 |
|
282 |
add_action ( 'admin_enqueue_scripts', array( &$this, 'wcal_enqueue_scripts_js' ) );
|
283 |
add_action ( 'admin_enqueue_scripts', array( &$this, 'wcal_enqueue_scripts_css' ) );
|
284 |
-
|
285 |
if ( class_exists( 'wcal_delete_bulk_action_handler' ) ) {
|
286 |
add_action( 'wcal_clear_carts', array( 'wcal_delete_bulk_action_handler', 'wcal_delete_abandoned_carts_after_x_days' ) );
|
287 |
}
|
@@ -296,26 +189,38 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
296 |
add_filter( 'ts_tracker_opt_out_data', array( 'wcal_common', 'ts_get_data_for_opt_out' ), 10, 1 );
|
297 |
add_filter( 'ts_deativate_plugin_questions', array( &$this, 'wcal_deactivate_add_questions' ), 10, 1 );
|
298 |
}
|
299 |
-
|
300 |
-
//
|
301 |
-
|
302 |
-
add_action(
|
303 |
-
add_action( 'woocommerce_order_status_pending_to_on-hold_notification', array( &$this, 'wcal_email_admin_recovery' ) );
|
304 |
-
add_action( 'woocommerce_order_status_failed_to_processing_notification', array( &$this, 'wcal_email_admin_recovery' ) );
|
305 |
-
add_action( 'woocommerce_order_status_failed_to_completed_notification', array( &$this, 'wcal_email_admin_recovery' ) );
|
306 |
-
|
307 |
-
add_action('woocommerce_order_status_changed', array( &$this, 'wcal_email_admin_recovery_for_paypal' ), 10, 3);
|
308 |
|
309 |
add_action( 'admin_init', array( $this, 'wcal_preview_emails' ) );
|
310 |
add_action( 'init', array( $this, 'wcal_app_output_buffer') );
|
311 |
-
|
312 |
-
add_filter( 'woocommerce_payment_complete_order_status', array( &$this, 'wcal_order_complete_action' ), 10 , 2 );
|
313 |
add_filter( 'admin_footer_text', array( $this, 'wcal_admin_footer_text' ), 1 );
|
314 |
|
315 |
-
add_action( 'admin_notices', array( 'Wcal_Admin_Notice', 'wcal_show_db_update_notice' ) );
|
|
|
|
|
|
|
|
|
316 |
}
|
317 |
-
|
318 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
319 |
* It will load the boilerplate components file. In this file we have included all boilerplate files.
|
320 |
* We need to inlcude this file after the init hook.
|
321 |
* @hook init
|
@@ -363,268 +268,6 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
363 |
);
|
364 |
return $wcal_add_questions;
|
365 |
}
|
366 |
-
|
367 |
-
/**
|
368 |
-
* When customer clicks on the "Place Order" button on the checkout page, it will identify if we need to keep that cart or
|
369 |
-
* delete it.
|
370 |
-
* @hook woocommerce_checkout_order_processed
|
371 |
-
* @param int | string $order_id Order id
|
372 |
-
* @globals mixed $wpdb
|
373 |
-
* @globals mixed $woocommerce
|
374 |
-
*
|
375 |
-
* @since 3.4
|
376 |
-
*/
|
377 |
-
public static function wcal_order_placed( $order_id ) {
|
378 |
-
|
379 |
-
/**
|
380 |
-
* When user comes from the abandoned cart reminder email this conditon will be executed.
|
381 |
-
* It will check the guest uers data in further 3 conditions.
|
382 |
-
* 1. When WC setting mandatory to become the logged in users. And places the order
|
383 |
-
* 2. When WC setting is non - mandatory to become the logged in users. And user choose to be the loggedin
|
384 |
-
* to the site And places the order
|
385 |
-
* 3. When user places the orde as guest user.
|
386 |
-
* It will consider the old cart of the customer as the recovered order and delete the unwanted new records.
|
387 |
-
*/
|
388 |
-
$email_sent_id = wcal_common::wcal_get_cart_session( 'email_sent_id' );
|
389 |
-
|
390 |
-
if ( $email_sent_id !='' ) {
|
391 |
-
|
392 |
-
global $woocommerce, $wpdb;
|
393 |
-
|
394 |
-
$wcal_history_table_name = $wpdb->prefix . 'ac_abandoned_cart_history_lite';
|
395 |
-
$wcal_guest_table_name = $wpdb->prefix . 'ac_guest_abandoned_cart_history_lite';
|
396 |
-
$wcal_sent_email_table_name = $wpdb->prefix . 'ac_sent_history_lite';
|
397 |
-
|
398 |
-
$get_ac_id_query = "SELECT abandoned_order_id FROM ". $wcal_sent_email_table_name ." WHERE id = %d";
|
399 |
-
$get_ac_id_results = $wpdb->get_results( $wpdb->prepare( $get_ac_id_query, $email_sent_id ) );
|
400 |
-
|
401 |
-
$abandoned_order_id = '';
|
402 |
-
if ( isset($get_ac_id_results) && count( $get_ac_id_results ) > 0 ) {
|
403 |
-
$abandoned_order_id = $get_ac_id_results[0]->abandoned_order_id;
|
404 |
-
}
|
405 |
-
|
406 |
-
$wcal_account_password_check = 'no';
|
407 |
-
|
408 |
-
/*if user becomes the registered user */
|
409 |
-
if ( isset( $_POST['account_password'] ) && '' != $_POST['account_password'] ) {
|
410 |
-
|
411 |
-
$abandoned_cart_id_new_user = wcal_common::wcal_get_cart_session( 'abandoned_cart_id_lite' );
|
412 |
-
|
413 |
-
$wcal_user_id_of_guest = wcal_common::wcal_get_cart_session( 'user_id' );
|
414 |
-
|
415 |
-
/* delete the guest record. As it become the logged in user */
|
416 |
-
|
417 |
-
$get_ac_id_guest_results = array();
|
418 |
-
if ( isset( $wcal_user_id_of_guest ) && '' != $wcal_user_id_of_guest ) {
|
419 |
-
$get_ac_id_guest_query = "SELECT id FROM `" . $wcal_history_table_name ."` WHERE user_id = %d ORDER BY id DESC";
|
420 |
-
$get_ac_id_guest_results = $wpdb->get_results( $wpdb->prepare( $get_ac_id_guest_query, $wcal_user_id_of_guest ) );
|
421 |
-
}
|
422 |
-
|
423 |
-
if ( is_array( $get_ac_id_guest_results ) && count ( $get_ac_id_guest_results ) > 0 ) {
|
424 |
-
$abandoned_order_id_of_guest = $get_ac_id_guest_results[0]->id;
|
425 |
-
$wpdb->delete( $wcal_history_table_name , array( 'id' => $abandoned_order_id_of_guest ) );
|
426 |
-
}
|
427 |
-
if ( isset( $abandoned_cart_id_new_user ) && '' != $abandoned_cart_id_new_user ) {
|
428 |
-
/* it is the new registered users cart id */
|
429 |
-
$wpdb->delete( $wcal_history_table_name , array( 'id' => $abandoned_cart_id_new_user ) );
|
430 |
-
}
|
431 |
-
|
432 |
-
$wcal_account_password_check = 'yes';
|
433 |
-
}
|
434 |
-
|
435 |
-
$wcap_create_account = 'no';
|
436 |
-
/*if user becomes the registred user */
|
437 |
-
if ( isset( $_POST['createaccount'] ) &&
|
438 |
-
$_POST['createaccount'] != '' &&
|
439 |
-
'no' == $wcal_account_password_check ) {
|
440 |
-
|
441 |
-
$abandoned_cart_id_new_user = wcal_common::wcal_get_cart_session( 'abandoned_cart_id_lite' );
|
442 |
-
|
443 |
-
$wcal_user_id_of_guest = '';
|
444 |
-
if ( isset( $_SESSION['user_id'] ) && '' != $_SESSION['user_id'] ) {
|
445 |
-
$wcal_user_id_of_guest = $_SESSION['user_id'];
|
446 |
-
}
|
447 |
-
/* Delete the guest record. As it become the logged in user */
|
448 |
-
$get_ac_id_guest_results = array();
|
449 |
-
if ( isset( $wcal_user_id_of_guest ) && '' != $wcal_user_id_of_guest ) {
|
450 |
-
$get_ac_id_guest_query = "SELECT id FROM `" . $wcal_history_table_name ."` WHERE user_id = %d ORDER BY id DESC";
|
451 |
-
$get_ac_id_guest_results = $wpdb->get_results( $wpdb->prepare( $get_ac_id_guest_query, $wcal_user_id_of_guest ) );
|
452 |
-
}
|
453 |
-
if( is_array( $get_ac_id_guest_results ) && count ( $get_ac_id_guest_results ) > 0 ) {
|
454 |
-
$abandoned_order_id_of_guest = $get_ac_id_guest_results[0]->id;
|
455 |
-
$wpdb->delete( $wcal_history_table_name , array( 'id' => $abandoned_order_id_of_guest ) );
|
456 |
-
}
|
457 |
-
|
458 |
-
/* It is the new registered users cart id */
|
459 |
-
if ( isset( $wcal_user_id_of_guest ) && '' != $wcal_user_id_of_guest ) {
|
460 |
-
$wpdb->delete( $wcal_history_table_name , array( 'id' => $abandoned_cart_id_new_user ) );
|
461 |
-
}
|
462 |
-
|
463 |
-
$wcap_create_account = 'yes';
|
464 |
-
}
|
465 |
-
|
466 |
-
if ( 'no' == $wcal_account_password_check && 'no' == $wcap_create_account ) {
|
467 |
-
|
468 |
-
$wcal_user_id_of_guest = '';
|
469 |
-
if ( isset( $_SESSION['user_id'] ) && '' != $_SESSION['user_id'] ) {
|
470 |
-
$wcal_user_id_of_guest = $_SESSION['user_id'];
|
471 |
-
$get_ac_id_guest_query = "SELECT id FROM `" . $wcal_history_table_name ."` WHERE user_id = %d ORDER BY id DESC";
|
472 |
-
$get_ac_id_guest_results = $wpdb->get_results( $wpdb->prepare( $get_ac_id_guest_query, $wcal_user_id_of_guest ) );
|
473 |
-
|
474 |
-
if ( is_array( $get_ac_id_guest_results ) && count ( $get_ac_id_guest_results ) > 0 ) {
|
475 |
-
$abandoned_order_id_of_guest = $get_ac_id_guest_results[0]->id;
|
476 |
-
$wpdb->delete( $wcal_history_table_name, array( 'id' => $abandoned_order_id_of_guest ) );
|
477 |
-
}
|
478 |
-
}
|
479 |
-
}
|
480 |
-
|
481 |
-
add_post_meta( $order_id , 'wcal_recover_order_placed_sent_id', $email_sent_id );
|
482 |
-
if ( isset( $abandoned_order_id ) && '' != $abandoned_order_id ) {
|
483 |
-
add_post_meta( $order_id , 'wcal_recover_order_placed', $abandoned_order_id );
|
484 |
-
}
|
485 |
-
|
486 |
-
}else if ( wcal_common::wcal_get_cart_session( 'abandoned_cart_id_lite' ) != '' ) {
|
487 |
-
|
488 |
-
/**
|
489 |
-
* In this codition we are cheking that if the order is placed before the cart cut off time then we
|
490 |
-
* will delete the abandond cart records.
|
491 |
-
* If the order is placed after the cart cutoff time then we will create the post meta with
|
492 |
-
* the abandoned cart id. So we will refer this abandoned cart id when order staus is changed
|
493 |
-
* while placing the order.
|
494 |
-
*/
|
495 |
-
global $woocommerce, $wpdb;
|
496 |
-
|
497 |
-
$wcal_history_table_name = $wpdb->prefix . 'ac_abandoned_cart_history_lite';
|
498 |
-
$wcal_guest_table_name = $wpdb->prefix . 'ac_guest_abandoned_cart_history_lite';
|
499 |
-
$wcal_sent_email_table_name = $wpdb->prefix . 'ac_sent_history_lite';
|
500 |
-
|
501 |
-
$current_time = current_time( 'timestamp' );
|
502 |
-
$wcal_cart_abandoned_time = '';
|
503 |
-
|
504 |
-
$wcal_abandoned_cart_id = wcal_common::wcal_get_cart_session( 'abandoned_cart_id_lite' );
|
505 |
-
|
506 |
-
if ( $wcal_abandoned_cart_id != '' ) {
|
507 |
-
|
508 |
-
$get_abandoned_cart_query = "SELECT abandoned_cart_time FROM `" . $wcal_history_table_name . "` WHERE id = %d ";
|
509 |
-
$get_abandoned_cart_results = $wpdb->get_results( $wpdb->prepare( $get_abandoned_cart_query, $wcal_abandoned_cart_id ) );
|
510 |
-
|
511 |
-
if ( is_array( $get_ac_id_guest_results ) && count( $get_abandoned_cart_results ) > 0 ) {
|
512 |
-
$wcal_cart_abandoned_time = $get_abandoned_cart_results[0]->abandoned_cart_time;
|
513 |
-
}
|
514 |
-
|
515 |
-
$ac_cutoff_time = get_option( 'ac_lite_cart_abandoned_time' );
|
516 |
-
$cut_off_time = $ac_cutoff_time * 60;
|
517 |
-
$compare_time = $current_time - $cut_off_time;
|
518 |
-
|
519 |
-
if ( $compare_time > $wcal_cart_abandoned_time ) {
|
520 |
-
/* cart is declared as adandoned */
|
521 |
-
add_post_meta( $order_id , 'wcal_recover_order_placed', $wcal_abandoned_cart_id );
|
522 |
-
} else {
|
523 |
-
/**
|
524 |
-
* Cart order is placed within the cutoff time.
|
525 |
-
* We will delete that abandoned cart.
|
526 |
-
*/
|
527 |
-
|
528 |
-
/* If user becomes the registred user */
|
529 |
-
|
530 |
-
if ( isset( $_POST['account_password'] ) && '' != $_POST['account_password'] ) {
|
531 |
-
|
532 |
-
$abandoned_cart_id_new_user = wcal_common::wcal_get_cart_session( 'abandoned_cart_id_lite' );
|
533 |
-
$wcal_user_id_of_guest = wcal_common::wcal_get_cart_session( 'user_id' );
|
534 |
-
|
535 |
-
/* Delete the guest record. As it become the logged in user */
|
536 |
-
|
537 |
-
$wpdb->delete( $wcal_history_table_name , array( 'user_id' => $wcal_user_id_of_guest ) );
|
538 |
-
$wpdb->delete( $wcal_guest_table_name , array( 'id' => $wcal_user_id_of_guest ) );
|
539 |
-
|
540 |
-
/* It is the new registered users cart id */
|
541 |
-
$wpdb->delete( $wcal_history_table_name , array( 'id' => $abandoned_cart_id_new_user ) );
|
542 |
-
} else {
|
543 |
-
|
544 |
-
/**
|
545 |
-
* It will delete the order from history table if the order is placed before any email sent to
|
546 |
-
* the user.
|
547 |
-
*/
|
548 |
-
$wpdb->delete( $wcal_history_table_name , array( 'id' => $wcal_abandoned_cart_id ) );
|
549 |
-
|
550 |
-
/* This user id is set for the guest uesrs. */
|
551 |
-
if ( wcal_common::wcal_get_cart_session( 'user_id' ) != '' ) {
|
552 |
-
$wcal_user_id_of_guest = wcal_common::wcal_get_cart_session( 'user_id' );
|
553 |
-
$wpdb->delete( $wcal_guest_table_name, array( 'id' => $wcal_user_id_of_guest ) );
|
554 |
-
}
|
555 |
-
}
|
556 |
-
}
|
557 |
-
}
|
558 |
-
}
|
559 |
-
}
|
560 |
-
|
561 |
-
/**
|
562 |
-
* It will check the WooCommerce order status. If the order status is pending or failed the we will keep that cart record
|
563 |
-
* as an abandoned cart.
|
564 |
-
* It will be executed after order placed.
|
565 |
-
* @hook woocommerce_payment_complete_order_status
|
566 |
-
* @param string $order_status Order Status
|
567 |
-
* @param int | string $order_id Order Id
|
568 |
-
* @return string $order_status
|
569 |
-
* @globals mixed $wpdb
|
570 |
-
* @globals mixed $woocommerce
|
571 |
-
* @since 3.4
|
572 |
-
*/
|
573 |
-
public function wcal_order_complete_action( $order_status, $order_id ) {
|
574 |
-
|
575 |
-
/**
|
576 |
-
* If the order status is not pending or failed then we will check the order and its respective abandoned
|
577 |
-
* cart data.
|
578 |
-
*/
|
579 |
-
if ( 'pending' != $order_status && 'failed' != $order_status ) {
|
580 |
-
global $woocommerce, $wpdb;
|
581 |
-
$order = new WC_Order( $order_id );
|
582 |
-
|
583 |
-
$get_abandoned_id_of_order = get_post_meta( $order_id, 'wcal_recover_order_placed', true );
|
584 |
-
$get_sent_email_id_of_order = get_post_meta( $order_id, 'wcal_recover_order_placed_sent_id', true );
|
585 |
-
|
586 |
-
$wcal_ac_table_name = $wpdb->prefix . "ac_abandoned_cart_history_lite";
|
587 |
-
$wcal_email_sent_history_table_name = $wpdb->prefix . "ac_sent_history_lite";
|
588 |
-
$wcal_guest_ac_table_name = $wpdb->prefix . "ac_guest_abandoned_cart_history_lite";
|
589 |
-
|
590 |
-
/**
|
591 |
-
* Here, in this condition we are checking that if abadoned cart id has any record for the reminder
|
592 |
-
* email is sent or not.
|
593 |
-
* If the reminde email is sent to the abandoned cart id the mark that cart as a recovered.
|
594 |
-
*/
|
595 |
-
if ( isset( $get_sent_email_id_of_order ) && '' != $get_sent_email_id_of_order ) {
|
596 |
-
|
597 |
-
$query_order = "UPDATE $wcal_ac_table_name SET recovered_cart = '" . $order_id . "', cart_ignored = '1' WHERE id = '".$get_abandoned_id_of_order."' ";
|
598 |
-
$wpdb->query( $query_order );
|
599 |
-
|
600 |
-
$order->add_order_note( __( 'This order was abandoned & subsequently recovered.', 'woocommerce-abandoned-cart' ) );
|
601 |
-
|
602 |
-
delete_post_meta( $order_id, 'wcal_recover_order_placed', $get_abandoned_id_of_order );
|
603 |
-
delete_post_meta( $order_id , 'wcal_recover_order_placed_sent_id', $get_sent_email_id_of_order );
|
604 |
-
} else if ( isset( $get_abandoned_id_of_order ) && '' != $get_abandoned_id_of_order ) {
|
605 |
-
|
606 |
-
/**
|
607 |
-
* If the recover email has not sent then we will delete the abandoned cart data.
|
608 |
-
*/
|
609 |
-
$get_abandoned_cart_user_id_query = "SELECT user_id FROM $wcal_ac_table_name WHERE id = %d ";
|
610 |
-
$get_abandoned_cart_user_id_results = $wpdb->get_results( $wpdb->prepare( $get_abandoned_cart_user_id_query, $get_abandoned_id_of_order ) );
|
611 |
-
|
612 |
-
$var = $wpdb->prepare( $get_abandoned_cart_user_id_query, $get_abandoned_id_of_order );
|
613 |
-
|
614 |
-
if ( count( $get_abandoned_cart_user_id_results ) > 0 ) {
|
615 |
-
$wcap_user_id = $get_abandoned_cart_user_id_results[0]->user_id;
|
616 |
-
|
617 |
-
if ( $wcap_user_id >= 63000000 ) {
|
618 |
-
$wpdb->delete( $wcal_guest_ac_table_name, array( 'id' => $wcap_user_id ) );
|
619 |
-
}
|
620 |
-
|
621 |
-
$wpdb->delete( $wcal_ac_table_name, array( 'id' => $get_abandoned_id_of_order ) );
|
622 |
-
delete_post_meta( $order_id, 'wcap_recover_order_placed', $get_abandoned_id_of_order );
|
623 |
-
}
|
624 |
-
}
|
625 |
-
}
|
626 |
-
return $order_status;
|
627 |
-
}
|
628 |
|
629 |
/**
|
630 |
* It will ganerate the preview email template.
|
@@ -1237,7 +880,7 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
1237 |
$wcal_previous_version = get_option( 'wcal_previous_version' );
|
1238 |
|
1239 |
if ( $wcal_previous_version != wcal_common::wcal_get_version() ) {
|
1240 |
-
update_option( 'wcal_previous_version', '5.
|
1241 |
}
|
1242 |
|
1243 |
/**
|
@@ -1430,134 +1073,7 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
1430 |
update_option( 'ac_lite_user_cleanup', 'yes' );
|
1431 |
}
|
1432 |
}
|
1433 |
-
|
1434 |
-
/**
|
1435 |
-
* Send email to admin when cart is recovered only via PayPal.
|
1436 |
-
* @hook woocommerce_order_status_changed
|
1437 |
-
* @param int | string $order_id Order id
|
1438 |
-
* @param string $old Old status
|
1439 |
-
* @param string $new_status New status
|
1440 |
-
* @globals mixed $wpdb
|
1441 |
-
* @globals mixed $woocommerce
|
1442 |
-
* @since 2.9
|
1443 |
-
*/
|
1444 |
-
public static function wcal_email_admin_recovery_for_paypal( $order_id, $old, $new_status ) {
|
1445 |
-
if ( 'pending' == $old && 'processing' == $new_status ) {
|
1446 |
-
global $wpdb, $woocommerce;
|
1447 |
-
$user_id = get_current_user_id();
|
1448 |
-
$ac_email_admin_recovery = get_option( 'ac_lite_email_admin_on_recovery' );
|
1449 |
-
$order = new WC_Order( $order_id );
|
1450 |
-
if ( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
1451 |
-
$user_id = $order->get_user_id();
|
1452 |
-
} else {
|
1453 |
-
$user_id = $order->user_id;
|
1454 |
-
}
|
1455 |
-
|
1456 |
-
if ( 'on' == $ac_email_admin_recovery ) {
|
1457 |
-
$recovered_email_sent = get_post_meta( $order_id, 'wcap_recovered_email_sent', true );
|
1458 |
-
$created_via = get_post_meta( $order_id, '_created_via', true );
|
1459 |
-
$wcal_check_order_is_recovered = woocommerce_abandon_cart_lite::wcal_check_order_is_recovered( $order_id );
|
1460 |
-
|
1461 |
-
if ( 'checkout' == $created_via && 'yes' != $recovered_email_sent && true === $wcal_check_order_is_recovered ) { // indicates cart is abandoned
|
1462 |
-
$order = new WC_Order( $order_id );
|
1463 |
-
$email_heading = __( 'New Customer Order - Recovered', 'woocommerce-abandoned-cart' );
|
1464 |
-
$blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
|
1465 |
-
$email_subject = __( 'New Customer Order - Recovered', 'woocommerce-abandoned-cart' );
|
1466 |
-
$user_email = get_option( 'admin_email' );
|
1467 |
-
$headers[] = "From: Admin <".$user_email.">";
|
1468 |
-
$headers[] = "Content-Type: text/html";
|
1469 |
-
// Buffer
|
1470 |
-
ob_start();
|
1471 |
-
// Get mail template
|
1472 |
-
wc_get_template( 'emails/admin-new-order.php', array(
|
1473 |
-
'order' => $order,
|
1474 |
-
'email_heading' => $email_heading,
|
1475 |
-
'sent_to_admin' => false,
|
1476 |
-
'plain_text' => false,
|
1477 |
-
'email' => true
|
1478 |
-
)
|
1479 |
-
);
|
1480 |
-
// Get contents
|
1481 |
-
$email_body = ob_get_clean();
|
1482 |
-
wc_mail( $user_email, $email_subject, $email_body, $headers );
|
1483 |
-
update_post_meta( $order_id, 'wcap_recovered_email_sent', 'yes' );
|
1484 |
-
}
|
1485 |
-
}
|
1486 |
-
}
|
1487 |
-
}
|
1488 |
-
|
1489 |
-
/**
|
1490 |
-
* Send email to admin when cart is recovered via any other payment gateway other than PayPal.
|
1491 |
-
* @hook woocommerce_order_status_pending_to_processing_notification
|
1492 |
-
* @hook woocommerce_order_status_pending_to_completed_notification
|
1493 |
-
* @hook woocommerce_order_status_pending_to_on-hold_notification
|
1494 |
-
* @hook woocommerce_order_status_failed_to_processing_notification
|
1495 |
-
* @hook woocommerce_order_status_failed_to_completed_notification
|
1496 |
-
* @param int | string $order_id Order id
|
1497 |
-
* @globals mixed $wpdb
|
1498 |
-
* @globals mixed $woocommerce
|
1499 |
-
* @since 2.3
|
1500 |
-
*/
|
1501 |
-
function wcal_email_admin_recovery ( $order_id ) {
|
1502 |
-
global $wpdb, $woocommerce;
|
1503 |
-
|
1504 |
-
$user_id = get_current_user_id();
|
1505 |
-
$ac_email_admin_recovery = get_option( 'ac_lite_email_admin_on_recovery' );
|
1506 |
-
if ( 'on' == $ac_email_admin_recovery ) {
|
1507 |
-
$order = new WC_Order( $order_id );
|
1508 |
-
|
1509 |
-
if ( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
1510 |
-
$user_id = $order->get_user_id();
|
1511 |
-
} else {
|
1512 |
-
$user_id = $order->user_id;
|
1513 |
-
}
|
1514 |
-
$recovered_email_sent = get_post_meta( $order_id, 'wcap_recovered_email_sent', true );
|
1515 |
-
$created_via = get_post_meta( $order_id, '_created_via', true );
|
1516 |
-
$wcal_check_order_is_recovered = woocommerce_abandon_cart_lite::wcal_check_order_is_recovered( $order_id );
|
1517 |
-
if ( 'checkout' == $created_via && 'yes' != $recovered_email_sent && true === $wcal_check_order_is_recovered ) { // indicates cart is abandoned
|
1518 |
-
$email_heading = __( 'New Customer Order - Recovered', 'woocommerce-abandoned-cart' );
|
1519 |
-
$blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
|
1520 |
-
$email_subject = __( 'New Customer Order - Recovered', 'woocommerce-abandoned-cart' );
|
1521 |
-
$user_email = get_option( 'admin_email' );
|
1522 |
-
$headers[] = "From: Admin <".$user_email.">";
|
1523 |
-
$headers[] = "Content-Type: text/html";
|
1524 |
-
// Buffer
|
1525 |
-
ob_start();
|
1526 |
-
// Get mail template
|
1527 |
-
wc_get_template( 'emails/admin-new-order.php', array(
|
1528 |
-
'order' => $order,
|
1529 |
-
'email_heading' => $email_heading,
|
1530 |
-
'sent_to_admin' => false,
|
1531 |
-
'plain_text' => false,
|
1532 |
-
'email' => true
|
1533 |
-
) );
|
1534 |
-
// Get contents
|
1535 |
-
$email_body = ob_get_clean();
|
1536 |
-
|
1537 |
-
wc_mail( $user_email, $email_subject, $email_body, $headers );
|
1538 |
-
|
1539 |
-
update_post_meta( $order_id, 'wcap_recovered_email_sent', 'yes' );
|
1540 |
-
}
|
1541 |
-
}
|
1542 |
-
}
|
1543 |
-
|
1544 |
-
/**
|
1545 |
-
* For sending Recovery Email to Admin, we will check that order is recovered or not.
|
1546 |
-
* @param int | string $wcal_order_id Order id
|
1547 |
-
* @return boolean true | false
|
1548 |
-
* @globals mixed $wpdb
|
1549 |
-
* @since 2.3
|
1550 |
-
*/
|
1551 |
-
public static function wcal_check_order_is_recovered( $wcal_order_id ) {
|
1552 |
-
global $wpdb;
|
1553 |
-
$wcal_recover_order_query = "SELECT `recovered_cart` FROM `" . $wpdb->prefix . "ac_abandoned_cart_history_lite` WHERE `recovered_cart` = %d";
|
1554 |
-
$wcal_recover_order_query_result = $wpdb->get_results( $wpdb->prepare( $wcal_recover_order_query, $wcal_order_id ) );
|
1555 |
-
if ( count( $wcal_recover_order_query_result ) > 0 ) {
|
1556 |
-
return true;
|
1557 |
-
}
|
1558 |
-
return false;
|
1559 |
-
}
|
1560 |
-
|
1561 |
/**
|
1562 |
* Add a submenu page under the WooCommerce.
|
1563 |
* @hook admin_menu
|
@@ -1576,13 +1092,22 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
1576 |
*/
|
1577 |
function wcal_store_cart_timestamp() {
|
1578 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1579 |
global $wpdb,$woocommerce;
|
1580 |
$current_time = current_time( 'timestamp' );
|
1581 |
$cut_off_time = get_option( 'ac_lite_cart_abandoned_time' );
|
1582 |
$track_guest_cart_from_cart_page = get_option( 'ac_lite_track_guest_cart_from_cart_page' );
|
1583 |
$cart_ignored = 0;
|
1584 |
$recovered_cart = 0;
|
1585 |
-
|
1586 |
$track_guest_user_cart_from_cart = "";
|
1587 |
if ( isset( $track_guest_cart_from_cart_page ) ) {
|
1588 |
$track_guest_user_cart_from_cart = $track_guest_cart_from_cart_page;
|
@@ -1608,14 +1133,14 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
1608 |
|
1609 |
$cart_info_meta = json_encode( get_user_meta( $user_id, $wcal_woocommerce_persistent_cart, true ) );
|
1610 |
|
1611 |
-
if( '' !== $cart_info_meta && '{"cart":[]}' != $cart_info_meta ) {
|
1612 |
$cart_info = $cart_info_meta;
|
1613 |
$user_type = "REGISTERED";
|
1614 |
$insert_query = "INSERT INTO `".$wpdb->prefix."ac_abandoned_cart_history_lite`
|
1615 |
( user_id, abandoned_cart_info, abandoned_cart_time, cart_ignored, user_type )
|
1616 |
VALUES ( %d, %s, %d, %s, %s )";
|
1617 |
$wpdb->query( $wpdb->prepare( $insert_query, $user_id, $cart_info,$current_time, $cart_ignored, $user_type ) );
|
1618 |
-
|
1619 |
$abandoned_cart_id = $wpdb->insert_id;
|
1620 |
wcal_common::wcal_set_cart_session( 'abandoned_cart_id_lite', $abandoned_cart_id );
|
1621 |
}
|
@@ -1842,6 +1367,10 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
1842 |
$url = substr( $link_decode, $url_pos );
|
1843 |
$get_ac_id_query = "SELECT abandoned_order_id FROM `".$wpdb->prefix."ac_sent_history_lite` WHERE id = %d";
|
1844 |
$get_ac_id_results = $wpdb->get_results( $wpdb->prepare( $get_ac_id_query, $email_sent_id ) );
|
|
|
|
|
|
|
|
|
1845 |
$get_user_results = array();
|
1846 |
if ( count( $get_ac_id_results ) > 0 ) {
|
1847 |
$get_user_id_query = "SELECT user_id FROM `".$wpdb->prefix."ac_abandoned_cart_history_lite` WHERE id = %d";
|
@@ -1868,9 +1397,11 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
1868 |
wcal_common::wcal_set_cart_session( 'user_id', $user_id );
|
1869 |
} else {
|
1870 |
if ( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
1871 |
-
|
|
|
1872 |
} else {
|
1873 |
-
|
|
|
1874 |
}
|
1875 |
}
|
1876 |
}
|
@@ -2072,132 +1603,7 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
2072 |
}
|
2073 |
return true;
|
2074 |
}
|
2075 |
-
|
2076 |
-
/**
|
2077 |
-
* When user places the order and reach the order recieved page, then it will check if it is abandoned cart and subsequently
|
2078 |
-
* recovered or not.
|
2079 |
-
* @hook woocommerce_order_details_after_order_table
|
2080 |
-
* @param array | object $order Order details
|
2081 |
-
* @globals mixed $wpdb
|
2082 |
-
* @globals mixed $woocommerce
|
2083 |
-
* @since 1.0
|
2084 |
-
*/
|
2085 |
-
function wcal_action_after_delivery_session( $order ) {
|
2086 |
-
|
2087 |
-
if ( '' === session_id() ) {
|
2088 |
-
//session has not started
|
2089 |
-
session_start();
|
2090 |
-
}
|
2091 |
-
global $wpdb, $woocommerce;
|
2092 |
-
if ( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
2093 |
-
$order_id = $order->get_id();
|
2094 |
-
} else {
|
2095 |
-
$order_id = $order->id;
|
2096 |
-
}
|
2097 |
-
$get_abandoned_id_of_order = '';
|
2098 |
-
$get_sent_email_id_of_order = '';
|
2099 |
-
$get_abandoned_id_of_order = get_post_meta( $order_id, 'wcal_recover_order_placed', true );
|
2100 |
-
if ( isset( $get_abandoned_id_of_order ) && '' != $get_abandoned_id_of_order ) {
|
2101 |
-
$get_abandoned_id_of_order = get_post_meta( $order_id, 'wcal_recover_order_placed', true );
|
2102 |
-
$get_sent_email_id_of_order = get_post_meta( $order_id, 'wcal_recover_order_placed_sent_id', true );
|
2103 |
-
|
2104 |
-
$query_order = "UPDATE `" . $wpdb->prefix . "ac_abandoned_cart_history_lite` SET recovered_cart= '" . $order_id . "', cart_ignored = '1'
|
2105 |
-
WHERE id = '".$get_abandoned_id_of_order."' ";
|
2106 |
-
$wpdb->query( $query_order );
|
2107 |
-
|
2108 |
-
$order->add_order_note( __( 'This order was abandoned & subsequently recovered.', 'woocommerce-abandoned-cart' ) );
|
2109 |
-
|
2110 |
-
delete_post_meta( $order_id, 'wcal_recover_order_placed', $get_abandoned_id_of_order );
|
2111 |
-
delete_post_meta( $order_id , 'wcal_recover_order_placed_sent_id', $get_sent_email_id_of_order );
|
2112 |
-
}
|
2113 |
-
$user_id = get_current_user_id();
|
2114 |
-
|
2115 |
-
$sent_email = wcal_common::wcal_get_cart_session( 'email_sent_id' );
|
2116 |
-
|
2117 |
-
if( $user_id == "" ) {
|
2118 |
-
$user_id = wcal_common::wcal_get_cart_session( 'user_id' );
|
2119 |
|
2120 |
-
// Set the session variables to blanks
|
2121 |
-
wcal_common::wcal_unset_cart_session( 'guest_first_name' );
|
2122 |
-
wcal_common::wcal_unset_cart_session( 'guest_last_name' );
|
2123 |
-
wcal_common::wcal_unset_cart_session( 'guest_email' );
|
2124 |
-
wcal_common::wcal_unset_cart_session( 'user_id' );
|
2125 |
-
}
|
2126 |
-
delete_user_meta( $user_id, '_woocommerce_ac_persistent_cart_time' );
|
2127 |
-
delete_user_meta( $user_id, '_woocommerce_ac_persistent_cart_temp_time' );
|
2128 |
-
// get all latest abandoned carts that were modified
|
2129 |
-
$cart_ignored = 0;
|
2130 |
-
$recovered_cart = 0;
|
2131 |
-
$query = "SELECT * FROM `".$wpdb->prefix."ac_abandoned_cart_history_lite`
|
2132 |
-
WHERE user_id = %d
|
2133 |
-
AND cart_ignored = %s
|
2134 |
-
AND recovered_cart = %d
|
2135 |
-
ORDER BY id DESC
|
2136 |
-
LIMIT 1";
|
2137 |
-
$results = $wpdb->get_results( $wpdb->prepare( $query, $user_id, $cart_ignored, $recovered_cart ) );
|
2138 |
-
if ( count( $results ) > 0 ) {
|
2139 |
-
if ( get_user_meta( $user_id, '_woocommerce_ac_modified_cart', true ) == md5( "yes" ) ||
|
2140 |
-
get_user_meta( $user_id, '_woocommerce_ac_modified_cart', true ) == md5( "no" ) ) {
|
2141 |
-
|
2142 |
-
if ( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
2143 |
-
$order_id = $order->get_id();
|
2144 |
-
} else {
|
2145 |
-
$order_id = $order->id;
|
2146 |
-
}
|
2147 |
-
$updated_cart_ignored = 1;
|
2148 |
-
$query_order = "UPDATE `".$wpdb->prefix."ac_abandoned_cart_history_lite`
|
2149 |
-
SET recovered_cart = %d,
|
2150 |
-
cart_ignored = %s
|
2151 |
-
WHERE id = %d ";
|
2152 |
-
$wpdb->query( $wpdb->prepare( $query_order, $order_id, $updated_cart_ignored, $results[0]->id ) );
|
2153 |
-
delete_user_meta( $user_id, '_woocommerce_ac_modified_cart' );
|
2154 |
-
delete_post_meta( $order_id, 'wcap_recovered_email_sent', 'yes' );
|
2155 |
-
} else {
|
2156 |
-
$delete_query = "DELETE FROM `".$wpdb->prefix."ac_abandoned_cart_history_lite`
|
2157 |
-
WHERE id= %d ";
|
2158 |
-
$wpdb->query( $wpdb->prepare( $delete_query, $results[0]->id ) );
|
2159 |
-
}
|
2160 |
-
} else {
|
2161 |
-
if ( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
2162 |
-
$email_id = $order->get_billing_email();
|
2163 |
-
} else {
|
2164 |
-
$email_id = $order->billing_email;
|
2165 |
-
}
|
2166 |
-
$query = "SELECT * FROM `".$wpdb->prefix."ac_guest_abandoned_cart_history_lite` WHERE email_id = %s";
|
2167 |
-
$results_id = $wpdb->get_results( $wpdb->prepare( $query, $email_id ) );
|
2168 |
-
|
2169 |
-
if ( $results_id ) {
|
2170 |
-
$record_status = "SELECT * FROM `".$wpdb->prefix."ac_abandoned_cart_history_lite`
|
2171 |
-
WHERE user_id = %d AND recovered_cart = '0'";
|
2172 |
-
$results_status = $wpdb->get_results( $wpdb->prepare( $record_status, $results_id[0]->id ) );
|
2173 |
-
|
2174 |
-
if ( $results_status ) {
|
2175 |
-
if ( get_user_meta( $results_id[0]->id, '_woocommerce_ac_modified_cart', true ) == md5("yes") ||
|
2176 |
-
get_user_meta( $results_id[0]->id, '_woocommerce_ac_modified_cart', true ) == md5("no") ) {
|
2177 |
-
|
2178 |
-
if ( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
2179 |
-
$order_id = $order->get_id();
|
2180 |
-
} else {
|
2181 |
-
$order_id = $order->id;
|
2182 |
-
}
|
2183 |
-
$query_order = "UPDATE `".$wpdb->prefix."ac_abandoned_cart_history_lite`
|
2184 |
-
SET recovered_cart= '".$order_id."', cart_ignored = '1'
|
2185 |
-
WHERE id='".$results_status[0]->id."' ";
|
2186 |
-
$wpdb->query( $query_order );
|
2187 |
-
delete_user_meta( $results_id[0]->id, '_woocommerce_ac_modified_cart' );
|
2188 |
-
delete_post_meta( $order_id, 'wcap_recovered_email_sent', 'yes' );
|
2189 |
-
} else {
|
2190 |
-
$delete_guest = "DELETE FROM `".$wpdb->prefix."ac_guest_abandoned_cart_history_lite` WHERE id = '".$results_id[0]->id."'";
|
2191 |
-
$wpdb->query( $delete_guest );
|
2192 |
-
|
2193 |
-
$delete_query = "DELETE FROM `".$wpdb->prefix."ac_abandoned_cart_history_lite` WHERE user_id='".$results_id[0]->id."' ";
|
2194 |
-
$wpdb->query( $delete_query );
|
2195 |
-
}
|
2196 |
-
}
|
2197 |
-
}
|
2198 |
-
}
|
2199 |
-
}
|
2200 |
-
|
2201 |
/**
|
2202 |
* It will add the wp editor for email body on the email edit page.
|
2203 |
* @hook admin_init
|
@@ -2774,7 +2180,7 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
2774 |
<div id="message" class="updated fade">
|
2775 |
<p>
|
2776 |
<strong>
|
2777 |
-
<?php _e( 'The Email Template has been successfully added.', 'woocommerce-abandoned-cart' ); ?>
|
2778 |
</strong>
|
2779 |
</p>
|
2780 |
</div>
|
@@ -2948,31 +2354,17 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
2948 |
</div>
|
2949 |
<div id="recovered_stats" class="postbox" style="display:block">
|
2950 |
<div class="inside" >
|
2951 |
-
|
2952 |
-
|
2953 |
-
|
2954 |
-
|
2955 |
-
|
2956 |
-
|
2957 |
-
|
2958 |
-
|
2959 |
-
|
2960 |
-
|
2961 |
-
|
2962 |
-
<?php _e( ' were abandoned. We were able to recover', 'woocommerce-abandoned-cart' ); ?>
|
2963 |
-
<strong>
|
2964 |
-
<?php
|
2965 |
-
$recovered_item = $wcal_recover_orders_list->recovered_item;
|
2966 |
-
|
2967 |
-
echo $recovered_item; ?>
|
2968 |
-
</strong>
|
2969 |
-
<?php _e( ' of them, which led to an extra', 'woocommerce-abandoned-cart' ); ?>
|
2970 |
-
<strong>
|
2971 |
-
<?php
|
2972 |
-
$recovered_total = $wcal_recover_orders_list->total_recover_amount;
|
2973 |
-
echo wc_price( $recovered_total ); ?>
|
2974 |
-
</strong>
|
2975 |
-
</p>
|
2976 |
</div>
|
2977 |
</div>
|
2978 |
<div class="wrap">
|
@@ -3154,6 +2546,9 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
3154 |
|
3155 |
$product_id = $v->product_id;
|
3156 |
$product = wc_get_product( $product_id );
|
|
|
|
|
|
|
3157 |
$prod_image = $product->get_image(array(200, 200));
|
3158 |
$product_page_url = get_permalink( $product_id );
|
3159 |
$product_name = $item_details[ 'product_name' ];
|
@@ -3627,6 +3022,8 @@ if ( ! class_exists( 'woocommerce_abandon_cart_lite' ) ) {
|
|
3627 |
}
|
3628 |
|
3629 |
$active = "1";
|
|
|
|
|
3630 |
} else {
|
3631 |
$active = "0";
|
3632 |
}
|
5 |
* Description: This plugin captures abandoned carts by logged-in users & emails them about it.
|
6 |
* <strong><a href="http://www.tychesoftwares.com/store/premium-plugins/woocommerce-abandoned-cart-pro">Click here to get the
|
7 |
* PRO Version.</a></strong>
|
8 |
+
* Version: 5.3.0
|
9 |
* Author: Tyche Softwares
|
10 |
* Author URI: http://www.tychesoftwares.com/
|
11 |
* Text Domain: woocommerce-abandoned-cart
|
17 |
* @package Abandoned-Cart-Lite-for-WooCommerce
|
18 |
*/
|
19 |
|
|
|
|
|
|
|
20 |
require_once( "includes/wcal_class-guest.php" );
|
21 |
require_once( "includes/wcal_default-settings.php" );
|
22 |
require_once( "includes/wcal_actions.php" );
|
82 |
$plugin_dir_path = plugin_dir_path( __FILE__ );
|
83 |
require_once( $plugin_dir_path . 'cron/wcal_send_email.php' );
|
84 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
/**
|
86 |
* woocommerce_abandon_cart_lite class
|
87 |
**/
|
152 |
|
153 |
// Actions to be done on cart update
|
154 |
add_action ( 'woocommerce_cart_updated', array( &$this, 'wcal_store_cart_timestamp' ) );
|
155 |
+
|
|
|
|
|
|
|
156 |
add_action ( 'admin_init', array( &$this, 'wcal_action_admin_init' ) );
|
157 |
|
158 |
// Update the options as per settings API
|
174 |
|
175 |
add_action ( 'admin_enqueue_scripts', array( &$this, 'wcal_enqueue_scripts_js' ) );
|
176 |
add_action ( 'admin_enqueue_scripts', array( &$this, 'wcal_enqueue_scripts_css' ) );
|
177 |
+
//delete abandoned order after X number of days
|
178 |
if ( class_exists( 'wcal_delete_bulk_action_handler' ) ) {
|
179 |
add_action( 'wcal_clear_carts', array( 'wcal_delete_bulk_action_handler', 'wcal_delete_abandoned_carts_after_x_days' ) );
|
180 |
}
|
189 |
add_filter( 'ts_tracker_opt_out_data', array( 'wcal_common', 'ts_get_data_for_opt_out' ), 10, 1 );
|
190 |
add_filter( 'ts_deativate_plugin_questions', array( &$this, 'wcal_deactivate_add_questions' ), 10, 1 );
|
191 |
}
|
192 |
+
|
193 |
+
// Plugin Settings link in WP->Plugins page
|
194 |
+
$plugin = plugin_basename( __FILE__ );
|
195 |
+
add_action( "plugin_action_links_$plugin", array( &$this, 'wcal_settings_link' ) );
|
|
|
|
|
|
|
|
|
|
|
196 |
|
197 |
add_action( 'admin_init', array( $this, 'wcal_preview_emails' ) );
|
198 |
add_action( 'init', array( $this, 'wcal_app_output_buffer') );
|
199 |
+
|
|
|
200 |
add_filter( 'admin_footer_text', array( $this, 'wcal_admin_footer_text' ), 1 );
|
201 |
|
202 |
+
add_action( 'admin_notices', array( 'Wcal_Admin_Notice', 'wcal_show_db_update_notice' ) );
|
203 |
+
|
204 |
+
add_action( 'wp_login', array( &$this, 'wcal_remove_action_hook' ), 1 );
|
205 |
+
|
206 |
+
include_once 'includes/frontend/wcal_frontend.php';
|
207 |
}
|
208 |
+
|
209 |
+
public static function wcal_remove_action_hook(){
|
210 |
+
remove_action( 'woocommerce_cart_updated', array( &$this, 'wcal_store_cart_timestamp' ) );
|
211 |
+
}
|
212 |
+
|
213 |
+
/**
|
214 |
+
* Add Settings link to WP->Plugins page
|
215 |
+
* @since 5.3.0
|
216 |
+
*/
|
217 |
+
public static function wcal_settings_link( $links ) {
|
218 |
+
$settings_link = '<a href="admin.php?page=woocommerce_ac_page&action=emailsettings">' . __( 'Settings', 'woocommerce-abandoned-cart' ) . '</a>';
|
219 |
+
array_push( $links, $settings_link );
|
220 |
+
return $links;
|
221 |
+
}
|
222 |
+
|
223 |
+
/**
|
224 |
* It will load the boilerplate components file. In this file we have included all boilerplate files.
|
225 |
* We need to inlcude this file after the init hook.
|
226 |
* @hook init
|
268 |
);
|
269 |
return $wcal_add_questions;
|
270 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
271 |
|
272 |
/**
|
273 |
* It will ganerate the preview email template.
|
880 |
$wcal_previous_version = get_option( 'wcal_previous_version' );
|
881 |
|
882 |
if ( $wcal_previous_version != wcal_common::wcal_get_version() ) {
|
883 |
+
update_option( 'wcal_previous_version', '5.3.0' );
|
884 |
}
|
885 |
|
886 |
/**
|
1073 |
update_option( 'ac_lite_user_cleanup', 'yes' );
|
1074 |
}
|
1075 |
}
|
1076 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1077 |
/**
|
1078 |
* Add a submenu page under the WooCommerce.
|
1079 |
* @hook admin_menu
|
1092 |
*/
|
1093 |
function wcal_store_cart_timestamp() {
|
1094 |
|
1095 |
+
if ( get_transient( 'wcal_email_sent_id' ) !== false ) {
|
1096 |
+
wcal_common::wcal_set_cart_session( 'email_sent_id', get_transient( 'wcal_email_sent_id' ) );
|
1097 |
+
delete_transient( 'wcal_email_sent_id' );
|
1098 |
+
}
|
1099 |
+
if ( get_transient( 'wcal_abandoned_id' ) !== false ) {
|
1100 |
+
wcal_common::wcal_set_cart_session( 'abandoned_cart_id_lite', get_transient( 'wcal_abandoned_id' ) );
|
1101 |
+
delete_transient( 'wcal_abandoned_id' );
|
1102 |
+
}
|
1103 |
+
|
1104 |
global $wpdb,$woocommerce;
|
1105 |
$current_time = current_time( 'timestamp' );
|
1106 |
$cut_off_time = get_option( 'ac_lite_cart_abandoned_time' );
|
1107 |
$track_guest_cart_from_cart_page = get_option( 'ac_lite_track_guest_cart_from_cart_page' );
|
1108 |
$cart_ignored = 0;
|
1109 |
$recovered_cart = 0;
|
1110 |
+
|
1111 |
$track_guest_user_cart_from_cart = "";
|
1112 |
if ( isset( $track_guest_cart_from_cart_page ) ) {
|
1113 |
$track_guest_user_cart_from_cart = $track_guest_cart_from_cart_page;
|
1133 |
|
1134 |
$cart_info_meta = json_encode( get_user_meta( $user_id, $wcal_woocommerce_persistent_cart, true ) );
|
1135 |
|
1136 |
+
if( '' !== $cart_info_meta && '{"cart":[]}' != $cart_info_meta && '""' !== $cart_info_meta ) {
|
1137 |
$cart_info = $cart_info_meta;
|
1138 |
$user_type = "REGISTERED";
|
1139 |
$insert_query = "INSERT INTO `".$wpdb->prefix."ac_abandoned_cart_history_lite`
|
1140 |
( user_id, abandoned_cart_info, abandoned_cart_time, cart_ignored, user_type )
|
1141 |
VALUES ( %d, %s, %d, %s, %s )";
|
1142 |
$wpdb->query( $wpdb->prepare( $insert_query, $user_id, $cart_info,$current_time, $cart_ignored, $user_type ) );
|
1143 |
+
|
1144 |
$abandoned_cart_id = $wpdb->insert_id;
|
1145 |
wcal_common::wcal_set_cart_session( 'abandoned_cart_id_lite', $abandoned_cart_id );
|
1146 |
}
|
1367 |
$url = substr( $link_decode, $url_pos );
|
1368 |
$get_ac_id_query = "SELECT abandoned_order_id FROM `".$wpdb->prefix."ac_sent_history_lite` WHERE id = %d";
|
1369 |
$get_ac_id_results = $wpdb->get_results( $wpdb->prepare( $get_ac_id_query, $email_sent_id ) );
|
1370 |
+
|
1371 |
+
wcal_common::wcal_set_cart_session( 'abandoned_cart_id_lite', $get_ac_id_results[0]->abandoned_order_id );
|
1372 |
+
set_transient( 'wcal_abandoned_id', $get_ac_id_results[0]->abandoned_order_id, 5 );
|
1373 |
+
|
1374 |
$get_user_results = array();
|
1375 |
if ( count( $get_ac_id_results ) > 0 ) {
|
1376 |
$get_user_id_query = "SELECT user_id FROM `".$wpdb->prefix."ac_abandoned_cart_history_lite` WHERE id = %d";
|
1397 |
wcal_common::wcal_set_cart_session( 'user_id', $user_id );
|
1398 |
} else {
|
1399 |
if ( version_compare( $woocommerce->version, '3.0.0', ">=" ) ) {
|
1400 |
+
wp_safe_redirect( get_permalink( wc_get_page_id( 'shop' ) ) );
|
1401 |
+
exit;
|
1402 |
} else {
|
1403 |
+
wp_safe_redirect( get_permalink( woocommerce_get_page_id( 'shop' ) ) );
|
1404 |
+
exit;
|
1405 |
}
|
1406 |
}
|
1407 |
}
|
1603 |
}
|
1604 |
return true;
|
1605 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1606 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1607 |
/**
|
1608 |
* It will add the wp editor for email body on the email edit page.
|
1609 |
* @hook admin_init
|
2180 |
<div id="message" class="updated fade">
|
2181 |
<p>
|
2182 |
<strong>
|
2183 |
+
<?php _e( 'The Email Template has been successfully added. In order to start sending this email to your customers, please activate it.', 'woocommerce-abandoned-cart' ); ?>
|
2184 |
</strong>
|
2185 |
</p>
|
2186 |
</div>
|
2354 |
</div>
|
2355 |
<div id="recovered_stats" class="postbox" style="display:block">
|
2356 |
<div class="inside" >
|
2357 |
+
<?php
|
2358 |
+
$count = $wcal_recover_orders_list->total_abandoned_cart_count;
|
2359 |
+
$total_of_all_order = $wcal_recover_orders_list->total_order_amount;
|
2360 |
+
$recovered_item = $wcal_recover_orders_list->recovered_item;
|
2361 |
+
$recovered_total = wc_price( $wcal_recover_orders_list->total_recover_amount );
|
2362 |
+
?>
|
2363 |
+
<p style="font-size: 15px;">
|
2364 |
+
<?php
|
2365 |
+
printf( __( 'During the selected range <strong>%d</strong> carts totaling <strong>%s</strong> were abandoned. We were able to recover <strong>%d</strong> of them, which led to an extra <strong>%s</strong>', 'woocommerce-abandoned-cart' ), $count, $total_of_all_order, $recovered_item, $recovered_total );
|
2366 |
+
?>
|
2367 |
+
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2368 |
</div>
|
2369 |
</div>
|
2370 |
<div class="wrap">
|
2546 |
|
2547 |
$product_id = $v->product_id;
|
2548 |
$product = wc_get_product( $product_id );
|
2549 |
+
if( ! $product ) { // product not found, exclude it from the cart display
|
2550 |
+
continue;
|
2551 |
+
}
|
2552 |
$prod_image = $product->get_image(array(200, 200));
|
2553 |
$product_page_url = get_permalink( $product_id );
|
2554 |
$product_name = $item_details[ 'product_name' ];
|
3022 |
}
|
3023 |
|
3024 |
$active = "1";
|
3025 |
+
|
3026 |
+
update_option( 'wcal_template_' . $template_id . '_time', current_time( 'timestamp' ) );
|
3027 |
} else {
|
3028 |
$active = "0";
|
3029 |
}
|