Funnel Builder by CartFlows – Create High Converting Sales Funnels For WordPress - Version 1.5.6

Version Description

Download this release

Release Info

Developer sandesh055
Plugin Icon Funnel Builder by CartFlows – Create High Converting Sales Funnels For WordPress
Version 1.5.6
Comparing to
See all releases

Code changes from version 1.5.5 to 1.5.6

assets/css/checkout-template-the-seven-rtl.css CHANGED
@@ -19,7 +19,8 @@ body.page,
19
  font-size: inherit;
20
  }
21
 
22
- .wcf-embed-checkout-form-one-column #customer_details{
 
23
  width: 100%;
24
  }
25
  .wcf-embed-checkout-form-two-column #customer_details{
19
  font-size: inherit;
20
  }
21
 
22
+ .wcf-embed-checkout-form-one-column #customer_details,
23
+ .wcf-embed-checkout-form-two-step #customer_details{
24
  width: 100%;
25
  }
26
  .wcf-embed-checkout-form-two-column #customer_details{
assets/css/checkout-template-the-seven.css CHANGED
@@ -19,7 +19,8 @@ body.page,
19
  font-size: inherit;
20
  }
21
 
22
- .wcf-embed-checkout-form-one-column #customer_details{
 
23
  width: 100%;
24
  }
25
  .wcf-embed-checkout-form-two-column #customer_details{
19
  font-size: inherit;
20
  }
21
 
22
+ .wcf-embed-checkout-form-one-column #customer_details,
23
+ .wcf-embed-checkout-form-two-step #customer_details{
24
  width: 100%;
25
  }
26
  .wcf-embed-checkout-form-two-column #customer_details{
assets/min-css/checkout-template-the-seven-rtl.min.css CHANGED
@@ -1 +1 @@
1
- .wf-container>*,body,body.page,button,input,optgroup,select,textarea{font-family:normal 1rem/2 sans-serif,Helvetica,Arial,Verdana,sans-serif;font-size:inherit}.wcf-embed-checkout-form-one-column #customer_details{width:100%}.wcf-embed-checkout-form-two-column #customer_details{width:55%}.wpcf7-number,input[type=date],input[type=email],input[type=number],input[type=password],input[type=range],input[type=search],input[type=tel],input[type=text],input[type=url],select{height:auto}#ship-to-different-address{font:inherit}#ship-to-different-address label,.create-account label.checkbox span{font-size:inherit;line-height:inherit}.order_details .product-name,.order_details .product-name a,.woocommerce-checkout-review-order .product-name,.woocommerce-checkout-review-order .product-name a{font:inherit;font-size:inherit;color:inherit}.order_details .about_paypal,.order_details .cart-subtotal th,.order_details .order-total th,.order_details .product-quantity,.order_details .product-total,.order_details .product-total .woocommerce-Price-amount,.order_details .shipping th,.order_details tfoot th,.woocommerce-checkout-review-order .about_paypal,.woocommerce-checkout-review-order .cart-subtotal th,.woocommerce-checkout-review-order .order-total th,.woocommerce-checkout-review-order .product-quantity,.woocommerce-checkout-review-order .product-total,.woocommerce-checkout-review-order .product-total .woocommerce-Price-amount,.woocommerce-checkout-review-order .shipping th,.woocommerce-checkout-review-order tfoot th{color:inherit}#shipping_method label,.payment_methods label{color:inherit;font-size:inherit;line-height:inherit}.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-checkbox-text,.woocommerce-terms-and-conditions-text{font-size:inherit;line-height:inherit}.woocommerce-error .woocommerce-error-text,.woocommerce-error .woocommerce-info-text,.woocommerce-error .woocommerce-message-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-error-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-info-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-message-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-error-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-info-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-message-text{font:inherit}.checkout .woocommerce-NoticeGroup .woocommerce-error .woocommerce-error-text{margin:0;padding-right:0}table.shop_table tbody tr td,table.shop_table tbody tr th,table.shop_table thead tr td,table.shop_table thead tr th{border:none;font-weight:400;width:50%}@media screen and (max-width:990px){#customer_details{width:100%}.mt20{margin-top:10px!important}}@media only screen and (max-width:768px){#customer_details{width:100%}.mt20{margin-top:10px!important}}@media screen and (max-width:600px){#customer_details{width:100%}table.shop_table tbody tr{padding:0}.shop_table tr{border-top:inherit;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:inherit;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-flow:inherit;flex-flow:inherit}.shop_table tr.cart_item td.product-name{-webkit-box-align:baseline;-webkit-align-items:baseline;-moz-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:inherit;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-flow:inherit;flex-flow:inherit;text-align:right}.shop_table thead{display:block}}
1
+ .wf-container>*,body,body.page,button,input,optgroup,select,textarea{font-family:normal 1rem/2 sans-serif,Helvetica,Arial,Verdana,sans-serif;font-size:inherit}.wcf-embed-checkout-form-one-column #customer_details,.wcf-embed-checkout-form-two-step #customer_details{width:100%}.wcf-embed-checkout-form-two-column #customer_details{width:55%}.wpcf7-number,input[type=date],input[type=email],input[type=number],input[type=password],input[type=range],input[type=search],input[type=tel],input[type=text],input[type=url],select{height:auto}#ship-to-different-address{font:inherit}#ship-to-different-address label,.create-account label.checkbox span{font-size:inherit;line-height:inherit}.order_details .product-name,.order_details .product-name a,.woocommerce-checkout-review-order .product-name,.woocommerce-checkout-review-order .product-name a{font:inherit;font-size:inherit;color:inherit}.order_details .about_paypal,.order_details .cart-subtotal th,.order_details .order-total th,.order_details .product-quantity,.order_details .product-total,.order_details .product-total .woocommerce-Price-amount,.order_details .shipping th,.order_details tfoot th,.woocommerce-checkout-review-order .about_paypal,.woocommerce-checkout-review-order .cart-subtotal th,.woocommerce-checkout-review-order .order-total th,.woocommerce-checkout-review-order .product-quantity,.woocommerce-checkout-review-order .product-total,.woocommerce-checkout-review-order .product-total .woocommerce-Price-amount,.woocommerce-checkout-review-order .shipping th,.woocommerce-checkout-review-order tfoot th{color:inherit}#shipping_method label,.payment_methods label{color:inherit;font-size:inherit;line-height:inherit}.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-checkbox-text,.woocommerce-terms-and-conditions-text{font-size:inherit;line-height:inherit}.woocommerce-error .woocommerce-error-text,.woocommerce-error .woocommerce-info-text,.woocommerce-error .woocommerce-message-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-error-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-info-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-message-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-error-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-info-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-message-text{font:inherit}.checkout .woocommerce-NoticeGroup .woocommerce-error .woocommerce-error-text{margin:0;padding-right:0}table.shop_table tbody tr td,table.shop_table tbody tr th,table.shop_table thead tr td,table.shop_table thead tr th{border:none;font-weight:400;width:50%}@media screen and (max-width:990px){#customer_details{width:100%}.mt20{margin-top:10px!important}}@media only screen and (max-width:768px){#customer_details{width:100%}.mt20{margin-top:10px!important}}@media screen and (max-width:600px){#customer_details{width:100%}table.shop_table tbody tr{padding:0}.shop_table tr{border-top:inherit;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:inherit;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-flow:inherit;flex-flow:inherit}.shop_table tr.cart_item td.product-name{-webkit-box-align:baseline;-webkit-align-items:baseline;-moz-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:inherit;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-flow:inherit;flex-flow:inherit;text-align:right}.shop_table thead{display:block}}
assets/min-css/checkout-template-the-seven.min.css CHANGED
@@ -1 +1 @@
1
- .wf-container>*,body,body.page,button,input,optgroup,select,textarea{font-family:normal 1rem/2 sans-serif,Helvetica,Arial,Verdana,sans-serif;font-size:inherit}.wcf-embed-checkout-form-one-column #customer_details{width:100%}.wcf-embed-checkout-form-two-column #customer_details{width:55%}.wpcf7-number,input[type=date],input[type=email],input[type=number],input[type=password],input[type=range],input[type=search],input[type=tel],input[type=text],input[type=url],select{height:auto}#ship-to-different-address{font:inherit}#ship-to-different-address label,.create-account label.checkbox span{font-size:inherit;line-height:inherit}.order_details .product-name,.order_details .product-name a,.woocommerce-checkout-review-order .product-name,.woocommerce-checkout-review-order .product-name a{font:inherit;font-size:inherit;color:inherit}.order_details .about_paypal,.order_details .cart-subtotal th,.order_details .order-total th,.order_details .product-quantity,.order_details .product-total,.order_details .product-total .woocommerce-Price-amount,.order_details .shipping th,.order_details tfoot th,.woocommerce-checkout-review-order .about_paypal,.woocommerce-checkout-review-order .cart-subtotal th,.woocommerce-checkout-review-order .order-total th,.woocommerce-checkout-review-order .product-quantity,.woocommerce-checkout-review-order .product-total,.woocommerce-checkout-review-order .product-total .woocommerce-Price-amount,.woocommerce-checkout-review-order .shipping th,.woocommerce-checkout-review-order tfoot th{color:inherit}#shipping_method label,.payment_methods label{color:inherit;font-size:inherit;line-height:inherit}.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-checkbox-text,.woocommerce-terms-and-conditions-text{font-size:inherit;line-height:inherit}.woocommerce-error .woocommerce-error-text,.woocommerce-error .woocommerce-info-text,.woocommerce-error .woocommerce-message-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-error-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-info-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-message-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-error-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-info-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-message-text{font:inherit}.checkout .woocommerce-NoticeGroup .woocommerce-error .woocommerce-error-text{margin:0;padding-left:0}table.shop_table tbody tr td,table.shop_table tbody tr th,table.shop_table thead tr td,table.shop_table thead tr th{border:none;font-weight:400;width:50%}@media screen and (max-width:990px){#customer_details{width:100%}.mt20{margin-top:10px!important}}@media only screen and (max-width:768px){#customer_details{width:100%}.mt20{margin-top:10px!important}}@media screen and (max-width:600px){#customer_details{width:100%}table.shop_table tbody tr{padding:0}.shop_table tr{border-top:inherit;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:inherit;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-flow:inherit;flex-flow:inherit}.shop_table tr.cart_item td.product-name{-webkit-box-align:baseline;-webkit-align-items:baseline;-moz-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:inherit;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-flow:inherit;flex-flow:inherit;text-align:left}.shop_table thead{display:block}}
1
+ .wf-container>*,body,body.page,button,input,optgroup,select,textarea{font-family:normal 1rem/2 sans-serif,Helvetica,Arial,Verdana,sans-serif;font-size:inherit}.wcf-embed-checkout-form-one-column #customer_details,.wcf-embed-checkout-form-two-step #customer_details{width:100%}.wcf-embed-checkout-form-two-column #customer_details{width:55%}.wpcf7-number,input[type=date],input[type=email],input[type=number],input[type=password],input[type=range],input[type=search],input[type=tel],input[type=text],input[type=url],select{height:auto}#ship-to-different-address{font:inherit}#ship-to-different-address label,.create-account label.checkbox span{font-size:inherit;line-height:inherit}.order_details .product-name,.order_details .product-name a,.woocommerce-checkout-review-order .product-name,.woocommerce-checkout-review-order .product-name a{font:inherit;font-size:inherit;color:inherit}.order_details .about_paypal,.order_details .cart-subtotal th,.order_details .order-total th,.order_details .product-quantity,.order_details .product-total,.order_details .product-total .woocommerce-Price-amount,.order_details .shipping th,.order_details tfoot th,.woocommerce-checkout-review-order .about_paypal,.woocommerce-checkout-review-order .cart-subtotal th,.woocommerce-checkout-review-order .order-total th,.woocommerce-checkout-review-order .product-quantity,.woocommerce-checkout-review-order .product-total,.woocommerce-checkout-review-order .product-total .woocommerce-Price-amount,.woocommerce-checkout-review-order .shipping th,.woocommerce-checkout-review-order tfoot th{color:inherit}#shipping_method label,.payment_methods label{color:inherit;font-size:inherit;line-height:inherit}.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-checkbox-text,.woocommerce-terms-and-conditions-text{font-size:inherit;line-height:inherit}.woocommerce-error .woocommerce-error-text,.woocommerce-error .woocommerce-info-text,.woocommerce-error .woocommerce-message-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-error-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-info-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-info .woocommerce-message-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-error-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-info-text,div:not(.wc-coupon-wrap):not(.wc-login-wrap):not(.woocommerce-MyAccount-content)>.woocommerce-message .woocommerce-message-text{font:inherit}.checkout .woocommerce-NoticeGroup .woocommerce-error .woocommerce-error-text{margin:0;padding-left:0}table.shop_table tbody tr td,table.shop_table tbody tr th,table.shop_table thead tr td,table.shop_table thead tr th{border:none;font-weight:400;width:50%}@media screen and (max-width:990px){#customer_details{width:100%}.mt20{margin-top:10px!important}}@media only screen and (max-width:768px){#customer_details{width:100%}.mt20{margin-top:10px!important}}@media screen and (max-width:600px){#customer_details{width:100%}table.shop_table tbody tr{padding:0}.shop_table tr{border-top:inherit;-js-display:flex;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:inherit;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-flow:inherit;flex-flow:inherit}.shop_table tr.cart_item td.product-name{-webkit-box-align:baseline;-webkit-align-items:baseline;-moz-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:inherit;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-flow:inherit;flex-flow:inherit;text-align:left}.shop_table thead{display:block}}
cartflows.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: CartFlows
4
  * Plugin URI: https://cartflows.com/
5
  * Description: Create beautiful checkout pages & sales flows for WooCommerce.
6
- * Version: 1.5.5
7
  * Author: CartFlows Inc
8
  * Author URI: https://cartflows.com/
9
  * Text Domain: cartflows
3
  * Plugin Name: CartFlows
4
  * Plugin URI: https://cartflows.com/
5
  * Description: Create beautiful checkout pages & sales flows for WooCommerce.
6
+ * Version: 1.5.6
7
  * Author: CartFlows Inc
8
  * Author URI: https://cartflows.com/
9
  * Text Domain: cartflows
changelog.txt CHANGED
@@ -1,3 +1,7 @@
 
 
 
 
1
  Version 1.5.5 - Tuesday, 14th April 2020
2
  - Fix: CSS conflict with the latest release of Astra theme.
3
 
1
+ Version 1.5.6 - Thursday, 23rd April 2020
2
+ - Fix: Checkout two-step type CSS conflict with the latest version of The-7 theme.
3
+ - Fix: Optin step CSS conflict with the Astra theme.
4
+
5
  Version 1.5.5 - Tuesday, 14th April 2020
6
  - Fix: CSS conflict with the latest release of Astra theme.
7
 
classes/class-cartflows-loader.php CHANGED
@@ -125,7 +125,7 @@ if ( ! class_exists( 'Cartflows_Loader' ) ) {
125
  define( 'CARTFLOWS_BASE', plugin_basename( CARTFLOWS_FILE ) );
126
  define( 'CARTFLOWS_DIR', plugin_dir_path( CARTFLOWS_FILE ) );
127
  define( 'CARTFLOWS_URL', plugins_url( '/', CARTFLOWS_FILE ) );
128
- define( 'CARTFLOWS_VER', '1.5.5' );
129
  define( 'CARTFLOWS_SLUG', 'cartflows' );
130
  define( 'CARTFLOWS_SETTINGS', 'cartflows_settings' );
131
 
125
  define( 'CARTFLOWS_BASE', plugin_basename( CARTFLOWS_FILE ) );
126
  define( 'CARTFLOWS_DIR', plugin_dir_path( CARTFLOWS_FILE ) );
127
  define( 'CARTFLOWS_URL', plugins_url( '/', CARTFLOWS_FILE ) );
128
+ define( 'CARTFLOWS_VER', '1.5.6' );
129
  define( 'CARTFLOWS_SLUG', 'cartflows' );
130
  define( 'CARTFLOWS_SETTINGS', 'cartflows_settings' );
131
 
classes/class-cartflows-meta.php CHANGED
@@ -1,75 +1,75 @@
1
- <?php
2
- /**
3
- * CartFlows Meta
4
- *
5
- * @package CartFlows
6
- * @since 1.0.0
7
- */
8
-
9
- if ( ! class_exists( 'Cartflows_Meta' ) ) :
10
-
11
- /**
12
- * CartFlows_Meta
13
- *
14
- * @since 1.0.0
15
- */
16
- class Cartflows_Meta {
17
- /**
18
- * Constructor
19
- *
20
- * @since 1.0.0
21
- */
22
- public function __construct() {
23
- }
24
-
25
- /**
26
- * Flow & Step Actions
27
- *
28
- * @param array $options options.
29
- * @param int $post_id post ID.
30
- */
31
- public function right_column_footer( $options, $post_id ) {
32
- ?>
33
- <div class="wcf-column-right-footer">
34
- <?php submit_button( __( 'Update', 'cartflows' ), 'primary', 'wcf-save', false ); ?>
35
-
36
- <?php
37
- $flow_id = get_post_meta( $post_id, 'wcf-flow-id', true );
38
- if ( $flow_id ) {
39
- ?>
40
- <a href="<?php echo esc_url( get_edit_post_link( $flow_id ) ); ?>" class="button pull-right wcf-back-to-flow-edit">
41
- <i class="dashicons dashicons-arrow-left-alt"></i>
42
- <?php esc_html_e( 'Back to edit Flow', 'cartflows' ); ?>
43
- </a>
44
- <?php } ?>
45
-
46
- </div>
47
- <?php
48
- }
49
-
50
- /**
51
- * Script Header (Used for add script into header)
52
- *
53
- * @param array $options options.
54
- * @param int $post_id post ID.
55
- */
56
- public function tab_custom_script( $options, $post_id ) {
57
- ?>
58
- <div class="wcf-<?php echo wcf()->utils->get_step_type( $post_id ); ?>-custom-script-header wcf-tab-content widefat">
59
- <?php
60
- /* Script added onto the header */
61
- echo wcf()->meta->get_area_field(
62
- array(
63
- 'label' => __( 'Custom Script', 'cartflows' ),
64
- 'name' => 'wcf-custom-script',
65
- 'value' => htmlspecialchars( $options['wcf-custom-script'], ENT_COMPAT, 'utf-8' ),
66
- 'help' => esc_html__( 'Custom script lets you add your own custom script on front end of this flow page.', 'cartflows' ),
67
- )
68
- );
69
- ?>
70
- </div>
71
- <?php
72
- }
73
- }
74
-
75
- endif;
1
+ <?php
2
+ /**
3
+ * CartFlows Meta
4
+ *
5
+ * @package CartFlows
6
+ * @since 1.0.0
7
+ */
8
+
9
+ if ( ! class_exists( 'Cartflows_Meta' ) ) :
10
+
11
+ /**
12
+ * CartFlows_Meta
13
+ *
14
+ * @since 1.0.0
15
+ */
16
+ class Cartflows_Meta {
17
+ /**
18
+ * Constructor
19
+ *
20
+ * @since 1.0.0
21
+ */
22
+ public function __construct() {
23
+ }
24
+
25
+ /**
26
+ * Flow & Step Actions
27
+ *
28
+ * @param array $options options.
29
+ * @param int $post_id post ID.
30
+ */
31
+ public function right_column_footer( $options, $post_id ) {
32
+ ?>
33
+ <div class="wcf-column-right-footer">
34
+ <?php submit_button( __( 'Update', 'cartflows' ), 'primary', 'wcf-save', false ); ?>
35
+
36
+ <?php
37
+ $flow_id = get_post_meta( $post_id, 'wcf-flow-id', true );
38
+ if ( $flow_id ) {
39
+ ?>
40
+ <a href="<?php echo esc_url( get_edit_post_link( $flow_id ) ); ?>" class="button pull-right wcf-back-to-flow-edit">
41
+ <i class="dashicons dashicons-arrow-left-alt"></i>
42
+ <?php esc_html_e( 'Back to edit Flow', 'cartflows' ); ?>
43
+ </a>
44
+ <?php } ?>
45
+
46
+ </div>
47
+ <?php
48
+ }
49
+
50
+ /**
51
+ * Script Header (Used for add script into header)
52
+ *
53
+ * @param array $options options.
54
+ * @param int $post_id post ID.
55
+ */
56
+ public function tab_custom_script( $options, $post_id ) {
57
+ ?>
58
+ <div class="wcf-<?php echo wcf()->utils->get_step_type( $post_id ); ?>-custom-script-header wcf-tab-content widefat">
59
+ <?php
60
+ /* Script added onto the header */
61
+ echo wcf()->meta->get_area_field(
62
+ array(
63
+ 'label' => __( 'Custom Script', 'cartflows' ),
64
+ 'name' => 'wcf-custom-script',
65
+ 'value' => htmlspecialchars( $options['wcf-custom-script'], ENT_COMPAT, 'utf-8' ),
66
+ 'help' => esc_html__( 'Custom script lets you add your own custom script on front end of this flow page.', 'cartflows' ),
67
+ )
68
+ );
69
+ ?>
70
+ </div>
71
+ <?php
72
+ }
73
+ }
74
+
75
+ endif;
languages/cartflows.pot CHANGED
@@ -1,1991 +1,1991 @@
1
- # Copyright (C) 2020 CartFlows Inc
2
- # This file is distributed under the same license as the CartFlows package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: CartFlows 1.5.5\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/cartflows\n"
7
- "POT-Creation-Date: 2020-04-14 10:14:33+00:00\n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=utf-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2020-MO-DA HO:MI+ZONE\n"
12
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
- "Language-Team: LANGUAGE <LL@li.org>\n"
14
- "Language: en\n"
15
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
- "X-Poedit-Country: United States\n"
17
- "X-Poedit-SourceCharset: UTF-8\n"
18
- "X-Poedit-KeywordsList: "
19
- "__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
20
- "attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
21
- "X-Poedit-Basepath: ../\n"
22
- "X-Poedit-SearchPath-0: .\n"
23
- "X-Poedit-Bookmarks: \n"
24
- "X-Textdomain-Support: yes\n"
25
- "X-Generator: grunt-wp-i18n 1.0.3\n"
26
-
27
- #: classes/batch-process/class-cartflows-importer-elementor.php:44
28
- msgid "Invalid content."
29
- msgstr ""
30
-
31
- #: classes/batch-process/class-cartflows-importer-elementor.php:52
32
- msgid "Invalid content. Expected an array."
33
- msgstr ""
34
-
35
- #: classes/batch-process/helpers/class-wp-background-process.php:435
36
- msgid "Every %d Minutes"
37
- msgstr ""
38
-
39
- #: classes/class-cartflows-admin-fields.php:231
40
- msgid "Select"
41
- msgstr ""
42
-
43
- #: classes/class-cartflows-admin-fields.php:234
44
- msgid "No Checkout Steps"
45
- msgstr ""
46
-
47
- #: classes/class-cartflows-admin-fields.php:260
48
- #. translators: %s: link
49
- msgid ""
50
- "Be sure not to add any product in above selected Global Checkout step. "
51
- "Please read information about how to set up Global Checkout %1$shere%2$s."
52
- msgstr ""
53
-
54
- #: classes/class-cartflows-admin.php:153 classes/class-cartflows-admin.php:154
55
- #: includes/admin/cartflows-general-bck.php:34
56
- #: modules/optin/classes/class-cartflows-optin-meta.php:150
57
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:148
58
- msgid "Settings"
59
- msgstr ""
60
-
61
- #: classes/class-cartflows-admin.php:436
62
- msgid "Installing and activating.."
63
- msgstr ""
64
-
65
- #: classes/class-cartflows-admin.php:437
66
- msgid "There was an error with the installation of plugin."
67
- msgstr ""
68
-
69
- #: classes/class-cartflows-admin.php:491
70
- msgid "Flows Library"
71
- msgstr ""
72
-
73
- #: classes/class-cartflows-admin.php:498
74
- #: modules/flow/view/meta-flow-steps.php:156
75
- msgid "Ready Templates"
76
- msgstr ""
77
-
78
- #: classes/class-cartflows-admin.php:501
79
- #: modules/flow/view/meta-flow-steps.php:159
80
- msgid "Create Your Own"
81
- msgstr ""
82
-
83
- #: classes/class-cartflows-admin.php:512
84
- #: modules/flow/view/meta-flow-steps.php:171
85
- msgid "Search Sites"
86
- msgstr ""
87
-
88
- #: classes/class-cartflows-admin.php:513
89
- #: modules/flow/view/meta-flow-steps.php:172
90
- msgid "Search Flow..."
91
- msgstr ""
92
-
93
- #: classes/class-cartflows-admin.php:530
94
- msgid "Design Your Flow"
95
- msgstr ""
96
-
97
- #: classes/class-cartflows-admin.php:531
98
- #: classes/class-cartflows-importer.php:637
99
- #: classes/class-cartflows-importer.php:736
100
- #: modules/flow/view/meta-flow-steps.php:202
101
- msgid "Learn How"
102
- msgstr ""
103
-
104
- #: classes/class-cartflows-api.php:368
105
- msgid "Request successfully processed!"
106
- msgstr ""
107
-
108
- #: classes/class-cartflows-cloning.php:423
109
- msgid "Clone this flow"
110
- msgstr ""
111
-
112
- #: classes/class-cartflows-cloning.php:423
113
- #: modules/flow/view/meta-flow-steps.php:115
114
- msgid "Clone"
115
- msgstr ""
116
-
117
- #: classes/class-cartflows-default-meta.php:741
118
- #: modules/optin/classes/class-cartflows-optin-meta.php:487
119
- msgid "Submit"
120
- msgstr ""
121
-
122
- #: classes/class-cartflows-flow-frontend.php:53
123
- msgid ""
124
- "Test mode is active — which displays random products for previewing. It can "
125
- "be deactivated from the flow settings in the admin dashboard."
126
- msgstr ""
127
-
128
- #: classes/class-cartflows-flow-frontend.php:58
129
- msgid "Click here to disable it"
130
- msgstr ""
131
-
132
- #: classes/class-cartflows-importer.php:81
133
- msgid "Export this flow"
134
- msgstr ""
135
-
136
- #: classes/class-cartflows-importer.php:81 includes/exporter.php:18
137
- msgid "Export"
138
- msgstr ""
139
-
140
- #: classes/class-cartflows-importer.php:92
141
- msgid "Flow Export"
142
- msgstr ""
143
-
144
- #: classes/class-cartflows-importer.php:93
145
- msgid "Flow Import"
146
- msgstr ""
147
-
148
- #: classes/class-cartflows-importer.php:104
149
- msgid "No post to export has been supplied!"
150
- msgstr ""
151
-
152
- #: classes/class-cartflows-importer.php:295
153
- msgid "Please upload a valid .json file"
154
- msgstr ""
155
-
156
- #: classes/class-cartflows-importer.php:301
157
- msgid "Please upload a file to import"
158
- msgstr ""
159
-
160
- #: classes/class-cartflows-importer.php:478
161
- msgid "Successfully imported flows."
162
- msgstr ""
163
-
164
- #: classes/class-cartflows-importer.php:510
165
- msgid "Loading Steps"
166
- msgstr ""
167
-
168
- #: classes/class-cartflows-importer.php:512
169
- msgid "Getting steps from the cloud. Please wait for the moment."
170
- msgstr ""
171
-
172
- #: classes/class-cartflows-importer.php:523
173
- msgid "Searching Template.."
174
- msgstr ""
175
-
176
- #: classes/class-cartflows-importer.php:525
177
- msgid "Getting templates from the cloud. Please wait for the moment."
178
- msgstr ""
179
-
180
- #: classes/class-cartflows-importer.php:534
181
- msgid "Importing.."
182
- msgstr ""
183
-
184
- #: classes/class-cartflows-importer.php:543
185
- #: classes/class-cartflows-importer.php:583
186
- msgid "Imported"
187
- msgstr ""
188
-
189
- #: classes/class-cartflows-importer.php:544
190
- #: classes/class-cartflows-importer.php:584
191
- msgid "Thanks for patience"
192
- msgstr ""
193
-
194
- #: classes/class-cartflows-importer.php:553
195
- #: classes/class-cartflows-importer.php:565
196
- msgid "Coming Soon!"
197
- msgstr ""
198
-
199
- #: classes/class-cartflows-importer.php:584
200
- msgid "Redirecting to the Elementor edit window."
201
- msgstr ""
202
-
203
- #: classes/class-cartflows-importer.php:630
204
- #: classes/class-cartflows-importer.php:746
205
- msgid "Pro"
206
- msgstr ""
207
-
208
- #: classes/class-cartflows-importer.php:671
209
- #: classes/class-cartflows-importer.php:778
210
- msgid "Activate License"
211
- msgstr ""
212
-
213
- #: classes/class-cartflows-importer.php:673
214
- #: classes/class-cartflows-importer.php:780
215
- #: modules/flow/classes/class-cartflows-flow-meta.php:461
216
- msgid "Get Pro"
217
- msgstr ""
218
-
219
- #: classes/class-cartflows-importer.php:698
220
- msgid "Create"
221
- msgstr ""
222
-
223
- #: classes/class-cartflows-importer.php:797
224
- msgid "Under Maintenance.."
225
- msgstr ""
226
-
227
- #: classes/class-cartflows-importer.php:798
228
- msgid ""
229
- "If you are seeing this message, most likely our servers are under routine "
230
- "maintenance and we will be back shortly."
231
- msgstr ""
232
-
233
- #: classes/class-cartflows-importer.php:799
234
- msgid ""
235
- "In rare case, it is possible your website is having trouble connecting with "
236
- "ours. If you need help, please feel free to get in touch with us from our "
237
- "website.."
238
- msgstr ""
239
-
240
- #: classes/class-cartflows-importer.php:829
241
- #. translators: %s: Plugin string
242
- msgid ""
243
- "%1$s to see CartFlows templates. If you prefer another page builder tool, "
244
- "you can <a href=\"%2$s\" target=\"blank\">select it here</a>."
245
- msgstr ""
246
-
247
- #: classes/class-cartflows-importer.php:844
248
- msgid "All"
249
- msgstr ""
250
-
251
- #: classes/class-cartflows-importer.php:847
252
- msgid "Select Step Type"
253
- msgstr ""
254
-
255
- #: classes/class-cartflows-importer.php:931
256
- msgid "Import from Cloud"
257
- msgstr ""
258
-
259
- #: classes/class-cartflows-importer.php:1230
260
- msgid "Sales Landing"
261
- msgstr ""
262
-
263
- #: classes/class-cartflows-importer.php:1234
264
- #: modules/flow/classes/class-cartflows-step-post-type.php:251
265
- #: modules/flow/view/meta-flow-steps.php:12
266
- msgid "Checkout (Woo)"
267
- msgstr ""
268
-
269
- #: classes/class-cartflows-importer.php:1238
270
- #: modules/flow/classes/class-cartflows-step-post-type.php:258
271
- #: modules/flow/view/meta-flow-steps.php:13
272
- msgid "Thank You (Woo)"
273
- msgstr ""
274
-
275
- #: classes/class-cartflows-importer.php:1246
276
- #: modules/flow/classes/class-cartflows-step-post-type.php:237
277
- #: modules/flow/view/meta-flow-steps.php:11
278
- msgid "Landing"
279
- msgstr ""
280
-
281
- #: classes/class-cartflows-importer.php:1250
282
- msgid "Thank You"
283
- msgstr ""
284
-
285
- #: classes/class-cartflows-importer.php:1360
286
- #. translators: %s: template ID
287
- msgid "Invalid template id %1$s or post id %2$s."
288
- msgstr ""
289
-
290
- #: classes/class-cartflows-importer.php:1422
291
- #. translators: %s: flow ID
292
- msgid "Invalid flow id %1$s OR step type %2$s."
293
- msgstr ""
294
-
295
- #: classes/class-cartflows-importer.php:1547
296
- msgid ""
297
- "Elementor is not activated. Please activate plugin Elementor Page Builder "
298
- "to import the step."
299
- msgstr ""
300
-
301
- #: classes/class-cartflows-importer.php:1650
302
- msgid "Action failed. Invalid Security Nonce."
303
- msgstr ""
304
-
305
- #: classes/class-cartflows-importer.php:1657
306
- msgid "User have not plugin install permissions."
307
- msgstr ""
308
-
309
- #: classes/class-cartflows-importer.php:1679
310
- msgid "Plugin Successfully Activated"
311
- msgstr ""
312
-
313
- #: classes/class-cartflows-learndash-compatibility.php:86
314
- msgid "None"
315
- msgstr ""
316
-
317
- #: classes/class-cartflows-learndash-compatibility.php:113
318
- #. translators: 1: anchor start, 2: anchor close
319
- msgid ""
320
- "Non-enrolled students will redirect to the selected CartFlows template. If "
321
- "you have not created any Flow already, add new Flow from %1$shere%2$s."
322
- msgstr ""
323
-
324
- #: classes/class-cartflows-learndash-compatibility.php:119
325
- msgid "Select CartFlows Template for this Course"
326
- msgstr ""
327
-
328
- #: classes/class-cartflows-loader.php:222
329
- #. translators: %s: html tags
330
- msgid ""
331
- "You are using an older version of %1$sCartFlows Pro%2$s. Please update "
332
- "%1$sCartFlows Pro%2$s plugin to version %1$s%3$s%2$s or higher."
333
- msgstr ""
334
-
335
- #: classes/class-cartflows-loader.php:462
336
- #. translators: %s: html tags
337
- msgid ""
338
- "This %1$sCartFlows%2$s page requires %1$sWooCommerce%2$s plugin installed & "
339
- "activated."
340
- msgstr ""
341
-
342
- #: classes/class-cartflows-loader.php:472
343
- msgid "Activate WooCommerce"
344
- msgstr ""
345
-
346
- #: classes/class-cartflows-loader.php:480
347
- msgid "Install WooCommerce"
348
- msgstr ""
349
-
350
- #: classes/class-cartflows-logger.php:161
351
- msgid "Action failed. Please refresh the page and retry."
352
- msgstr ""
353
-
354
- #: classes/class-cartflows-meta-fields.php:80
355
- msgid "Thin 100"
356
- msgstr ""
357
-
358
- #: classes/class-cartflows-meta-fields.php:81
359
- msgid "Extra-Light 200"
360
- msgstr ""
361
-
362
- #: classes/class-cartflows-meta-fields.php:82
363
- msgid "Light 300"
364
- msgstr ""
365
-
366
- #: classes/class-cartflows-meta-fields.php:83
367
- msgid "Normal 400"
368
- msgstr ""
369
-
370
- #: classes/class-cartflows-meta-fields.php:84
371
- msgid "Medium 500"
372
- msgstr ""
373
-
374
- #: classes/class-cartflows-meta-fields.php:85
375
- msgid "Semi-Bold 600"
376
- msgstr ""
377
-
378
- #: classes/class-cartflows-meta-fields.php:86
379
- msgid "Bold 700"
380
- msgstr ""
381
-
382
- #: classes/class-cartflows-meta-fields.php:87
383
- msgid "Extra-Bold 800"
384
- msgstr ""
385
-
386
- #: classes/class-cartflows-meta-fields.php:88
387
- msgid "Ultra-Bold 900"
388
- msgstr ""
389
-
390
- #: classes/class-cartflows-meta-fields.php:548
391
- #: classes/class-cartflows-meta-fields.php:747
392
- msgid "Search for a product&hellip;"
393
- msgstr ""
394
-
395
- #: classes/class-cartflows-meta-fields.php:589
396
- msgid "Search for a coupon&hellip;"
397
- msgstr ""
398
-
399
- #: classes/class-cartflows-meta-fields.php:722
400
- msgid "Add New Product"
401
- msgstr ""
402
-
403
- #: classes/class-cartflows-meta-fields.php:723
404
- msgid "Create Product"
405
- msgstr ""
406
-
407
- #: classes/class-cartflows-meta-fields.php:755
408
- msgid "Remove"
409
- msgstr ""
410
-
411
- #: classes/class-cartflows-meta.php:34
412
- msgid "Update"
413
- msgstr ""
414
-
415
- #: classes/class-cartflows-meta.php:42
416
- #: modules/flow/classes/class-cartflows-flow-meta.php:82
417
- msgid "Back to edit Flow"
418
- msgstr ""
419
-
420
- #: classes/class-cartflows-meta.php:63
421
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:192
422
- #: modules/landing/classes/class-cartflows-landing-meta.php:136
423
- #: modules/optin/classes/class-cartflows-optin-meta.php:156
424
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:154
425
- msgid "Custom Script"
426
- msgstr ""
427
-
428
- #: classes/class-cartflows-meta.php:66
429
- msgid ""
430
- "Custom script lets you add your own custom script on front end of this flow "
431
- "page."
432
- msgstr ""
433
-
434
- #: classes/class-cartflows-metabox.php:59
435
- msgid "Flow Details"
436
- msgstr ""
437
-
438
- #: classes/class-cartflows-wizard.php:83
439
- msgid "Thanks for installing and using CartFlows!"
440
- msgstr ""
441
-
442
- #: classes/class-cartflows-wizard.php:84
443
- msgid ""
444
- "It is easy to use the CartFlows. Please use the setup wizard to quick start "
445
- "setup."
446
- msgstr ""
447
-
448
- #: classes/class-cartflows-wizard.php:86
449
- msgid "Start Wizard"
450
- msgstr ""
451
-
452
- #: classes/class-cartflows-wizard.php:87
453
- msgid "Skip Setup"
454
- msgstr ""
455
-
456
- #: classes/class-cartflows-wizard.php:117
457
- #: includes/admin/cartflows-general-bck.php:24
458
- msgid "Welcome"
459
- msgstr ""
460
-
461
- #: classes/class-cartflows-wizard.php:122
462
- msgid "Page Builder"
463
- msgstr ""
464
-
465
- #: classes/class-cartflows-wizard.php:126
466
- msgid "Checkout"
467
- msgstr ""
468
-
469
- #: classes/class-cartflows-wizard.php:130
470
- msgid "Training"
471
- msgstr ""
472
-
473
- #: classes/class-cartflows-wizard.php:134
474
- msgid "Ready!"
475
- msgstr ""
476
-
477
- #: classes/class-cartflows-wizard.php:209
478
- msgid "CartFlows Setup"
479
- msgstr ""
480
-
481
- #: classes/class-cartflows-wizard.php:235
482
- msgid "Exit Setup Wizard"
483
- msgstr ""
484
-
485
- #: classes/class-cartflows-wizard.php:288
486
- msgid "Welcome to CartFlows!"
487
- msgstr ""
488
-
489
- #: classes/class-cartflows-wizard.php:289
490
- msgid ""
491
- "Thank you for choosing CartFlows to get more leads, increase conversions, & "
492
- "maximize profits. This short setup wizard will guide you though configuring "
493
- "CartFlows and creating your first funnel."
494
- msgstr ""
495
-
496
- #: classes/class-cartflows-wizard.php:295
497
- msgid "Lets Go »"
498
- msgstr ""
499
-
500
- #: classes/class-cartflows-wizard.php:322
501
- msgid "Page Builder Setup"
502
- msgstr ""
503
-
504
- #: classes/class-cartflows-wizard.php:323
505
- msgid "Please select a page builder you would like to use with CartFlows."
506
- msgstr ""
507
-
508
- #: classes/class-cartflows-wizard.php:328
509
- msgid "Select Page Builder"
510
- msgstr ""
511
-
512
- #: classes/class-cartflows-wizard.php:335
513
- #: includes/admin/cartflows-general.php:94
514
- msgid "Elementor"
515
- msgstr ""
516
-
517
- #: classes/class-cartflows-wizard.php:345
518
- msgid "Beaver Builder Plugin (Lite Version)"
519
- msgstr ""
520
-
521
- #: classes/class-cartflows-wizard.php:355
522
- #: includes/admin/cartflows-general.php:96
523
- msgid "Divi"
524
- msgstr ""
525
-
526
- #: classes/class-cartflows-wizard.php:365
527
- #: includes/admin/cartflows-general.php:97
528
- msgid "Other"
529
- msgstr ""
530
-
531
- #: classes/class-cartflows-wizard.php:387
532
- msgid ""
533
- "While CartFlows Should work with most page builders, we offer templates for "
534
- "the above page builders."
535
- msgstr ""
536
-
537
- #: classes/class-cartflows-wizard.php:390
538
- #: classes/class-cartflows-wizard.php:435
539
- #: classes/class-cartflows-wizard.php:622
540
- msgid "« Previous"
541
- msgstr ""
542
-
543
- #: classes/class-cartflows-wizard.php:393
544
- msgid "Skip this step"
545
- msgstr ""
546
-
547
- #: classes/class-cartflows-wizard.php:394
548
- msgid "Next »"
549
- msgstr ""
550
-
551
- #: classes/class-cartflows-wizard.php:413
552
- msgid "Choose a checkout"
553
- msgstr ""
554
-
555
- #: classes/class-cartflows-wizard.php:416
556
- msgid ""
557
- "While CartFlows is designed to use WooCommerce sell digital and physical "
558
- "products, not all funnels need a checkout system."
559
- msgstr ""
560
-
561
- #: classes/class-cartflows-wizard.php:418
562
- msgid ""
563
- "Would you like to install WooCommerce to sell digital and physical products "
564
- "in your funnels?"
565
- msgstr ""
566
-
567
- #: classes/class-cartflows-wizard.php:425
568
- msgid "The following plugin will be installed and activated for you:"
569
- msgstr ""
570
-
571
- #: classes/class-cartflows-wizard.php:426
572
- msgid "WooCommerce"
573
- msgstr ""
574
-
575
- #: classes/class-cartflows-wizard.php:427
576
- msgid "WooCommerce Cart Abandonment Recovery"
577
- msgstr ""
578
-
579
- #: classes/class-cartflows-wizard.php:438
580
- #: classes/class-cartflows-wizard.php:625
581
- msgid "No thanks"
582
- msgstr ""
583
-
584
- #: classes/class-cartflows-wizard.php:439
585
- msgid "Yes"
586
- msgstr ""
587
-
588
- #: classes/class-cartflows-wizard.php:558
589
- msgid "Congratulations, You Did It!"
590
- msgstr ""
591
-
592
- #: classes/class-cartflows-wizard.php:565
593
- msgid ""
594
- "CartFlows is ready to use on your website. You've successfully completed "
595
- "the setup process and all that is left for you to do is create your first "
596
- "flow."
597
- msgstr ""
598
-
599
- #: classes/class-cartflows-wizard.php:579
600
- msgid "Create a flow"
601
- msgstr ""
602
-
603
- #: classes/class-cartflows-wizard.php:596
604
- msgid "Exclusive CartFlows Training Course Offer"
605
- msgstr ""
606
-
607
- #: classes/class-cartflows-wizard.php:607
608
- msgid ""
609
- "We want you to get off to a great start using CartFlows, so we would like "
610
- "to give access to our exclusive training course."
611
- msgstr ""
612
-
613
- #: classes/class-cartflows-wizard.php:608
614
- msgid "Get access to this couse, for free, by entering your email below."
615
- msgstr ""
616
-
617
- #: classes/class-cartflows-wizard.php:610
618
- msgid "Enter Email address"
619
- msgstr ""
620
-
621
- #: classes/class-cartflows-wizard.php:626
622
- msgid "Allow"
623
- msgstr ""
624
-
625
- #: classes/logger/class-cartflows-log-handler-file.php:351
626
- #: classes/logger/class-cartflows-log-handler-file.php:371
627
- msgid "This method should not be called before plugins_loaded."
628
- msgstr ""
629
-
630
- #: classes/logger/class-cartflows-wc-logger.php:58
631
- #. translators: 1: class name 2: Cartflows_Log_Handler_Interface
632
- msgid "The provided handler %1$s does not implement %2$s."
633
- msgstr ""
634
-
635
- #: classes/logger/class-cartflows-wc-logger.php:136
636
- #. translators: 1: Cartflows_WC_Logger::log 2: level
637
- msgid "%1$s was called with an invalid level \"%2$s\"."
638
- msgstr ""
639
-
640
- #: includes/admin/cartflows-admin.php:19
641
- #: includes/admin/cartflows-general.php:48
642
- msgid "Modernizing WordPress eCommerce!"
643
- msgstr ""
644
-
645
- #: includes/admin/cartflows-admin.php:29
646
- msgid "Settings saved successfully."
647
- msgstr ""
648
-
649
- #: includes/admin/cartflows-error-log.php:36
650
- msgid "%1$s at %2$s"
651
- msgstr ""
652
-
653
- #: includes/admin/cartflows-error-log.php:41
654
- #: modules/flow/classes/class-cartflows-flow-post-type.php:225
655
- #: modules/flow/view/meta-flow-steps.php:104
656
- msgid "View"
657
- msgstr ""
658
-
659
- #: includes/admin/cartflows-error-log.php:65
660
- msgid "Delete log"
661
- msgstr ""
662
-
663
- #: includes/admin/cartflows-error-log.php:70
664
- msgid "There are currently no logs to view."
665
- msgstr ""
666
-
667
- #: includes/admin/cartflows-general-bck.php:10
668
- msgid "Selec"
669
- msgstr ""
670
-
671
- #: includes/admin/cartflows-general-bck.php:22
672
- msgid "General"
673
- msgstr ""
674
-
675
- #: includes/admin/cartflows-general.php:31
676
- #: includes/admin/cartflows-general.php:58
677
- msgid "General Settings"
678
- msgstr ""
679
-
680
- #: includes/admin/cartflows-general.php:40
681
- msgid "Getting Started"
682
- msgstr ""
683
-
684
- #: includes/admin/cartflows-general.php:71
685
- msgid "Disallow search engines from indexing flows"
686
- msgstr ""
687
-
688
- #: includes/admin/cartflows-general.php:81
689
- #: modules/flow/view/meta-flow-steps.php:93
690
- msgid "Global Checkout"
691
- msgstr ""
692
-
693
- #: includes/admin/cartflows-general.php:90
694
- msgid "Show Templates designed with"
695
- msgstr ""
696
-
697
- #: includes/admin/cartflows-general.php:91
698
- msgid ""
699
- "CartFlows offers flow templates that can be imported in one click. These "
700
- "templates are available in few different page builders. Please choose your "
701
- "preferred page builder from the list so you will only see templates that "
702
- "are made using that page builder.."
703
- msgstr ""
704
-
705
- #: includes/admin/cartflows-general.php:95
706
- msgid "Beaver Builder"
707
- msgstr ""
708
-
709
- #: includes/admin/cartflows-general.php:106
710
- #: includes/admin/cartflows-general.php:190
711
- #: includes/admin/cartflows-general.php:296
712
- #: includes/admin/cartflows-general.php:413
713
- msgid "Save Changes"
714
- msgstr ""
715
-
716
- #: includes/admin/cartflows-general.php:116
717
- msgid "Permalink Settings"
718
- msgstr ""
719
-
720
- #: includes/admin/cartflows-general.php:131
721
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:603
722
- #: modules/optin/classes/class-cartflows-optin-meta.php:380
723
- msgid "Default"
724
- msgstr ""
725
-
726
- #: includes/admin/cartflows-general.php:137
727
- msgid "Flow and Step Slug"
728
- msgstr ""
729
-
730
- #: includes/admin/cartflows-general.php:143
731
- msgid "Flow Slug"
732
- msgstr ""
733
-
734
- #: includes/admin/cartflows-general.php:149
735
- msgid "Step Slug"
736
- msgstr ""
737
-
738
- #: includes/admin/cartflows-general.php:161
739
- msgid "Post Type Permalink Base"
740
- msgstr ""
741
-
742
- #: includes/admin/cartflows-general.php:169
743
- msgid "Step Base"
744
- msgstr ""
745
-
746
- #: includes/admin/cartflows-general.php:179
747
- msgid "Flow Base"
748
- msgstr ""
749
-
750
- #: includes/admin/cartflows-general.php:191
751
- msgid "Set Default"
752
- msgstr ""
753
-
754
- #: includes/admin/cartflows-general.php:205
755
- msgid "Facebook Pixel Settings"
756
- msgstr ""
757
-
758
- #: includes/admin/cartflows-general.php:220
759
- msgid "Enable Facebook Pixel Tracking"
760
- msgstr ""
761
-
762
- #: includes/admin/cartflows-general.php:233
763
- msgid "Enable for the whole site"
764
- msgstr ""
765
-
766
- #: includes/admin/cartflows-general.php:241
767
- #: includes/admin/cartflows-general.php:340
768
- msgid "If this option is unchecked, it will only apply to CartFlows steps."
769
- msgstr ""
770
-
771
- #: includes/admin/cartflows-general.php:251
772
- msgid "Enter Facebook pixel ID"
773
- msgstr ""
774
-
775
- #: includes/admin/cartflows-general.php:259
776
- #: includes/admin/cartflows-general.php:358
777
- msgid "Enable Events:"
778
- msgstr ""
779
-
780
- #: includes/admin/cartflows-general.php:268
781
- msgid "Initiate Checkout"
782
- msgstr ""
783
-
784
- #: includes/admin/cartflows-general.php:277
785
- #: includes/admin/cartflows-general.php:384
786
- msgid "Add Payment Info"
787
- msgstr ""
788
-
789
- #: includes/admin/cartflows-general.php:286
790
- msgid "Purchase Complete"
791
- msgstr ""
792
-
793
- #: includes/admin/cartflows-general.php:308
794
- msgid "Google Analytics Settings"
795
- msgstr ""
796
-
797
- #: includes/admin/cartflows-general.php:319
798
- msgid "Enable Google Analytics Tracking"
799
- msgstr ""
800
-
801
- #: includes/admin/cartflows-general.php:332
802
- msgid "Enable for the whole website"
803
- msgstr ""
804
-
805
- #: includes/admin/cartflows-general.php:350
806
- msgid "Google Analytics ID"
807
- msgstr ""
808
-
809
- #: includes/admin/cartflows-general.php:352
810
- msgid ""
811
- "Log into your <a href=\"https://analytics.google.com/\" "
812
- "target=\"_blank\">google analytics account</a> to find your ID. eg: "
813
- "UA-XXXXXX-X&period;"
814
- msgstr ""
815
-
816
- #: includes/admin/cartflows-general.php:366
817
- msgid "Begin Checkout"
818
- msgstr ""
819
-
820
- #: includes/admin/cartflows-general.php:375
821
- msgid "Add To Cart"
822
- msgstr ""
823
-
824
- #: includes/admin/cartflows-general.php:393
825
- msgid "Purchase"
826
- msgstr ""
827
-
828
- #: includes/admin/cartflows-general.php:401
829
- msgid ""
830
- "Google Analytics not working correctly? <a "
831
- "href=\"https://cartflows.com/docs/troubleshooting-google-analytics-tracking-"
832
- "issues/\" > Click here </a> to know more. "
833
- msgstr ""
834
-
835
- #: includes/admin/cartflows-general.php:434
836
- msgid "Knowledge Base"
837
- msgstr ""
838
-
839
- #: includes/admin/cartflows-general.php:438
840
- msgid "Not sure how something works? Take a peek at the knowledge base and learn."
841
- msgstr ""
842
-
843
- #: includes/admin/cartflows-general.php:441
844
- msgid "Visit Knowledge Base »"
845
- msgstr ""
846
-
847
- #: includes/admin/cartflows-general.php:449
848
- msgid "Community"
849
- msgstr ""
850
-
851
- #: includes/admin/cartflows-general.php:453
852
- msgid ""
853
- "Join the community of super helpful CartFlows users. Say hello, ask "
854
- "questions, give feedback and help each other!"
855
- msgstr ""
856
-
857
- #: includes/admin/cartflows-general.php:456
858
- msgid "Join Our Facebook Group »"
859
- msgstr ""
860
-
861
- #: includes/admin/cartflows-general.php:464
862
- msgid "Five Star Support"
863
- msgstr ""
864
-
865
- #: includes/admin/cartflows-general.php:468
866
- msgid "Got a question? Get in touch with CartFlows developers. We're happy to help!"
867
- msgstr ""
868
-
869
- #: includes/admin/cartflows-general.php:471
870
- msgid "Submit a Ticket »"
871
- msgstr ""
872
-
873
- #: includes/admin/cartflows-general.php:481
874
- msgid "Load Minified CSS"
875
- msgstr ""
876
-
877
- #: includes/admin/cartflows-general.php:486
878
- msgid ""
879
- "Load the Minified CSS from here. Just Enable it by checking the below given "
880
- "checkbox."
881
- msgstr ""
882
-
883
- #: includes/admin/cartflows-general.php:493
884
- msgid "Load minified CSS & JS Files"
885
- msgstr ""
886
-
887
- #: includes/admin/cartflows-general.php:498
888
- msgid "Save"
889
- msgstr ""
890
-
891
- #: includes/exporter.php:12
892
- msgid "Export Flows to a JSON file"
893
- msgstr ""
894
-
895
- #: includes/exporter.php:13
896
- msgid ""
897
- "This tool allows you to generate and download a JSON file containing a list "
898
- "of all flows."
899
- msgstr ""
900
-
901
- #: includes/importer.php:12
902
- msgid "Import Flows to a JSON file"
903
- msgstr ""
904
-
905
- #: includes/importer.php:13
906
- msgid "This tool allows you to import the flows from the JSON file."
907
- msgstr ""
908
-
909
- #: includes/importer.php:21
910
- msgid "Import"
911
- msgstr ""
912
-
913
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:254
914
- #: modules/optin/classes/class-cartflows-optin-markup.php:146
915
- #: modules/thankyou/classes/class-cartflows-thankyou-markup.php:90
916
- msgid ""
917
- "WooCommerce functions do not exist. If you are in an IFrame, please reload "
918
- "it."
919
- msgstr ""
920
-
921
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:255
922
- #: modules/optin/classes/class-cartflows-optin-markup.php:147
923
- #: modules/thankyou/classes/class-cartflows-thankyou-markup.php:91
924
- msgid "Click Here to Reload"
925
- msgstr ""
926
-
927
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:273
928
- msgid "Checkout ID not found"
929
- msgstr ""
930
-
931
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:336
932
- #: modules/checkout/templates/embed/checkout-template-simple.php:25
933
- #: modules/checkout/templates/wcf-template.php:36
934
- #: modules/optin/templates/optin-template-simple.php:25
935
- msgid "Your cart is currently empty."
936
- msgstr ""
937
-
938
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:401
939
- msgid ""
940
- "No product is selected. Please select products from the checkout meta "
941
- "settings to continue."
942
- msgstr ""
943
-
944
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:454
945
- msgid "Variations Not set"
946
- msgstr ""
947
-
948
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:462
949
- msgid "This product can't be purchased"
950
- msgstr ""
951
-
952
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:901
953
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:944
954
- msgid "Coupon Code"
955
- msgstr ""
956
-
957
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:902
958
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:953
959
- msgid "Apply"
960
- msgstr ""
961
-
962
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:1109
963
- msgid "Sorry there was a problem removing this coupon."
964
- msgstr ""
965
-
966
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:1112
967
- msgid "Coupon has been removed."
968
- msgstr ""
969
-
970
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:1131
971
- msgid "Sorry there was a problem removing "
972
- msgstr ""
973
-
974
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:1134
975
- msgid " has been removed."
976
- msgstr ""
977
-
978
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:65
979
- msgid "Checkout Layout"
980
- msgstr ""
981
-
982
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:150
983
- #: modules/landing/classes/class-cartflows-landing-meta.php:130
984
- #: modules/optin/classes/class-cartflows-optin-meta.php:126
985
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:130
986
- msgid "Shortcodes"
987
- msgstr ""
988
-
989
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:156
990
- #: modules/optin/classes/class-cartflows-optin-meta.php:132
991
- msgid "Select Product"
992
- msgstr ""
993
-
994
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:162
995
- msgid "Order Bump"
996
- msgstr ""
997
-
998
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:168
999
- msgid "Checkout Offer"
1000
- msgstr ""
1001
-
1002
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:174
1003
- msgid "Checkout Design"
1004
- msgstr ""
1005
-
1006
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:180
1007
- msgid "Checkout Fields"
1008
- msgstr ""
1009
-
1010
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:186
1011
- msgid "Checkout Settings"
1012
- msgstr ""
1013
-
1014
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:203
1015
- msgid "Logo (Optional)"
1016
- msgstr ""
1017
-
1018
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:265
1019
- msgid "Add this shortcode to your checkout page"
1020
- msgstr ""
1021
-
1022
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:301
1023
- #. translators: %s: link
1024
- msgid ""
1025
- "Upgrade to %1$sCartFlows Pro%2$s for Pre-applied Coupon, Product Variations "
1026
- "& Quantity Options."
1027
- msgstr ""
1028
-
1029
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:328
1030
- #. translators: %s: link
1031
- msgid "Upgrade to %1$sCartFlows Pro%2$s for Checkout Offer feature"
1032
- msgstr ""
1033
-
1034
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:338
1035
- #. translators: %s: link
1036
- msgid "Update to %1$sCartFlows Pro%2$s to %3$s or above for Checkout Offer feature"
1037
- msgstr ""
1038
-
1039
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:365
1040
- #. translators: %s: link
1041
- msgid "Upgrade to %1$sCartFlows Pro%2$s for animate browser tab feature"
1042
- msgstr ""
1043
-
1044
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:375
1045
- #. translators: %s: link
1046
- msgid ""
1047
- "Update to %1$sCartFlows Pro%2$s to %3$s or above for animate browser tab "
1048
- "feature"
1049
- msgstr ""
1050
-
1051
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:398
1052
- #. translators: %s: link
1053
- msgid "Upgrade to %1$sCartFlows Pro%2$s for Order Bump feature."
1054
- msgstr ""
1055
-
1056
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:425
1057
- #: modules/optin/classes/class-cartflows-optin-meta.php:267
1058
- #. translators: %s: link
1059
- msgid "Upgrade to %1$sCartFlows Pro%2$s for Custom Fields feature."
1060
- msgstr ""
1061
-
1062
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:448
1063
- msgid "Place Order Button Text"
1064
- msgstr ""
1065
-
1066
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:452
1067
- msgid "Place order"
1068
- msgstr ""
1069
-
1070
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:454
1071
- msgid "It will change the Place Order Button text on checkout page."
1072
- msgstr ""
1073
-
1074
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:464
1075
- msgid "Enable cart editing on checkout"
1076
- msgstr ""
1077
-
1078
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:472
1079
- #. translators: %s: link
1080
- msgid "Users will able to remove products from the checkout page."
1081
- msgstr ""
1082
-
1083
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:502
1084
- msgid "One Column (Available in CartFlows Pro) "
1085
- msgstr ""
1086
-
1087
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:503
1088
- msgid "Two Step (Available in CartFlows Pro) "
1089
- msgstr ""
1090
-
1091
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:509
1092
- msgid "Checkout Skin"
1093
- msgstr ""
1094
-
1095
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:513
1096
- msgid "One Column"
1097
- msgstr ""
1098
-
1099
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:514
1100
- msgid "Two Column"
1101
- msgstr ""
1102
-
1103
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:515
1104
- msgid "Two Step"
1105
- msgstr ""
1106
-
1107
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:524
1108
- #: modules/optin/classes/class-cartflows-optin-meta.php:343
1109
- msgid "Primary Color"
1110
- msgstr ""
1111
-
1112
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:533
1113
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:568
1114
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:614
1115
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:706
1116
- #: modules/optin/classes/class-cartflows-optin-meta.php:352
1117
- #: modules/optin/classes/class-cartflows-optin-meta.php:391
1118
- #: modules/optin/classes/class-cartflows-optin-meta.php:503
1119
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:209
1120
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:240
1121
- msgid "Font Family"
1122
- msgstr ""
1123
-
1124
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:541
1125
- msgid "Advance Options"
1126
- msgstr ""
1127
-
1128
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:553
1129
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:225
1130
- msgid "Heading"
1131
- msgstr ""
1132
-
1133
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:559
1134
- msgid "Heading Color"
1135
- msgstr ""
1136
-
1137
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:577
1138
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:623
1139
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:715
1140
- #: modules/optin/classes/class-cartflows-optin-meta.php:400
1141
- #: modules/optin/classes/class-cartflows-optin-meta.php:512
1142
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:249
1143
- msgid "Font Weight"
1144
- msgstr ""
1145
-
1146
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:585
1147
- #: modules/optin/classes/class-cartflows-optin-meta.php:363
1148
- msgid "Input Fields"
1149
- msgstr ""
1150
-
1151
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:593
1152
- #: modules/optin/classes/class-cartflows-optin-meta.php:370
1153
- msgid "Floating Labels (Available in CartFlows Pro)"
1154
- msgstr ""
1155
-
1156
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:599
1157
- #: modules/optin/classes/class-cartflows-optin-meta.php:376
1158
- msgid "Style"
1159
- msgstr ""
1160
-
1161
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:604
1162
- #: modules/optin/classes/class-cartflows-optin-meta.php:381
1163
- msgid "Floating Labels"
1164
- msgstr ""
1165
-
1166
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:631
1167
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:723
1168
- #: modules/optin/classes/class-cartflows-optin-meta.php:408
1169
- #: modules/optin/classes/class-cartflows-optin-meta.php:520
1170
- msgid "Size"
1171
- msgstr ""
1172
-
1173
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:635
1174
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:727
1175
- #: modules/optin/classes/class-cartflows-optin-meta.php:412
1176
- #: modules/optin/classes/class-cartflows-optin-meta.php:524
1177
- msgid "Extra Small"
1178
- msgstr ""
1179
-
1180
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:636
1181
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:728
1182
- #: modules/optin/classes/class-cartflows-optin-meta.php:413
1183
- #: modules/optin/classes/class-cartflows-optin-meta.php:525
1184
- msgid "Small"
1185
- msgstr ""
1186
-
1187
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:637
1188
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:729
1189
- #: modules/optin/classes/class-cartflows-optin-meta.php:414
1190
- #: modules/optin/classes/class-cartflows-optin-meta.php:526
1191
- msgid "Medium"
1192
- msgstr ""
1193
-
1194
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:638
1195
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:730
1196
- #: modules/optin/classes/class-cartflows-optin-meta.php:415
1197
- #: modules/optin/classes/class-cartflows-optin-meta.php:527
1198
- msgid "Large"
1199
- msgstr ""
1200
-
1201
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:639
1202
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:731
1203
- #: modules/optin/classes/class-cartflows-optin-meta.php:416
1204
- #: modules/optin/classes/class-cartflows-optin-meta.php:528
1205
- msgid "Extra Large"
1206
- msgstr ""
1207
-
1208
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:640
1209
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:732
1210
- #: modules/optin/classes/class-cartflows-optin-meta.php:417
1211
- #: modules/optin/classes/class-cartflows-optin-meta.php:529
1212
- msgid "Custom"
1213
- msgstr ""
1214
-
1215
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:647
1216
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:739
1217
- #: modules/optin/classes/class-cartflows-optin-meta.php:424
1218
- #: modules/optin/classes/class-cartflows-optin-meta.php:536
1219
- msgid "Top Bottom Spacing"
1220
- msgstr ""
1221
-
1222
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:655
1223
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:747
1224
- #: modules/optin/classes/class-cartflows-optin-meta.php:432
1225
- #: modules/optin/classes/class-cartflows-optin-meta.php:544
1226
- msgid "Left Right Spacing"
1227
- msgstr ""
1228
-
1229
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:663
1230
- #: modules/optin/classes/class-cartflows-optin-meta.php:448
1231
- msgid "Text / Placeholder Color"
1232
- msgstr ""
1233
-
1234
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:671
1235
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:771
1236
- #: modules/optin/classes/class-cartflows-optin-meta.php:456
1237
- #: modules/optin/classes/class-cartflows-optin-meta.php:581
1238
- msgid "Background Color"
1239
- msgstr ""
1240
-
1241
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:679
1242
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:787
1243
- #: modules/optin/classes/class-cartflows-optin-meta.php:464
1244
- #: modules/optin/classes/class-cartflows-optin-meta.php:597
1245
- msgid "Border Color"
1246
- msgstr ""
1247
-
1248
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:686
1249
- #: modules/optin/classes/class-cartflows-optin-meta.php:440
1250
- msgid "Label Color"
1251
- msgstr ""
1252
-
1253
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:699
1254
- msgid "Buttons"
1255
- msgstr ""
1256
-
1257
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:755
1258
- #: modules/optin/classes/class-cartflows-optin-meta.php:565
1259
- msgid "Text Color"
1260
- msgstr ""
1261
-
1262
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:763
1263
- #: modules/optin/classes/class-cartflows-optin-meta.php:573
1264
- msgid "Text Hover Color"
1265
- msgstr ""
1266
-
1267
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:779
1268
- #: modules/optin/classes/class-cartflows-optin-meta.php:589
1269
- msgid "Background Hover Color"
1270
- msgstr ""
1271
-
1272
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:795
1273
- #: modules/optin/classes/class-cartflows-optin-meta.php:605
1274
- msgid "Border Hover Color"
1275
- msgstr ""
1276
-
1277
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:808
1278
- msgid "Sections"
1279
- msgstr ""
1280
-
1281
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:814
1282
- msgid "Highlight Area Background Color"
1283
- msgstr ""
1284
-
1285
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:853
1286
- msgid "Header Logo"
1287
- msgstr ""
1288
-
1289
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:861
1290
- msgid "Logo Width (In px)"
1291
- msgstr ""
1292
-
1293
- #: modules/checkout/templates/wcf-template.php:46
1294
- msgid "Copyright &copy;"
1295
- msgstr ""
1296
-
1297
- #: modules/checkout/templates/wcf-template.php:50
1298
- msgid "All Rights Reserved"
1299
- msgstr ""
1300
-
1301
- #: modules/flow/classes/class-cartflows-flow-meta.php:250
1302
- #. translators: %s flow id
1303
- msgid "Step not deleted for flow - %s"
1304
- msgstr ""
1305
-
1306
- #: modules/flow/classes/class-cartflows-flow-meta.php:281
1307
- #. translators: %s flow id
1308
- msgid "Step deleted for flow - %s"
1309
- msgstr ""
1310
-
1311
- #: modules/flow/classes/class-cartflows-flow-meta.php:309
1312
- #. translators: %s flow id
1313
- msgid "Steps not sorted for flow - %s"
1314
- msgstr ""
1315
-
1316
- #: modules/flow/classes/class-cartflows-flow-meta.php:332
1317
- #. translators: %s flow id
1318
- msgid "Steps sorted for flow - %s"
1319
- msgstr ""
1320
-
1321
- #: modules/flow/classes/class-cartflows-flow-meta.php:443
1322
- msgid "Analytics"
1323
- msgstr ""
1324
-
1325
- #: modules/flow/classes/class-cartflows-flow-meta.php:460
1326
- #. translators: %s: link
1327
- msgid "Upgrade to %1$sCartFlows Pro%2$s for Analytics feature"
1328
- msgstr ""
1329
-
1330
- #: modules/flow/classes/class-cartflows-flow-meta.php:478
1331
- msgid "Flow Settings"
1332
- msgstr ""
1333
-
1334
- #: modules/flow/classes/class-cartflows-flow-meta.php:563
1335
- msgid "Enable Test Mode"
1336
- msgstr ""
1337
-
1338
- #: modules/flow/classes/class-cartflows-flow-meta.php:570
1339
- msgid ""
1340
- "If you are using WooCommerce plugin then test mode will add random products "
1341
- "in your flow, so you can preview it easily while testing."
1342
- msgstr ""
1343
-
1344
- #: modules/flow/classes/class-cartflows-flow-meta.php:689
1345
- #: modules/flow/view/meta-flow-steps.php:133
1346
- msgid "Add New Step"
1347
- msgstr ""
1348
-
1349
- #: modules/flow/classes/class-cartflows-flow-post-type.php:69
1350
- msgid "Flow: "
1351
- msgstr ""
1352
-
1353
- #: modules/flow/classes/class-cartflows-flow-post-type.php:69
1354
- msgid "Name: "
1355
- msgstr ""
1356
-
1357
- #: modules/flow/classes/class-cartflows-flow-post-type.php:101
1358
- msgid "Search Flows"
1359
- msgstr ""
1360
-
1361
- #: modules/flow/classes/class-cartflows-flow-post-type.php:102
1362
- msgid "All Flows"
1363
- msgstr ""
1364
-
1365
- #: modules/flow/classes/class-cartflows-flow-post-type.php:103
1366
- msgid "Edit Flow"
1367
- msgstr ""
1368
-
1369
- #: modules/flow/classes/class-cartflows-flow-post-type.php:104
1370
- msgid "View Flow"
1371
- msgstr ""
1372
-
1373
- #: modules/flow/classes/class-cartflows-flow-post-type.php:105
1374
- #: modules/flow/classes/class-cartflows-flow-post-type.php:107
1375
- #: modules/flow/classes/class-cartflows-step-post-type.php:166
1376
- #: modules/flow/classes/class-cartflows-step-post-type.php:168
1377
- msgid "Add New"
1378
- msgstr ""
1379
-
1380
- #: modules/flow/classes/class-cartflows-flow-post-type.php:106
1381
- msgid "Update Flow"
1382
- msgstr ""
1383
-
1384
- #: modules/flow/classes/class-cartflows-flow-post-type.php:108
1385
- msgid "New Flow Name"
1386
- msgstr ""
1387
-
1388
- #: modules/flow/classes/class-cartflows-flow-post-type.php:190
1389
- msgid "Upgrade to CartFlows Pro"
1390
- msgstr ""
1391
-
1392
- #: modules/flow/classes/class-cartflows-flow-post-type.php:209
1393
- msgid "Slug"
1394
- msgstr ""
1395
-
1396
- #: modules/flow/classes/class-cartflows-flow-post-type.php:332
1397
- msgid "Flows"
1398
- msgstr ""
1399
-
1400
- #: modules/flow/classes/class-cartflows-flow-post-type.php:354
1401
- #: modules/flow/classes/class-cartflows-flow-post-type.php:360
1402
- #: modules/flow/classes/class-cartflows-step-post-type.php:397
1403
- #: modules/flow/classes/class-cartflows-step-post-type.php:403
1404
- #. translators: %s: singular custom post type name
1405
- msgid "%s updated."
1406
- msgstr ""
1407
-
1408
- #: modules/flow/classes/class-cartflows-flow-post-type.php:356
1409
- #: modules/flow/classes/class-cartflows-step-post-type.php:399
1410
- #. translators: %s: singular custom post type name
1411
- msgid "Custom %s updated."
1412
- msgstr ""
1413
-
1414
- #: modules/flow/classes/class-cartflows-flow-post-type.php:358
1415
- #: modules/flow/classes/class-cartflows-step-post-type.php:401
1416
- #. translators: %s: singular custom post type name
1417
- msgid "Custom %s deleted."
1418
- msgstr ""
1419
-
1420
- #: modules/flow/classes/class-cartflows-flow-post-type.php:362
1421
- #: modules/flow/classes/class-cartflows-step-post-type.php:405
1422
- #. translators: %1$s: singular custom post type name ,%2$s: date and time of
1423
- #. the revision
1424
- msgid "%1$s restored to revision from %2$s"
1425
- msgstr ""
1426
-
1427
- #: modules/flow/classes/class-cartflows-flow-post-type.php:364
1428
- #: modules/flow/classes/class-cartflows-step-post-type.php:407
1429
- #. translators: %s: singular custom post type name
1430
- msgid "%s published."
1431
- msgstr ""
1432
-
1433
- #: modules/flow/classes/class-cartflows-flow-post-type.php:366
1434
- #: modules/flow/classes/class-cartflows-step-post-type.php:409
1435
- #. translators: %s: singular custom post type name
1436
- msgid "%s saved."
1437
- msgstr ""
1438
-
1439
- #: modules/flow/classes/class-cartflows-flow-post-type.php:368
1440
- #: modules/flow/classes/class-cartflows-step-post-type.php:411
1441
- #. translators: %s: singular custom post type name
1442
- msgid "%s submitted."
1443
- msgstr ""
1444
-
1445
- #: modules/flow/classes/class-cartflows-flow-post-type.php:370
1446
- #: modules/flow/classes/class-cartflows-step-post-type.php:413
1447
- #. translators: %s: singular custom post type name
1448
- msgid "%s scheduled for."
1449
- msgstr ""
1450
-
1451
- #: modules/flow/classes/class-cartflows-flow-post-type.php:372
1452
- #: modules/flow/classes/class-cartflows-step-post-type.php:415
1453
- #. translators: %s: singular custom post type name
1454
- msgid "%s draft updated."
1455
- msgstr ""
1456
-
1457
- #: modules/flow/classes/class-cartflows-flow-shortcodes.php:148
1458
- #: modules/widgets/class-cartflows-next-step.php:78
1459
- msgid "Next Step"
1460
- msgstr ""
1461
-
1462
- #: modules/flow/classes/class-cartflows-step-post-type.php:162
1463
- msgid "Search Steps"
1464
- msgstr ""
1465
-
1466
- #: modules/flow/classes/class-cartflows-step-post-type.php:163
1467
- msgid "All Steps"
1468
- msgstr ""
1469
-
1470
- #: modules/flow/classes/class-cartflows-step-post-type.php:164
1471
- #: modules/flow/view/meta-flow-steps.php:106
1472
- msgid "Edit Step"
1473
- msgstr ""
1474
-
1475
- #: modules/flow/classes/class-cartflows-step-post-type.php:165
1476
- #: modules/flow/view/meta-flow-steps.php:102
1477
- msgid "View Step"
1478
- msgstr ""
1479
-
1480
- #: modules/flow/classes/class-cartflows-step-post-type.php:167
1481
- msgid "Update Step"
1482
- msgstr ""
1483
-
1484
- #: modules/flow/classes/class-cartflows-step-post-type.php:169
1485
- msgid "New Step Name"
1486
- msgstr ""
1487
-
1488
- #: modules/flow/classes/class-cartflows-step-post-type.php:209
1489
- msgid "Step Type"
1490
- msgstr ""
1491
-
1492
- #: modules/flow/classes/class-cartflows-step-post-type.php:219
1493
- msgid "Step Flow"
1494
- msgstr ""
1495
-
1496
- #: modules/flow/classes/class-cartflows-step-post-type.php:244
1497
- #: modules/flow/view/meta-flow-steps.php:16
1498
- msgid "Optin (Woo)"
1499
- msgstr ""
1500
-
1501
- #: modules/flow/classes/class-cartflows-step-post-type.php:265
1502
- #: modules/flow/view/meta-flow-steps.php:14
1503
- msgid "Upsell (Woo)"
1504
- msgstr ""
1505
-
1506
- #: modules/flow/classes/class-cartflows-step-post-type.php:272
1507
- #: modules/flow/view/meta-flow-steps.php:15
1508
- msgid "Downsell (Woo)"
1509
- msgstr ""
1510
-
1511
- #: modules/flow/view/meta-flow-steps.php:85
1512
- msgid "No Product Assigned"
1513
- msgstr ""
1514
-
1515
- #: modules/flow/view/meta-flow-steps.php:89
1516
- msgid "Global Checkout - Remove selected checkout product"
1517
- msgstr ""
1518
-
1519
- #: modules/flow/view/meta-flow-steps.php:108
1520
- msgid "Edit"
1521
- msgstr ""
1522
-
1523
- #: modules/flow/view/meta-flow-steps.php:113
1524
- msgid "Clone Step"
1525
- msgstr ""
1526
-
1527
- #: modules/flow/view/meta-flow-steps.php:118
1528
- msgid "Delete Step"
1529
- msgstr ""
1530
-
1531
- #: modules/flow/view/meta-flow-steps.php:120
1532
- msgid "Delete"
1533
- msgstr ""
1534
-
1535
- #: modules/flow/view/meta-flow-steps.php:149
1536
- msgid "Steps Library"
1537
- msgstr ""
1538
-
1539
- #: modules/flow/view/meta-flow-steps.php:198
1540
- msgid "Create Step"
1541
- msgstr ""
1542
-
1543
- #: modules/flow/view/meta-flow-steps.php:200
1544
- msgid "You need a Cartflows Pro version to import Upsell / Downsell"
1545
- msgstr ""
1546
-
1547
- #: modules/landing/classes/class-cartflows-landing-meta.php:66
1548
- msgid "Landing Page Settings"
1549
- msgstr ""
1550
-
1551
- #: modules/landing/classes/class-cartflows-landing-meta.php:169
1552
- msgid "Next Step Link"
1553
- msgstr ""
1554
-
1555
- #: modules/optin/classes/class-cartflows-optin-markup.php:165
1556
- msgid "Please place shortcode on Optin step-type only."
1557
- msgstr ""
1558
-
1559
- #: modules/optin/classes/class-cartflows-optin-markup.php:225
1560
- msgid ""
1561
- "No product is selected. Please select a Simple, Virtual and Free product "
1562
- "from the meta settings."
1563
- msgstr ""
1564
-
1565
- #: modules/optin/classes/class-cartflows-optin-markup.php:242
1566
- msgid "Please update the selected product's price to zero (0)."
1567
- msgstr ""
1568
-
1569
- #: modules/optin/classes/class-cartflows-optin-markup.php:251
1570
- #: modules/optin/classes/class-cartflows-optin-markup.php:255
1571
- msgid "Please select a Simple, Virtual and Free product."
1572
- msgstr ""
1573
-
1574
- #: modules/optin/classes/class-cartflows-optin-meta.php:65
1575
- msgid "Optin Settings"
1576
- msgstr ""
1577
-
1578
- #: modules/optin/classes/class-cartflows-optin-meta.php:138
1579
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:136
1580
- msgid "Design"
1581
- msgstr ""
1582
-
1583
- #: modules/optin/classes/class-cartflows-optin-meta.php:144
1584
- msgid "Form Fields"
1585
- msgstr ""
1586
-
1587
- #: modules/optin/classes/class-cartflows-optin-meta.php:213
1588
- msgid "Add this shortcode to your optin page"
1589
- msgstr ""
1590
-
1591
- #: modules/optin/classes/class-cartflows-optin-meta.php:238
1592
- msgid "Select Free Product"
1593
- msgstr ""
1594
-
1595
- #: modules/optin/classes/class-cartflows-optin-meta.php:239
1596
- msgid "Select Free and Virtual product only."
1597
- msgstr ""
1598
-
1599
- #: modules/optin/classes/class-cartflows-optin-meta.php:290
1600
- msgid "Pass Fields as URL Parameters"
1601
- msgstr ""
1602
-
1603
- #: modules/optin/classes/class-cartflows-optin-meta.php:293
1604
- msgid "Enable"
1605
- msgstr ""
1606
-
1607
- #: modules/optin/classes/class-cartflows-optin-meta.php:294
1608
- msgid ""
1609
- "You can pass specific fields from the form to next step as URL query "
1610
- "parameters."
1611
- msgstr ""
1612
-
1613
- #: modules/optin/classes/class-cartflows-optin-meta.php:305
1614
- msgid "Enter form field"
1615
- msgstr ""
1616
-
1617
- #: modules/optin/classes/class-cartflows-optin-meta.php:308
1618
- #: modules/optin/classes/class-cartflows-optin-meta.php:318
1619
- msgid "Enter comma seprated field name. E.g. first_name, last_name"
1620
- msgstr ""
1621
-
1622
- #: modules/optin/classes/class-cartflows-optin-meta.php:310
1623
- msgid "Fields to pass, separated by commas"
1624
- msgstr ""
1625
-
1626
- #: modules/optin/classes/class-cartflows-optin-meta.php:320
1627
- #. translators: %s: link
1628
- msgid ""
1629
- "You can pass field value as a URL parameter to the next step. %1$sClick "
1630
- "here%2$s for more information."
1631
- msgstr ""
1632
-
1633
- #: modules/optin/classes/class-cartflows-optin-meta.php:477
1634
- msgid "Submit Button"
1635
- msgstr ""
1636
-
1637
- #: modules/optin/classes/class-cartflows-optin-meta.php:483
1638
- msgid "Button Text"
1639
- msgstr ""
1640
-
1641
- #: modules/optin/classes/class-cartflows-optin-meta.php:494
1642
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:217
1643
- msgid "Font Size"
1644
- msgstr ""
1645
-
1646
- #: modules/optin/classes/class-cartflows-optin-meta.php:552
1647
- msgid "Position"
1648
- msgstr ""
1649
-
1650
- #: modules/optin/classes/class-cartflows-optin-meta.php:556
1651
- msgid "Left"
1652
- msgstr ""
1653
-
1654
- #: modules/optin/classes/class-cartflows-optin-meta.php:557
1655
- msgid "Center"
1656
- msgstr ""
1657
-
1658
- #: modules/optin/classes/class-cartflows-optin-meta.php:558
1659
- msgid "Right"
1660
- msgstr ""
1661
-
1662
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:65
1663
- msgid "Thank You Page Settings"
1664
- msgstr ""
1665
-
1666
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:142
1667
- msgid "Edit Fields"
1668
- msgstr ""
1669
-
1670
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:182
1671
- msgid "Order Details"
1672
- msgstr ""
1673
-
1674
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:194
1675
- msgid "Text"
1676
- msgstr ""
1677
-
1678
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:200
1679
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:231
1680
- msgid "Color"
1681
- msgstr ""
1682
-
1683
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:257
1684
- msgid "Advanced Options"
1685
- msgstr ""
1686
-
1687
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:267
1688
- msgid "Container Width (In px)"
1689
- msgstr ""
1690
-
1691
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:275
1692
- msgid "Section Background Color"
1693
- msgstr ""
1694
-
1695
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:289
1696
- msgid "Enable Order Overview "
1697
- msgstr ""
1698
-
1699
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:297
1700
- msgid "Enable Order Details "
1701
- msgstr ""
1702
-
1703
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:305
1704
- msgid "Enable Billing Details "
1705
- msgstr ""
1706
-
1707
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:313
1708
- msgid "Enable Shipping Details "
1709
- msgstr ""
1710
-
1711
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:329
1712
- msgid "Thank You Page Text"
1713
- msgstr ""
1714
-
1715
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:333
1716
- #: woocommerce/template/checkout/thankyou.php:41
1717
- #: woocommerce/template/checkout/thankyou.php:83
1718
- msgid "Thank you. Your order has been received."
1719
- msgstr ""
1720
-
1721
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:335
1722
- msgid "It will change the default text on thank you page."
1723
- msgstr ""
1724
-
1725
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:343
1726
- msgid "Redirect After Purchase"
1727
- msgstr ""
1728
-
1729
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:352
1730
- msgid "Redirect Link"
1731
- msgstr ""
1732
-
1733
- #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:356
1734
- msgid "https://"
1735
- msgstr ""
1736
-
1737
- #: modules/widgets/class-cartflows-next-step.php:24
1738
- msgid "CartFlows Next Step"
1739
- msgstr ""
1740
-
1741
- #: modules/widgets/class-cartflows-next-step.php:26
1742
- msgid "Next Step Widgets"
1743
- msgstr ""
1744
-
1745
- #: modules/widgets/class-cartflows-next-step.php:106
1746
- msgid "New title"
1747
- msgstr ""
1748
-
1749
- #: modules/widgets/class-cartflows-next-step.php:123
1750
- msgid "Title:"
1751
- msgstr ""
1752
-
1753
- #: modules/widgets/class-cartflows-next-step.php:127
1754
- msgid "Flow ID:"
1755
- msgstr ""
1756
-
1757
- #: modules/widgets/class-cartflows-next-step.php:131
1758
- msgid "Step ID:"
1759
- msgstr ""
1760
-
1761
- #: woocommerce/template/cart/cart-shipping.php:51
1762
- #. Translators: $s shipping destination.
1763
- msgid "Estimate for %s."
1764
- msgstr ""
1765
-
1766
- #: woocommerce/template/cart/cart-shipping.php:52
1767
- msgid "Change address"
1768
- msgstr ""
1769
-
1770
- #: woocommerce/template/cart/cart-shipping.php:54
1771
- msgid "This is only an estimate. Prices will be updated during checkout."
1772
- msgstr ""
1773
-
1774
- #: woocommerce/template/cart/cart-shipping.php:61
1775
- msgid "Enter your address to view shipping options."
1776
- msgstr ""
1777
-
1778
- #: woocommerce/template/cart/cart-shipping.php:63
1779
- msgid ""
1780
- "There are no shipping methods available. Please ensure that your address "
1781
- "has been entered correctly, or contact us if you need any help."
1782
- msgstr ""
1783
-
1784
- #: woocommerce/template/cart/cart-shipping.php:66
1785
- #. Translators: $s shipping destination.
1786
- msgid "No shipping options were found for %s."
1787
- msgstr ""
1788
-
1789
- #: woocommerce/template/cart/cart-shipping.php:67
1790
- msgid "Enter a different address"
1791
- msgstr ""
1792
-
1793
- #: woocommerce/template/checkout/form-billing.php:27
1794
- msgid "Billing &amp; Shipping"
1795
- msgstr ""
1796
-
1797
- #: woocommerce/template/checkout/form-billing.php:31
1798
- msgid "Billing details"
1799
- msgstr ""
1800
-
1801
- #: woocommerce/template/checkout/form-billing.php:59
1802
- msgid "Create an account?"
1803
- msgstr ""
1804
-
1805
- #: woocommerce/template/checkout/form-checkout.php:26
1806
- msgid "You must be logged in to checkout."
1807
- msgstr ""
1808
-
1809
- #: woocommerce/template/checkout/form-checkout.php:52
1810
- msgid "Your order"
1811
- msgstr ""
1812
-
1813
- #: woocommerce/template/checkout/form-coupon.php:26
1814
- msgid "Have a coupon?"
1815
- msgstr ""
1816
-
1817
- #: woocommerce/template/checkout/form-coupon.php:26
1818
- msgid "Click here to enter your code"
1819
- msgstr ""
1820
-
1821
- #: woocommerce/template/checkout/form-coupon.php:31
1822
- msgid "If you have a coupon code, please apply it below."
1823
- msgstr ""
1824
-
1825
- #: woocommerce/template/checkout/form-coupon.php:34
1826
- msgid "Coupon code"
1827
- msgstr ""
1828
-
1829
- #: woocommerce/template/checkout/form-coupon.php:38
1830
- msgid "Apply coupon"
1831
- msgstr ""
1832
-
1833
- #: woocommerce/template/checkout/form-login.php:26
1834
- msgid "Returning customer?"
1835
- msgstr ""
1836
-
1837
- #: woocommerce/template/checkout/form-login.php:26
1838
- msgid "Click here to login"
1839
- msgstr ""
1840
-
1841
- #: woocommerce/template/checkout/form-login.php:32
1842
- msgid ""
1843
- "If you have shopped with us before, please enter your details below. If you "
1844
- "are a new customer, please proceed to the Billing &amp; Shipping section."
1845
- msgstr ""
1846
-
1847
- #: woocommerce/template/checkout/form-shipping.php:26
1848
- msgid "Ship to a different address?"
1849
- msgstr ""
1850
-
1851
- #: woocommerce/template/checkout/form-shipping.php:57
1852
- msgid "Additional information"
1853
- msgstr ""
1854
-
1855
- #: woocommerce/template/checkout/payment.php:33
1856
- msgid ""
1857
- "Sorry, it seems that there are no available payment methods for your state. "
1858
- "Please contact us if you require assistance or wish to make alternate "
1859
- "arrangements."
1860
- msgstr ""
1861
-
1862
- #: woocommerce/template/checkout/payment.php:33
1863
- msgid "Please fill in your details above to see available payment methods."
1864
- msgstr ""
1865
-
1866
- #: woocommerce/template/checkout/payment.php:42
1867
- #. translators: $1 and $2 opening and closing emphasis tags respectively
1868
- msgid ""
1869
- "Since your browser does not support JavaScript, or it is disabled, please "
1870
- "ensure you click the %1$sUpdate Totals%2$s button before placing your "
1871
- "order. You may be charged more than the amount stated above if you fail to "
1872
- "do so."
1873
- msgstr ""
1874
-
1875
- #: woocommerce/template/checkout/payment.php:44
1876
- msgid "Update totals"
1877
- msgstr ""
1878
-
1879
- #: woocommerce/template/checkout/review-order.php:26
1880
- msgid "Product"
1881
- msgstr ""
1882
-
1883
- #: woocommerce/template/checkout/review-order.php:27
1884
- #: woocommerce/template/checkout/review-order.php:107
1885
- msgid "Total"
1886
- msgstr ""
1887
-
1888
- #: woocommerce/template/checkout/review-order.php:60
1889
- msgid "Subtotal"
1890
- msgstr ""
1891
-
1892
- #: woocommerce/template/checkout/thankyou.php:30
1893
- msgid ""
1894
- "Unfortunately your order cannot be processed as the originating "
1895
- "bank/merchant has declined your transaction. Please attempt your purchase "
1896
- "again."
1897
- msgstr ""
1898
-
1899
- #: woocommerce/template/checkout/thankyou.php:33
1900
- msgid "Pay"
1901
- msgstr ""
1902
-
1903
- #: woocommerce/template/checkout/thankyou.php:35
1904
- msgid "My account"
1905
- msgstr ""
1906
-
1907
- #: woocommerce/template/checkout/thankyou.php:46
1908
- msgid "Order number:"
1909
- msgstr ""
1910
-
1911
- #: woocommerce/template/checkout/thankyou.php:51
1912
- msgid "Date:"
1913
- msgstr ""
1914
-
1915
- #: woocommerce/template/checkout/thankyou.php:57
1916
- msgid "Email:"
1917
- msgstr ""
1918
-
1919
- #: woocommerce/template/checkout/thankyou.php:63
1920
- msgid "Total:"
1921
- msgstr ""
1922
-
1923
- #: woocommerce/template/checkout/thankyou.php:69
1924
- msgid "Payment method:"
1925
- msgstr ""
1926
-
1927
- #: woocommerce/template/global/form-login.php:34
1928
- msgid "Username or email"
1929
- msgstr ""
1930
-
1931
- #: woocommerce/template/global/form-login.php:38
1932
- msgid "Password"
1933
- msgstr ""
1934
-
1935
- #: woocommerce/template/global/form-login.php:48
1936
- msgid "Login"
1937
- msgstr ""
1938
-
1939
- #: woocommerce/template/global/form-login.php:53
1940
- msgid "Remember me"
1941
- msgstr ""
1942
-
1943
- #: woocommerce/template/global/form-login.php:57
1944
- msgid "Lost your password?"
1945
- msgstr ""
1946
-
1947
- #. Plugin Name of the plugin/theme
1948
- msgid "CartFlows"
1949
- msgstr ""
1950
-
1951
- #. Author URI of the plugin/theme
1952
- msgid "https://cartflows.com/"
1953
- msgstr ""
1954
-
1955
- #. Description of the plugin/theme
1956
- msgid "Create beautiful checkout pages & sales flows for WooCommerce."
1957
- msgstr ""
1958
-
1959
- #. Author of the plugin/theme
1960
- msgid "CartFlows Inc"
1961
- msgstr ""
1962
-
1963
- #: modules/flow/classes/class-cartflows-flow-post-type.php:99
1964
- msgctxt "flow general name"
1965
- msgid "Flows"
1966
- msgstr ""
1967
-
1968
- #: modules/flow/classes/class-cartflows-flow-post-type.php:100
1969
- msgctxt "flow singular name"
1970
- msgid "Flow"
1971
- msgstr ""
1972
-
1973
- #: modules/flow/classes/class-cartflows-step-post-type.php:160
1974
- msgctxt "flow step general name"
1975
- msgid "Steps"
1976
- msgstr ""
1977
-
1978
- #: modules/flow/classes/class-cartflows-step-post-type.php:161
1979
- msgctxt "flow step singular name"
1980
- msgid "Step"
1981
- msgstr ""
1982
-
1983
- #: modules/flow/classes/class-cartflows-step-post-type.php:313
1984
- msgctxt "cartflows"
1985
- msgid "CartFlows — Boxed"
1986
- msgstr ""
1987
-
1988
- #: modules/flow/classes/class-cartflows-step-post-type.php:314
1989
- msgctxt "cartflows"
1990
- msgid "Template for Page Builders"
1991
  msgstr ""
1
+ # Copyright (C) 2020 CartFlows Inc
2
+ # This file is distributed under the same license as the CartFlows package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: CartFlows 1.5.6\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/cartflows\n"
7
+ "POT-Creation-Date: 2020-04-23 10:43:59+00:00\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=utf-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2020-MO-DA HO:MI+ZONE\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "Language: en\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "X-Poedit-Country: United States\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-KeywordsList: "
19
+ "__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
20
+ "attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
21
+ "X-Poedit-Basepath: ../\n"
22
+ "X-Poedit-SearchPath-0: .\n"
23
+ "X-Poedit-Bookmarks: \n"
24
+ "X-Textdomain-Support: yes\n"
25
+ "X-Generator: grunt-wp-i18n 1.0.3\n"
26
+
27
+ #: classes/batch-process/class-cartflows-importer-elementor.php:44
28
+ msgid "Invalid content."
29
+ msgstr ""
30
+
31
+ #: classes/batch-process/class-cartflows-importer-elementor.php:52
32
+ msgid "Invalid content. Expected an array."
33
+ msgstr ""
34
+
35
+ #: classes/batch-process/helpers/class-wp-background-process.php:435
36
+ msgid "Every %d Minutes"
37
+ msgstr ""
38
+
39
+ #: classes/class-cartflows-admin-fields.php:231
40
+ msgid "Select"
41
+ msgstr ""
42
+
43
+ #: classes/class-cartflows-admin-fields.php:234
44
+ msgid "No Checkout Steps"
45
+ msgstr ""
46
+
47
+ #: classes/class-cartflows-admin-fields.php:260
48
+ #. translators: %s: link
49
+ msgid ""
50
+ "Be sure not to add any product in above selected Global Checkout step. "
51
+ "Please read information about how to set up Global Checkout %1$shere%2$s."
52
+ msgstr ""
53
+
54
+ #: classes/class-cartflows-admin.php:153 classes/class-cartflows-admin.php:154
55
+ #: includes/admin/cartflows-general-bck.php:34
56
+ #: modules/optin/classes/class-cartflows-optin-meta.php:150
57
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:148
58
+ msgid "Settings"
59
+ msgstr ""
60
+
61
+ #: classes/class-cartflows-admin.php:436
62
+ msgid "Installing and activating.."
63
+ msgstr ""
64
+
65
+ #: classes/class-cartflows-admin.php:437
66
+ msgid "There was an error with the installation of plugin."
67
+ msgstr ""
68
+
69
+ #: classes/class-cartflows-admin.php:491
70
+ msgid "Flows Library"
71
+ msgstr ""
72
+
73
+ #: classes/class-cartflows-admin.php:498
74
+ #: modules/flow/view/meta-flow-steps.php:156
75
+ msgid "Ready Templates"
76
+ msgstr ""
77
+
78
+ #: classes/class-cartflows-admin.php:501
79
+ #: modules/flow/view/meta-flow-steps.php:159
80
+ msgid "Create Your Own"
81
+ msgstr ""
82
+
83
+ #: classes/class-cartflows-admin.php:512
84
+ #: modules/flow/view/meta-flow-steps.php:171
85
+ msgid "Search Sites"
86
+ msgstr ""
87
+
88
+ #: classes/class-cartflows-admin.php:513
89
+ #: modules/flow/view/meta-flow-steps.php:172
90
+ msgid "Search Flow..."
91
+ msgstr ""
92
+
93
+ #: classes/class-cartflows-admin.php:530
94
+ msgid "Design Your Flow"
95
+ msgstr ""
96
+
97
+ #: classes/class-cartflows-admin.php:531
98
+ #: classes/class-cartflows-importer.php:637
99
+ #: classes/class-cartflows-importer.php:736
100
+ #: modules/flow/view/meta-flow-steps.php:202
101
+ msgid "Learn How"
102
+ msgstr ""
103
+
104
+ #: classes/class-cartflows-api.php:368
105
+ msgid "Request successfully processed!"
106
+ msgstr ""
107
+
108
+ #: classes/class-cartflows-cloning.php:423
109
+ msgid "Clone this flow"
110
+ msgstr ""
111
+
112
+ #: classes/class-cartflows-cloning.php:423
113
+ #: modules/flow/view/meta-flow-steps.php:115
114
+ msgid "Clone"
115
+ msgstr ""
116
+
117
+ #: classes/class-cartflows-default-meta.php:741
118
+ #: modules/optin/classes/class-cartflows-optin-meta.php:487
119
+ msgid "Submit"
120
+ msgstr ""
121
+
122
+ #: classes/class-cartflows-flow-frontend.php:53
123
+ msgid ""
124
+ "Test mode is active — which displays random products for previewing. It can "
125
+ "be deactivated from the flow settings in the admin dashboard."
126
+ msgstr ""
127
+
128
+ #: classes/class-cartflows-flow-frontend.php:58
129
+ msgid "Click here to disable it"
130
+ msgstr ""
131
+
132
+ #: classes/class-cartflows-importer.php:81
133
+ msgid "Export this flow"
134
+ msgstr ""
135
+
136
+ #: classes/class-cartflows-importer.php:81 includes/exporter.php:18
137
+ msgid "Export"
138
+ msgstr ""
139
+
140
+ #: classes/class-cartflows-importer.php:92
141
+ msgid "Flow Export"
142
+ msgstr ""
143
+
144
+ #: classes/class-cartflows-importer.php:93
145
+ msgid "Flow Import"
146
+ msgstr ""
147
+
148
+ #: classes/class-cartflows-importer.php:104
149
+ msgid "No post to export has been supplied!"
150
+ msgstr ""
151
+
152
+ #: classes/class-cartflows-importer.php:295
153
+ msgid "Please upload a valid .json file"
154
+ msgstr ""
155
+
156
+ #: classes/class-cartflows-importer.php:301
157
+ msgid "Please upload a file to import"
158
+ msgstr ""
159
+
160
+ #: classes/class-cartflows-importer.php:478
161
+ msgid "Successfully imported flows."
162
+ msgstr ""
163
+
164
+ #: classes/class-cartflows-importer.php:510
165
+ msgid "Loading Steps"
166
+ msgstr ""
167
+
168
+ #: classes/class-cartflows-importer.php:512
169
+ msgid "Getting steps from the cloud. Please wait for the moment."
170
+ msgstr ""
171
+
172
+ #: classes/class-cartflows-importer.php:523
173
+ msgid "Searching Template.."
174
+ msgstr ""
175
+
176
+ #: classes/class-cartflows-importer.php:525
177
+ msgid "Getting templates from the cloud. Please wait for the moment."
178
+ msgstr ""
179
+
180
+ #: classes/class-cartflows-importer.php:534
181
+ msgid "Importing.."
182
+ msgstr ""
183
+
184
+ #: classes/class-cartflows-importer.php:543
185
+ #: classes/class-cartflows-importer.php:583
186
+ msgid "Imported"
187
+ msgstr ""
188
+
189
+ #: classes/class-cartflows-importer.php:544
190
+ #: classes/class-cartflows-importer.php:584
191
+ msgid "Thanks for patience"
192
+ msgstr ""
193
+
194
+ #: classes/class-cartflows-importer.php:553
195
+ #: classes/class-cartflows-importer.php:565
196
+ msgid "Coming Soon!"
197
+ msgstr ""
198
+
199
+ #: classes/class-cartflows-importer.php:584
200
+ msgid "Redirecting to the Elementor edit window."
201
+ msgstr ""
202
+
203
+ #: classes/class-cartflows-importer.php:630
204
+ #: classes/class-cartflows-importer.php:746
205
+ msgid "Pro"
206
+ msgstr ""
207
+
208
+ #: classes/class-cartflows-importer.php:671
209
+ #: classes/class-cartflows-importer.php:778
210
+ msgid "Activate License"
211
+ msgstr ""
212
+
213
+ #: classes/class-cartflows-importer.php:673
214
+ #: classes/class-cartflows-importer.php:780
215
+ #: modules/flow/classes/class-cartflows-flow-meta.php:461
216
+ msgid "Get Pro"
217
+ msgstr ""
218
+
219
+ #: classes/class-cartflows-importer.php:698
220
+ msgid "Create"
221
+ msgstr ""
222
+
223
+ #: classes/class-cartflows-importer.php:797
224
+ msgid "Under Maintenance.."
225
+ msgstr ""
226
+
227
+ #: classes/class-cartflows-importer.php:798
228
+ msgid ""
229
+ "If you are seeing this message, most likely our servers are under routine "
230
+ "maintenance and we will be back shortly."
231
+ msgstr ""
232
+
233
+ #: classes/class-cartflows-importer.php:799
234
+ msgid ""
235
+ "In rare case, it is possible your website is having trouble connecting with "
236
+ "ours. If you need help, please feel free to get in touch with us from our "
237
+ "website.."
238
+ msgstr ""
239
+
240
+ #: classes/class-cartflows-importer.php:829
241
+ #. translators: %s: Plugin string
242
+ msgid ""
243
+ "%1$s to see CartFlows templates. If you prefer another page builder tool, "
244
+ "you can <a href=\"%2$s\" target=\"blank\">select it here</a>."
245
+ msgstr ""
246
+
247
+ #: classes/class-cartflows-importer.php:844
248
+ msgid "All"
249
+ msgstr ""
250
+
251
+ #: classes/class-cartflows-importer.php:847
252
+ msgid "Select Step Type"
253
+ msgstr ""
254
+
255
+ #: classes/class-cartflows-importer.php:931
256
+ msgid "Import from Cloud"
257
+ msgstr ""
258
+
259
+ #: classes/class-cartflows-importer.php:1230
260
+ msgid "Sales Landing"
261
+ msgstr ""
262
+
263
+ #: classes/class-cartflows-importer.php:1234
264
+ #: modules/flow/classes/class-cartflows-step-post-type.php:251
265
+ #: modules/flow/view/meta-flow-steps.php:12
266
+ msgid "Checkout (Woo)"
267
+ msgstr ""
268
+
269
+ #: classes/class-cartflows-importer.php:1238
270
+ #: modules/flow/classes/class-cartflows-step-post-type.php:258
271
+ #: modules/flow/view/meta-flow-steps.php:13
272
+ msgid "Thank You (Woo)"
273
+ msgstr ""
274
+
275
+ #: classes/class-cartflows-importer.php:1246
276
+ #: modules/flow/classes/class-cartflows-step-post-type.php:237
277
+ #: modules/flow/view/meta-flow-steps.php:11
278
+ msgid "Landing"
279
+ msgstr ""
280
+
281
+ #: classes/class-cartflows-importer.php:1250
282
+ msgid "Thank You"
283
+ msgstr ""
284
+
285
+ #: classes/class-cartflows-importer.php:1360
286
+ #. translators: %s: template ID
287
+ msgid "Invalid template id %1$s or post id %2$s."
288
+ msgstr ""
289
+
290
+ #: classes/class-cartflows-importer.php:1422
291
+ #. translators: %s: flow ID
292
+ msgid "Invalid flow id %1$s OR step type %2$s."
293
+ msgstr ""
294
+
295
+ #: classes/class-cartflows-importer.php:1547
296
+ msgid ""
297
+ "Elementor is not activated. Please activate plugin Elementor Page Builder "
298
+ "to import the step."
299
+ msgstr ""
300
+
301
+ #: classes/class-cartflows-importer.php:1650
302
+ msgid "Action failed. Invalid Security Nonce."
303
+ msgstr ""
304
+
305
+ #: classes/class-cartflows-importer.php:1657
306
+ msgid "User have not plugin install permissions."
307
+ msgstr ""
308
+
309
+ #: classes/class-cartflows-importer.php:1679
310
+ msgid "Plugin Successfully Activated"
311
+ msgstr ""
312
+
313
+ #: classes/class-cartflows-learndash-compatibility.php:86
314
+ msgid "None"
315
+ msgstr ""
316
+
317
+ #: classes/class-cartflows-learndash-compatibility.php:113
318
+ #. translators: 1: anchor start, 2: anchor close
319
+ msgid ""
320
+ "Non-enrolled students will redirect to the selected CartFlows template. If "
321
+ "you have not created any Flow already, add new Flow from %1$shere%2$s."
322
+ msgstr ""
323
+
324
+ #: classes/class-cartflows-learndash-compatibility.php:119
325
+ msgid "Select CartFlows Template for this Course"
326
+ msgstr ""
327
+
328
+ #: classes/class-cartflows-loader.php:222
329
+ #. translators: %s: html tags
330
+ msgid ""
331
+ "You are using an older version of %1$sCartFlows Pro%2$s. Please update "
332
+ "%1$sCartFlows Pro%2$s plugin to version %1$s%3$s%2$s or higher."
333
+ msgstr ""
334
+
335
+ #: classes/class-cartflows-loader.php:462
336
+ #. translators: %s: html tags
337
+ msgid ""
338
+ "This %1$sCartFlows%2$s page requires %1$sWooCommerce%2$s plugin installed & "
339
+ "activated."
340
+ msgstr ""
341
+
342
+ #: classes/class-cartflows-loader.php:472
343
+ msgid "Activate WooCommerce"
344
+ msgstr ""
345
+
346
+ #: classes/class-cartflows-loader.php:480
347
+ msgid "Install WooCommerce"
348
+ msgstr ""
349
+
350
+ #: classes/class-cartflows-logger.php:161
351
+ msgid "Action failed. Please refresh the page and retry."
352
+ msgstr ""
353
+
354
+ #: classes/class-cartflows-meta-fields.php:80
355
+ msgid "Thin 100"
356
+ msgstr ""
357
+
358
+ #: classes/class-cartflows-meta-fields.php:81
359
+ msgid "Extra-Light 200"
360
+ msgstr ""
361
+
362
+ #: classes/class-cartflows-meta-fields.php:82
363
+ msgid "Light 300"
364
+ msgstr ""
365
+
366
+ #: classes/class-cartflows-meta-fields.php:83
367
+ msgid "Normal 400"
368
+ msgstr ""
369
+
370
+ #: classes/class-cartflows-meta-fields.php:84
371
+ msgid "Medium 500"
372
+ msgstr ""
373
+
374
+ #: classes/class-cartflows-meta-fields.php:85
375
+ msgid "Semi-Bold 600"
376
+ msgstr ""
377
+
378
+ #: classes/class-cartflows-meta-fields.php:86
379
+ msgid "Bold 700"
380
+ msgstr ""
381
+
382
+ #: classes/class-cartflows-meta-fields.php:87
383
+ msgid "Extra-Bold 800"
384
+ msgstr ""
385
+
386
+ #: classes/class-cartflows-meta-fields.php:88
387
+ msgid "Ultra-Bold 900"
388
+ msgstr ""
389
+
390
+ #: classes/class-cartflows-meta-fields.php:548
391
+ #: classes/class-cartflows-meta-fields.php:747
392
+ msgid "Search for a product&hellip;"
393
+ msgstr ""
394
+
395
+ #: classes/class-cartflows-meta-fields.php:589
396
+ msgid "Search for a coupon&hellip;"
397
+ msgstr ""
398
+
399
+ #: classes/class-cartflows-meta-fields.php:722
400
+ msgid "Add New Product"
401
+ msgstr ""
402
+
403
+ #: classes/class-cartflows-meta-fields.php:723
404
+ msgid "Create Product"
405
+ msgstr ""
406
+
407
+ #: classes/class-cartflows-meta-fields.php:755
408
+ msgid "Remove"
409
+ msgstr ""
410
+
411
+ #: classes/class-cartflows-meta.php:34
412
+ msgid "Update"
413
+ msgstr ""
414
+
415
+ #: classes/class-cartflows-meta.php:42
416
+ #: modules/flow/classes/class-cartflows-flow-meta.php:82
417
+ msgid "Back to edit Flow"
418
+ msgstr ""
419
+
420
+ #: classes/class-cartflows-meta.php:63
421
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:192
422
+ #: modules/landing/classes/class-cartflows-landing-meta.php:136
423
+ #: modules/optin/classes/class-cartflows-optin-meta.php:156
424
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:154
425
+ msgid "Custom Script"
426
+ msgstr ""
427
+
428
+ #: classes/class-cartflows-meta.php:66
429
+ msgid ""
430
+ "Custom script lets you add your own custom script on front end of this flow "
431
+ "page."
432
+ msgstr ""
433
+
434
+ #: classes/class-cartflows-metabox.php:59
435
+ msgid "Flow Details"
436
+ msgstr ""
437
+
438
+ #: classes/class-cartflows-wizard.php:83
439
+ msgid "Thanks for installing and using CartFlows!"
440
+ msgstr ""
441
+
442
+ #: classes/class-cartflows-wizard.php:84
443
+ msgid ""
444
+ "It is easy to use the CartFlows. Please use the setup wizard to quick start "
445
+ "setup."
446
+ msgstr ""
447
+
448
+ #: classes/class-cartflows-wizard.php:86
449
+ msgid "Start Wizard"
450
+ msgstr ""
451
+
452
+ #: classes/class-cartflows-wizard.php:87
453
+ msgid "Skip Setup"
454
+ msgstr ""
455
+
456
+ #: classes/class-cartflows-wizard.php:117
457
+ #: includes/admin/cartflows-general-bck.php:24
458
+ msgid "Welcome"
459
+ msgstr ""
460
+
461
+ #: classes/class-cartflows-wizard.php:122
462
+ msgid "Page Builder"
463
+ msgstr ""
464
+
465
+ #: classes/class-cartflows-wizard.php:126
466
+ msgid "Checkout"
467
+ msgstr ""
468
+
469
+ #: classes/class-cartflows-wizard.php:130
470
+ msgid "Training"
471
+ msgstr ""
472
+
473
+ #: classes/class-cartflows-wizard.php:134
474
+ msgid "Ready!"
475
+ msgstr ""
476
+
477
+ #: classes/class-cartflows-wizard.php:209
478
+ msgid "CartFlows Setup"
479
+ msgstr ""
480
+
481
+ #: classes/class-cartflows-wizard.php:235
482
+ msgid "Exit Setup Wizard"
483
+ msgstr ""
484
+
485
+ #: classes/class-cartflows-wizard.php:288
486
+ msgid "Welcome to CartFlows!"
487
+ msgstr ""
488
+
489
+ #: classes/class-cartflows-wizard.php:289
490
+ msgid ""
491
+ "Thank you for choosing CartFlows to get more leads, increase conversions, & "
492
+ "maximize profits. This short setup wizard will guide you though configuring "
493
+ "CartFlows and creating your first funnel."
494
+ msgstr ""
495
+
496
+ #: classes/class-cartflows-wizard.php:295
497
+ msgid "Lets Go »"
498
+ msgstr ""
499
+
500
+ #: classes/class-cartflows-wizard.php:322
501
+ msgid "Page Builder Setup"
502
+ msgstr ""
503
+
504
+ #: classes/class-cartflows-wizard.php:323
505
+ msgid "Please select a page builder you would like to use with CartFlows."
506
+ msgstr ""
507
+
508
+ #: classes/class-cartflows-wizard.php:328
509
+ msgid "Select Page Builder"
510
+ msgstr ""
511
+
512
+ #: classes/class-cartflows-wizard.php:335
513
+ #: includes/admin/cartflows-general.php:94
514
+ msgid "Elementor"
515
+ msgstr ""
516
+
517
+ #: classes/class-cartflows-wizard.php:345
518
+ msgid "Beaver Builder Plugin (Lite Version)"
519
+ msgstr ""
520
+
521
+ #: classes/class-cartflows-wizard.php:355
522
+ #: includes/admin/cartflows-general.php:96
523
+ msgid "Divi"
524
+ msgstr ""
525
+
526
+ #: classes/class-cartflows-wizard.php:365
527
+ #: includes/admin/cartflows-general.php:97
528
+ msgid "Other"
529
+ msgstr ""
530
+
531
+ #: classes/class-cartflows-wizard.php:387
532
+ msgid ""
533
+ "While CartFlows Should work with most page builders, we offer templates for "
534
+ "the above page builders."
535
+ msgstr ""
536
+
537
+ #: classes/class-cartflows-wizard.php:390
538
+ #: classes/class-cartflows-wizard.php:435
539
+ #: classes/class-cartflows-wizard.php:622
540
+ msgid "« Previous"
541
+ msgstr ""
542
+
543
+ #: classes/class-cartflows-wizard.php:393
544
+ msgid "Skip this step"
545
+ msgstr ""
546
+
547
+ #: classes/class-cartflows-wizard.php:394
548
+ msgid "Next »"
549
+ msgstr ""
550
+
551
+ #: classes/class-cartflows-wizard.php:413
552
+ msgid "Choose a checkout"
553
+ msgstr ""
554
+
555
+ #: classes/class-cartflows-wizard.php:416
556
+ msgid ""
557
+ "While CartFlows is designed to use WooCommerce sell digital and physical "
558
+ "products, not all funnels need a checkout system."
559
+ msgstr ""
560
+
561
+ #: classes/class-cartflows-wizard.php:418
562
+ msgid ""
563
+ "Would you like to install WooCommerce to sell digital and physical products "
564
+ "in your funnels?"
565
+ msgstr ""
566
+
567
+ #: classes/class-cartflows-wizard.php:425
568
+ msgid "The following plugin will be installed and activated for you:"
569
+ msgstr ""
570
+
571
+ #: classes/class-cartflows-wizard.php:426
572
+ msgid "WooCommerce"
573
+ msgstr ""
574
+
575
+ #: classes/class-cartflows-wizard.php:427
576
+ msgid "WooCommerce Cart Abandonment Recovery"
577
+ msgstr ""
578
+
579
+ #: classes/class-cartflows-wizard.php:438
580
+ #: classes/class-cartflows-wizard.php:625
581
+ msgid "No thanks"
582
+ msgstr ""
583
+
584
+ #: classes/class-cartflows-wizard.php:439
585
+ msgid "Yes"
586
+ msgstr ""
587
+
588
+ #: classes/class-cartflows-wizard.php:558
589
+ msgid "Congratulations, You Did It!"
590
+ msgstr ""
591
+
592
+ #: classes/class-cartflows-wizard.php:565
593
+ msgid ""
594
+ "CartFlows is ready to use on your website. You've successfully completed "
595
+ "the setup process and all that is left for you to do is create your first "
596
+ "flow."
597
+ msgstr ""
598
+
599
+ #: classes/class-cartflows-wizard.php:579
600
+ msgid "Create a flow"
601
+ msgstr ""
602
+
603
+ #: classes/class-cartflows-wizard.php:596
604
+ msgid "Exclusive CartFlows Training Course Offer"
605
+ msgstr ""
606
+
607
+ #: classes/class-cartflows-wizard.php:607
608
+ msgid ""
609
+ "We want you to get off to a great start using CartFlows, so we would like "
610
+ "to give access to our exclusive training course."
611
+ msgstr ""
612
+
613
+ #: classes/class-cartflows-wizard.php:608
614
+ msgid "Get access to this couse, for free, by entering your email below."
615
+ msgstr ""
616
+
617
+ #: classes/class-cartflows-wizard.php:610
618
+ msgid "Enter Email address"
619
+ msgstr ""
620
+
621
+ #: classes/class-cartflows-wizard.php:626
622
+ msgid "Allow"
623
+ msgstr ""
624
+
625
+ #: classes/logger/class-cartflows-log-handler-file.php:351
626
+ #: classes/logger/class-cartflows-log-handler-file.php:371
627
+ msgid "This method should not be called before plugins_loaded."
628
+ msgstr ""
629
+
630
+ #: classes/logger/class-cartflows-wc-logger.php:58
631
+ #. translators: 1: class name 2: Cartflows_Log_Handler_Interface
632
+ msgid "The provided handler %1$s does not implement %2$s."
633
+ msgstr ""
634
+
635
+ #: classes/logger/class-cartflows-wc-logger.php:136
636
+ #. translators: 1: Cartflows_WC_Logger::log 2: level
637
+ msgid "%1$s was called with an invalid level \"%2$s\"."
638
+ msgstr ""
639
+
640
+ #: includes/admin/cartflows-admin.php:19
641
+ #: includes/admin/cartflows-general.php:48
642
+ msgid "Modernizing WordPress eCommerce!"
643
+ msgstr ""
644
+
645
+ #: includes/admin/cartflows-admin.php:29
646
+ msgid "Settings saved successfully."
647
+ msgstr ""
648
+
649
+ #: includes/admin/cartflows-error-log.php:36
650
+ msgid "%1$s at %2$s"
651
+ msgstr ""
652
+
653
+ #: includes/admin/cartflows-error-log.php:41
654
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:225
655
+ #: modules/flow/view/meta-flow-steps.php:104
656
+ msgid "View"
657
+ msgstr ""
658
+
659
+ #: includes/admin/cartflows-error-log.php:65
660
+ msgid "Delete log"
661
+ msgstr ""
662
+
663
+ #: includes/admin/cartflows-error-log.php:70
664
+ msgid "There are currently no logs to view."
665
+ msgstr ""
666
+
667
+ #: includes/admin/cartflows-general-bck.php:10
668
+ msgid "Selec"
669
+ msgstr ""
670
+
671
+ #: includes/admin/cartflows-general-bck.php:22
672
+ msgid "General"
673
+ msgstr ""
674
+
675
+ #: includes/admin/cartflows-general.php:31
676
+ #: includes/admin/cartflows-general.php:58
677
+ msgid "General Settings"
678
+ msgstr ""
679
+
680
+ #: includes/admin/cartflows-general.php:40
681
+ msgid "Getting Started"
682
+ msgstr ""
683
+
684
+ #: includes/admin/cartflows-general.php:71
685
+ msgid "Disallow search engines from indexing flows"
686
+ msgstr ""
687
+
688
+ #: includes/admin/cartflows-general.php:81
689
+ #: modules/flow/view/meta-flow-steps.php:93
690
+ msgid "Global Checkout"
691
+ msgstr ""
692
+
693
+ #: includes/admin/cartflows-general.php:90
694
+ msgid "Show Templates designed with"
695
+ msgstr ""
696
+
697
+ #: includes/admin/cartflows-general.php:91
698
+ msgid ""
699
+ "CartFlows offers flow templates that can be imported in one click. These "
700
+ "templates are available in few different page builders. Please choose your "
701
+ "preferred page builder from the list so you will only see templates that "
702
+ "are made using that page builder.."
703
+ msgstr ""
704
+
705
+ #: includes/admin/cartflows-general.php:95
706
+ msgid "Beaver Builder"
707
+ msgstr ""
708
+
709
+ #: includes/admin/cartflows-general.php:106
710
+ #: includes/admin/cartflows-general.php:190
711
+ #: includes/admin/cartflows-general.php:296
712
+ #: includes/admin/cartflows-general.php:413
713
+ msgid "Save Changes"
714
+ msgstr ""
715
+
716
+ #: includes/admin/cartflows-general.php:116
717
+ msgid "Permalink Settings"
718
+ msgstr ""
719
+
720
+ #: includes/admin/cartflows-general.php:131
721
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:603
722
+ #: modules/optin/classes/class-cartflows-optin-meta.php:380
723
+ msgid "Default"
724
+ msgstr ""
725
+
726
+ #: includes/admin/cartflows-general.php:137
727
+ msgid "Flow and Step Slug"
728
+ msgstr ""
729
+
730
+ #: includes/admin/cartflows-general.php:143
731
+ msgid "Flow Slug"
732
+ msgstr ""
733
+
734
+ #: includes/admin/cartflows-general.php:149
735
+ msgid "Step Slug"
736
+ msgstr ""
737
+
738
+ #: includes/admin/cartflows-general.php:161
739
+ msgid "Post Type Permalink Base"
740
+ msgstr ""
741
+
742
+ #: includes/admin/cartflows-general.php:169
743
+ msgid "Step Base"
744
+ msgstr ""
745
+
746
+ #: includes/admin/cartflows-general.php:179
747
+ msgid "Flow Base"
748
+ msgstr ""
749
+
750
+ #: includes/admin/cartflows-general.php:191
751
+ msgid "Set Default"
752
+ msgstr ""
753
+
754
+ #: includes/admin/cartflows-general.php:205
755
+ msgid "Facebook Pixel Settings"
756
+ msgstr ""
757
+
758
+ #: includes/admin/cartflows-general.php:220
759
+ msgid "Enable Facebook Pixel Tracking"
760
+ msgstr ""
761
+
762
+ #: includes/admin/cartflows-general.php:233
763
+ msgid "Enable for the whole site"
764
+ msgstr ""
765
+
766
+ #: includes/admin/cartflows-general.php:241
767
+ #: includes/admin/cartflows-general.php:340
768
+ msgid "If this option is unchecked, it will only apply to CartFlows steps."
769
+ msgstr ""
770
+
771
+ #: includes/admin/cartflows-general.php:251
772
+ msgid "Enter Facebook pixel ID"
773
+ msgstr ""
774
+
775
+ #: includes/admin/cartflows-general.php:259
776
+ #: includes/admin/cartflows-general.php:358
777
+ msgid "Enable Events:"
778
+ msgstr ""
779
+
780
+ #: includes/admin/cartflows-general.php:268
781
+ msgid "Initiate Checkout"
782
+ msgstr ""
783
+
784
+ #: includes/admin/cartflows-general.php:277
785
+ #: includes/admin/cartflows-general.php:384
786
+ msgid "Add Payment Info"
787
+ msgstr ""
788
+
789
+ #: includes/admin/cartflows-general.php:286
790
+ msgid "Purchase Complete"
791
+ msgstr ""
792
+
793
+ #: includes/admin/cartflows-general.php:308
794
+ msgid "Google Analytics Settings"
795
+ msgstr ""
796
+
797
+ #: includes/admin/cartflows-general.php:319
798
+ msgid "Enable Google Analytics Tracking"
799
+ msgstr ""
800
+
801
+ #: includes/admin/cartflows-general.php:332
802
+ msgid "Enable for the whole website"
803
+ msgstr ""
804
+
805
+ #: includes/admin/cartflows-general.php:350
806
+ msgid "Google Analytics ID"
807
+ msgstr ""
808
+
809
+ #: includes/admin/cartflows-general.php:352
810
+ msgid ""
811
+ "Log into your <a href=\"https://analytics.google.com/\" "
812
+ "target=\"_blank\">google analytics account</a> to find your ID. eg: "
813
+ "UA-XXXXXX-X&period;"
814
+ msgstr ""
815
+
816
+ #: includes/admin/cartflows-general.php:366
817
+ msgid "Begin Checkout"
818
+ msgstr ""
819
+
820
+ #: includes/admin/cartflows-general.php:375
821
+ msgid "Add To Cart"
822
+ msgstr ""
823
+
824
+ #: includes/admin/cartflows-general.php:393
825
+ msgid "Purchase"
826
+ msgstr ""
827
+
828
+ #: includes/admin/cartflows-general.php:401
829
+ msgid ""
830
+ "Google Analytics not working correctly? <a "
831
+ "href=\"https://cartflows.com/docs/troubleshooting-google-analytics-tracking-"
832
+ "issues/\" > Click here </a> to know more. "
833
+ msgstr ""
834
+
835
+ #: includes/admin/cartflows-general.php:434
836
+ msgid "Knowledge Base"
837
+ msgstr ""
838
+
839
+ #: includes/admin/cartflows-general.php:438
840
+ msgid "Not sure how something works? Take a peek at the knowledge base and learn."
841
+ msgstr ""
842
+
843
+ #: includes/admin/cartflows-general.php:441
844
+ msgid "Visit Knowledge Base »"
845
+ msgstr ""
846
+
847
+ #: includes/admin/cartflows-general.php:449
848
+ msgid "Community"
849
+ msgstr ""
850
+
851
+ #: includes/admin/cartflows-general.php:453
852
+ msgid ""
853
+ "Join the community of super helpful CartFlows users. Say hello, ask "
854
+ "questions, give feedback and help each other!"
855
+ msgstr ""
856
+
857
+ #: includes/admin/cartflows-general.php:456
858
+ msgid "Join Our Facebook Group »"
859
+ msgstr ""
860
+
861
+ #: includes/admin/cartflows-general.php:464
862
+ msgid "Five Star Support"
863
+ msgstr ""
864
+
865
+ #: includes/admin/cartflows-general.php:468
866
+ msgid "Got a question? Get in touch with CartFlows developers. We're happy to help!"
867
+ msgstr ""
868
+
869
+ #: includes/admin/cartflows-general.php:471
870
+ msgid "Submit a Ticket »"
871
+ msgstr ""
872
+
873
+ #: includes/admin/cartflows-general.php:481
874
+ msgid "Load Minified CSS"
875
+ msgstr ""
876
+
877
+ #: includes/admin/cartflows-general.php:486
878
+ msgid ""
879
+ "Load the Minified CSS from here. Just Enable it by checking the below given "
880
+ "checkbox."
881
+ msgstr ""
882
+
883
+ #: includes/admin/cartflows-general.php:493
884
+ msgid "Load minified CSS & JS Files"
885
+ msgstr ""
886
+
887
+ #: includes/admin/cartflows-general.php:498
888
+ msgid "Save"
889
+ msgstr ""
890
+
891
+ #: includes/exporter.php:12
892
+ msgid "Export Flows to a JSON file"
893
+ msgstr ""
894
+
895
+ #: includes/exporter.php:13
896
+ msgid ""
897
+ "This tool allows you to generate and download a JSON file containing a list "
898
+ "of all flows."
899
+ msgstr ""
900
+
901
+ #: includes/importer.php:12
902
+ msgid "Import Flows to a JSON file"
903
+ msgstr ""
904
+
905
+ #: includes/importer.php:13
906
+ msgid "This tool allows you to import the flows from the JSON file."
907
+ msgstr ""
908
+
909
+ #: includes/importer.php:21
910
+ msgid "Import"
911
+ msgstr ""
912
+
913
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:254
914
+ #: modules/optin/classes/class-cartflows-optin-markup.php:146
915
+ #: modules/thankyou/classes/class-cartflows-thankyou-markup.php:90
916
+ msgid ""
917
+ "WooCommerce functions do not exist. If you are in an IFrame, please reload "
918
+ "it."
919
+ msgstr ""
920
+
921
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:255
922
+ #: modules/optin/classes/class-cartflows-optin-markup.php:147
923
+ #: modules/thankyou/classes/class-cartflows-thankyou-markup.php:91
924
+ msgid "Click Here to Reload"
925
+ msgstr ""
926
+
927
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:273
928
+ msgid "Checkout ID not found"
929
+ msgstr ""
930
+
931
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:336
932
+ #: modules/checkout/templates/embed/checkout-template-simple.php:25
933
+ #: modules/checkout/templates/wcf-template.php:36
934
+ #: modules/optin/templates/optin-template-simple.php:25
935
+ msgid "Your cart is currently empty."
936
+ msgstr ""
937
+
938
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:401
939
+ msgid ""
940
+ "No product is selected. Please select products from the checkout meta "
941
+ "settings to continue."
942
+ msgstr ""
943
+
944
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:454
945
+ msgid "Variations Not set"
946
+ msgstr ""
947
+
948
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:462
949
+ msgid "This product can't be purchased"
950
+ msgstr ""
951
+
952
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:901
953
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:944
954
+ msgid "Coupon Code"
955
+ msgstr ""
956
+
957
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:902
958
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:953
959
+ msgid "Apply"
960
+ msgstr ""
961
+
962
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:1109
963
+ msgid "Sorry there was a problem removing this coupon."
964
+ msgstr ""
965
+
966
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:1112
967
+ msgid "Coupon has been removed."
968
+ msgstr ""
969
+
970
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:1131
971
+ msgid "Sorry there was a problem removing "
972
+ msgstr ""
973
+
974
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:1134
975
+ msgid " has been removed."
976
+ msgstr ""
977
+
978
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:65
979
+ msgid "Checkout Layout"
980
+ msgstr ""
981
+
982
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:150
983
+ #: modules/landing/classes/class-cartflows-landing-meta.php:130
984
+ #: modules/optin/classes/class-cartflows-optin-meta.php:126
985
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:130
986
+ msgid "Shortcodes"
987
+ msgstr ""
988
+
989
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:156
990
+ #: modules/optin/classes/class-cartflows-optin-meta.php:132
991
+ msgid "Select Product"
992
+ msgstr ""
993
+
994
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:162
995
+ msgid "Order Bump"
996
+ msgstr ""
997
+
998
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:168
999
+ msgid "Checkout Offer"
1000
+ msgstr ""
1001
+
1002
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:174
1003
+ msgid "Checkout Design"
1004
+ msgstr ""
1005
+
1006
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:180
1007
+ msgid "Checkout Fields"
1008
+ msgstr ""
1009
+
1010
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:186
1011
+ msgid "Checkout Settings"
1012
+ msgstr ""
1013
+
1014
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:203
1015
+ msgid "Logo (Optional)"
1016
+ msgstr ""
1017
+
1018
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:265
1019
+ msgid "Add this shortcode to your checkout page"
1020
+ msgstr ""
1021
+
1022
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:301
1023
+ #. translators: %s: link
1024
+ msgid ""
1025
+ "Upgrade to %1$sCartFlows Pro%2$s for Pre-applied Coupon, Product Variations "
1026
+ "& Quantity Options."
1027
+ msgstr ""
1028
+
1029
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:328
1030
+ #. translators: %s: link
1031
+ msgid "Upgrade to %1$sCartFlows Pro%2$s for Checkout Offer feature"
1032
+ msgstr ""
1033
+
1034
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:338
1035
+ #. translators: %s: link
1036
+ msgid "Update to %1$sCartFlows Pro%2$s to %3$s or above for Checkout Offer feature"
1037
+ msgstr ""
1038
+
1039
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:365
1040
+ #. translators: %s: link
1041
+ msgid "Upgrade to %1$sCartFlows Pro%2$s for animate browser tab feature"
1042
+ msgstr ""
1043
+
1044
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:375
1045
+ #. translators: %s: link
1046
+ msgid ""
1047
+ "Update to %1$sCartFlows Pro%2$s to %3$s or above for animate browser tab "
1048
+ "feature"
1049
+ msgstr ""
1050
+
1051
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:398
1052
+ #. translators: %s: link
1053
+ msgid "Upgrade to %1$sCartFlows Pro%2$s for Order Bump feature."
1054
+ msgstr ""
1055
+
1056
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:425
1057
+ #: modules/optin/classes/class-cartflows-optin-meta.php:267
1058
+ #. translators: %s: link
1059
+ msgid "Upgrade to %1$sCartFlows Pro%2$s for Custom Fields feature."
1060
+ msgstr ""
1061
+
1062
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:448
1063
+ msgid "Place Order Button Text"
1064
+ msgstr ""
1065
+
1066
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:452
1067
+ msgid "Place order"
1068
+ msgstr ""
1069
+
1070
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:454
1071
+ msgid "It will change the Place Order Button text on checkout page."
1072
+ msgstr ""
1073
+
1074
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:464
1075
+ msgid "Enable cart editing on checkout"
1076
+ msgstr ""
1077
+
1078
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:472
1079
+ #. translators: %s: link
1080
+ msgid "Users will able to remove products from the checkout page."
1081
+ msgstr ""
1082
+
1083
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:502
1084
+ msgid "One Column (Available in CartFlows Pro) "
1085
+ msgstr ""
1086
+
1087
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:503
1088
+ msgid "Two Step (Available in CartFlows Pro) "
1089
+ msgstr ""
1090
+
1091
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:509
1092
+ msgid "Checkout Skin"
1093
+ msgstr ""
1094
+
1095
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:513
1096
+ msgid "One Column"
1097
+ msgstr ""
1098
+
1099
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:514
1100
+ msgid "Two Column"
1101
+ msgstr ""
1102
+
1103
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:515
1104
+ msgid "Two Step"
1105
+ msgstr ""
1106
+
1107
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:524
1108
+ #: modules/optin/classes/class-cartflows-optin-meta.php:343
1109
+ msgid "Primary Color"
1110
+ msgstr ""
1111
+
1112
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:533
1113
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:568
1114
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:614
1115
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:706
1116
+ #: modules/optin/classes/class-cartflows-optin-meta.php:352
1117
+ #: modules/optin/classes/class-cartflows-optin-meta.php:391
1118
+ #: modules/optin/classes/class-cartflows-optin-meta.php:503
1119
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:209
1120
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:240
1121
+ msgid "Font Family"
1122
+ msgstr ""
1123
+
1124
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:541
1125
+ msgid "Advance Options"
1126
+ msgstr ""
1127
+
1128
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:553
1129
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:225
1130
+ msgid "Heading"
1131
+ msgstr ""
1132
+
1133
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:559
1134
+ msgid "Heading Color"
1135
+ msgstr ""
1136
+
1137
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:577
1138
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:623
1139
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:715
1140
+ #: modules/optin/classes/class-cartflows-optin-meta.php:400
1141
+ #: modules/optin/classes/class-cartflows-optin-meta.php:512
1142
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:249
1143
+ msgid "Font Weight"
1144
+ msgstr ""
1145
+
1146
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:585
1147
+ #: modules/optin/classes/class-cartflows-optin-meta.php:363
1148
+ msgid "Input Fields"
1149
+ msgstr ""
1150
+
1151
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:593
1152
+ #: modules/optin/classes/class-cartflows-optin-meta.php:370
1153
+ msgid "Floating Labels (Available in CartFlows Pro)"
1154
+ msgstr ""
1155
+
1156
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:599
1157
+ #: modules/optin/classes/class-cartflows-optin-meta.php:376
1158
+ msgid "Style"
1159
+ msgstr ""
1160
+
1161
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:604
1162
+ #: modules/optin/classes/class-cartflows-optin-meta.php:381
1163
+ msgid "Floating Labels"
1164
+ msgstr ""
1165
+
1166
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:631
1167
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:723
1168
+ #: modules/optin/classes/class-cartflows-optin-meta.php:408
1169
+ #: modules/optin/classes/class-cartflows-optin-meta.php:520
1170
+ msgid "Size"
1171
+ msgstr ""
1172
+
1173
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:635
1174
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:727
1175
+ #: modules/optin/classes/class-cartflows-optin-meta.php:412
1176
+ #: modules/optin/classes/class-cartflows-optin-meta.php:524
1177
+ msgid "Extra Small"
1178
+ msgstr ""
1179
+
1180
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:636
1181
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:728
1182
+ #: modules/optin/classes/class-cartflows-optin-meta.php:413
1183
+ #: modules/optin/classes/class-cartflows-optin-meta.php:525
1184
+ msgid "Small"
1185
+ msgstr ""
1186
+
1187
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:637
1188
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:729
1189
+ #: modules/optin/classes/class-cartflows-optin-meta.php:414
1190
+ #: modules/optin/classes/class-cartflows-optin-meta.php:526
1191
+ msgid "Medium"
1192
+ msgstr ""
1193
+
1194
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:638
1195
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:730
1196
+ #: modules/optin/classes/class-cartflows-optin-meta.php:415
1197
+ #: modules/optin/classes/class-cartflows-optin-meta.php:527
1198
+ msgid "Large"
1199
+ msgstr ""
1200
+
1201
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:639
1202
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:731
1203
+ #: modules/optin/classes/class-cartflows-optin-meta.php:416
1204
+ #: modules/optin/classes/class-cartflows-optin-meta.php:528
1205
+ msgid "Extra Large"
1206
+ msgstr ""
1207
+
1208
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:640
1209
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:732
1210
+ #: modules/optin/classes/class-cartflows-optin-meta.php:417
1211
+ #: modules/optin/classes/class-cartflows-optin-meta.php:529
1212
+ msgid "Custom"
1213
+ msgstr ""
1214
+
1215
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:647
1216
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:739
1217
+ #: modules/optin/classes/class-cartflows-optin-meta.php:424
1218
+ #: modules/optin/classes/class-cartflows-optin-meta.php:536
1219
+ msgid "Top Bottom Spacing"
1220
+ msgstr ""
1221
+
1222
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:655
1223
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:747
1224
+ #: modules/optin/classes/class-cartflows-optin-meta.php:432
1225
+ #: modules/optin/classes/class-cartflows-optin-meta.php:544
1226
+ msgid "Left Right Spacing"
1227
+ msgstr ""
1228
+
1229
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:663
1230
+ #: modules/optin/classes/class-cartflows-optin-meta.php:448
1231
+ msgid "Text / Placeholder Color"
1232
+ msgstr ""
1233
+
1234
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:671
1235
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:771
1236
+ #: modules/optin/classes/class-cartflows-optin-meta.php:456
1237
+ #: modules/optin/classes/class-cartflows-optin-meta.php:581
1238
+ msgid "Background Color"
1239
+ msgstr ""
1240
+
1241
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:679
1242
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:787
1243
+ #: modules/optin/classes/class-cartflows-optin-meta.php:464
1244
+ #: modules/optin/classes/class-cartflows-optin-meta.php:597
1245
+ msgid "Border Color"
1246
+ msgstr ""
1247
+
1248
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:686
1249
+ #: modules/optin/classes/class-cartflows-optin-meta.php:440
1250
+ msgid "Label Color"
1251
+ msgstr ""
1252
+
1253
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:699
1254
+ msgid "Buttons"
1255
+ msgstr ""
1256
+
1257
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:755
1258
+ #: modules/optin/classes/class-cartflows-optin-meta.php:565
1259
+ msgid "Text Color"
1260
+ msgstr ""
1261
+
1262
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:763
1263
+ #: modules/optin/classes/class-cartflows-optin-meta.php:573
1264
+ msgid "Text Hover Color"
1265
+ msgstr ""
1266
+
1267
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:779
1268
+ #: modules/optin/classes/class-cartflows-optin-meta.php:589
1269
+ msgid "Background Hover Color"
1270
+ msgstr ""
1271
+
1272
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:795
1273
+ #: modules/optin/classes/class-cartflows-optin-meta.php:605
1274
+ msgid "Border Hover Color"
1275
+ msgstr ""
1276
+
1277
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:808
1278
+ msgid "Sections"
1279
+ msgstr ""
1280
+
1281
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:814
1282
+ msgid "Highlight Area Background Color"
1283
+ msgstr ""
1284
+
1285
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:853
1286
+ msgid "Header Logo"
1287
+ msgstr ""
1288
+
1289
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:861
1290
+ msgid "Logo Width (In px)"
1291
+ msgstr ""
1292
+
1293
+ #: modules/checkout/templates/wcf-template.php:46
1294
+ msgid "Copyright &copy;"
1295
+ msgstr ""
1296
+
1297
+ #: modules/checkout/templates/wcf-template.php:50
1298
+ msgid "All Rights Reserved"
1299
+ msgstr ""
1300
+
1301
+ #: modules/flow/classes/class-cartflows-flow-meta.php:250
1302
+ #. translators: %s flow id
1303
+ msgid "Step not deleted for flow - %s"
1304
+ msgstr ""
1305
+
1306
+ #: modules/flow/classes/class-cartflows-flow-meta.php:281
1307
+ #. translators: %s flow id
1308
+ msgid "Step deleted for flow - %s"
1309
+ msgstr ""
1310
+
1311
+ #: modules/flow/classes/class-cartflows-flow-meta.php:309
1312
+ #. translators: %s flow id
1313
+ msgid "Steps not sorted for flow - %s"
1314
+ msgstr ""
1315
+
1316
+ #: modules/flow/classes/class-cartflows-flow-meta.php:332
1317
+ #. translators: %s flow id
1318
+ msgid "Steps sorted for flow - %s"
1319
+ msgstr ""
1320
+
1321
+ #: modules/flow/classes/class-cartflows-flow-meta.php:443
1322
+ msgid "Analytics"
1323
+ msgstr ""
1324
+
1325
+ #: modules/flow/classes/class-cartflows-flow-meta.php:460
1326
+ #. translators: %s: link
1327
+ msgid "Upgrade to %1$sCartFlows Pro%2$s for Analytics feature"
1328
+ msgstr ""
1329
+
1330
+ #: modules/flow/classes/class-cartflows-flow-meta.php:478
1331
+ msgid "Flow Settings"
1332
+ msgstr ""
1333
+
1334
+ #: modules/flow/classes/class-cartflows-flow-meta.php:563
1335
+ msgid "Enable Test Mode"
1336
+ msgstr ""
1337
+
1338
+ #: modules/flow/classes/class-cartflows-flow-meta.php:570
1339
+ msgid ""
1340
+ "If you are using WooCommerce plugin then test mode will add random products "
1341
+ "in your flow, so you can preview it easily while testing."
1342
+ msgstr ""
1343
+
1344
+ #: modules/flow/classes/class-cartflows-flow-meta.php:689
1345
+ #: modules/flow/view/meta-flow-steps.php:133
1346
+ msgid "Add New Step"
1347
+ msgstr ""
1348
+
1349
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:69
1350
+ msgid "Flow: "
1351
+ msgstr ""
1352
+
1353
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:69
1354
+ msgid "Name: "
1355
+ msgstr ""
1356
+
1357
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:101
1358
+ msgid "Search Flows"
1359
+ msgstr ""
1360
+
1361
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:102
1362
+ msgid "All Flows"
1363
+ msgstr ""
1364
+
1365
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:103
1366
+ msgid "Edit Flow"
1367
+ msgstr ""
1368
+
1369
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:104
1370
+ msgid "View Flow"
1371
+ msgstr ""
1372
+
1373
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:105
1374
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:107
1375
+ #: modules/flow/classes/class-cartflows-step-post-type.php:166
1376
+ #: modules/flow/classes/class-cartflows-step-post-type.php:168
1377
+ msgid "Add New"
1378
+ msgstr ""
1379
+
1380
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:106
1381
+ msgid "Update Flow"
1382
+ msgstr ""
1383
+
1384
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:108
1385
+ msgid "New Flow Name"
1386
+ msgstr ""
1387
+
1388
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:190
1389
+ msgid "Upgrade to CartFlows Pro"
1390
+ msgstr ""
1391
+
1392
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:209
1393
+ msgid "Slug"
1394
+ msgstr ""
1395
+
1396
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:332
1397
+ msgid "Flows"
1398
+ msgstr ""
1399
+
1400
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:354
1401
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:360
1402
+ #: modules/flow/classes/class-cartflows-step-post-type.php:397
1403
+ #: modules/flow/classes/class-cartflows-step-post-type.php:403
1404
+ #. translators: %s: singular custom post type name
1405
+ msgid "%s updated."
1406
+ msgstr ""
1407
+
1408
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:356
1409
+ #: modules/flow/classes/class-cartflows-step-post-type.php:399
1410
+ #. translators: %s: singular custom post type name
1411
+ msgid "Custom %s updated."
1412
+ msgstr ""
1413
+
1414
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:358
1415
+ #: modules/flow/classes/class-cartflows-step-post-type.php:401
1416
+ #. translators: %s: singular custom post type name
1417
+ msgid "Custom %s deleted."
1418
+ msgstr ""
1419
+
1420
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:362
1421
+ #: modules/flow/classes/class-cartflows-step-post-type.php:405
1422
+ #. translators: %1$s: singular custom post type name ,%2$s: date and time of
1423
+ #. the revision
1424
+ msgid "%1$s restored to revision from %2$s"
1425
+ msgstr ""
1426
+
1427
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:364
1428
+ #: modules/flow/classes/class-cartflows-step-post-type.php:407
1429
+ #. translators: %s: singular custom post type name
1430
+ msgid "%s published."
1431
+ msgstr ""
1432
+
1433
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:366
1434
+ #: modules/flow/classes/class-cartflows-step-post-type.php:409
1435
+ #. translators: %s: singular custom post type name
1436
+ msgid "%s saved."
1437
+ msgstr ""
1438
+
1439
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:368
1440
+ #: modules/flow/classes/class-cartflows-step-post-type.php:411
1441
+ #. translators: %s: singular custom post type name
1442
+ msgid "%s submitted."
1443
+ msgstr ""
1444
+
1445
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:370
1446
+ #: modules/flow/classes/class-cartflows-step-post-type.php:413
1447
+ #. translators: %s: singular custom post type name
1448
+ msgid "%s scheduled for."
1449
+ msgstr ""
1450
+
1451
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:372
1452
+ #: modules/flow/classes/class-cartflows-step-post-type.php:415
1453
+ #. translators: %s: singular custom post type name
1454
+ msgid "%s draft updated."
1455
+ msgstr ""
1456
+
1457
+ #: modules/flow/classes/class-cartflows-flow-shortcodes.php:148
1458
+ #: modules/widgets/class-cartflows-next-step.php:78
1459
+ msgid "Next Step"
1460
+ msgstr ""
1461
+
1462
+ #: modules/flow/classes/class-cartflows-step-post-type.php:162
1463
+ msgid "Search Steps"
1464
+ msgstr ""
1465
+
1466
+ #: modules/flow/classes/class-cartflows-step-post-type.php:163
1467
+ msgid "All Steps"
1468
+ msgstr ""
1469
+
1470
+ #: modules/flow/classes/class-cartflows-step-post-type.php:164
1471
+ #: modules/flow/view/meta-flow-steps.php:106
1472
+ msgid "Edit Step"
1473
+ msgstr ""
1474
+
1475
+ #: modules/flow/classes/class-cartflows-step-post-type.php:165
1476
+ #: modules/flow/view/meta-flow-steps.php:102
1477
+ msgid "View Step"
1478
+ msgstr ""
1479
+
1480
+ #: modules/flow/classes/class-cartflows-step-post-type.php:167
1481
+ msgid "Update Step"
1482
+ msgstr ""
1483
+
1484
+ #: modules/flow/classes/class-cartflows-step-post-type.php:169
1485
+ msgid "New Step Name"
1486
+ msgstr ""
1487
+
1488
+ #: modules/flow/classes/class-cartflows-step-post-type.php:209
1489
+ msgid "Step Type"
1490
+ msgstr ""
1491
+
1492
+ #: modules/flow/classes/class-cartflows-step-post-type.php:219
1493
+ msgid "Step Flow"
1494
+ msgstr ""
1495
+
1496
+ #: modules/flow/classes/class-cartflows-step-post-type.php:244
1497
+ #: modules/flow/view/meta-flow-steps.php:16
1498
+ msgid "Optin (Woo)"
1499
+ msgstr ""
1500
+
1501
+ #: modules/flow/classes/class-cartflows-step-post-type.php:265
1502
+ #: modules/flow/view/meta-flow-steps.php:14
1503
+ msgid "Upsell (Woo)"
1504
+ msgstr ""
1505
+
1506
+ #: modules/flow/classes/class-cartflows-step-post-type.php:272
1507
+ #: modules/flow/view/meta-flow-steps.php:15
1508
+ msgid "Downsell (Woo)"
1509
+ msgstr ""
1510
+
1511
+ #: modules/flow/view/meta-flow-steps.php:85
1512
+ msgid "No Product Assigned"
1513
+ msgstr ""
1514
+
1515
+ #: modules/flow/view/meta-flow-steps.php:89
1516
+ msgid "Global Checkout - Remove selected checkout product"
1517
+ msgstr ""
1518
+
1519
+ #: modules/flow/view/meta-flow-steps.php:108
1520
+ msgid "Edit"
1521
+ msgstr ""
1522
+
1523
+ #: modules/flow/view/meta-flow-steps.php:113
1524
+ msgid "Clone Step"
1525
+ msgstr ""
1526
+
1527
+ #: modules/flow/view/meta-flow-steps.php:118
1528
+ msgid "Delete Step"
1529
+ msgstr ""
1530
+
1531
+ #: modules/flow/view/meta-flow-steps.php:120
1532
+ msgid "Delete"
1533
+ msgstr ""
1534
+
1535
+ #: modules/flow/view/meta-flow-steps.php:149
1536
+ msgid "Steps Library"
1537
+ msgstr ""
1538
+
1539
+ #: modules/flow/view/meta-flow-steps.php:198
1540
+ msgid "Create Step"
1541
+ msgstr ""
1542
+
1543
+ #: modules/flow/view/meta-flow-steps.php:200
1544
+ msgid "You need a Cartflows Pro version to import Upsell / Downsell"
1545
+ msgstr ""
1546
+
1547
+ #: modules/landing/classes/class-cartflows-landing-meta.php:66
1548
+ msgid "Landing Page Settings"
1549
+ msgstr ""
1550
+
1551
+ #: modules/landing/classes/class-cartflows-landing-meta.php:169
1552
+ msgid "Next Step Link"
1553
+ msgstr ""
1554
+
1555
+ #: modules/optin/classes/class-cartflows-optin-markup.php:165
1556
+ msgid "Please place shortcode on Optin step-type only."
1557
+ msgstr ""
1558
+
1559
+ #: modules/optin/classes/class-cartflows-optin-markup.php:225
1560
+ msgid ""
1561
+ "No product is selected. Please select a Simple, Virtual and Free product "
1562
+ "from the meta settings."
1563
+ msgstr ""
1564
+
1565
+ #: modules/optin/classes/class-cartflows-optin-markup.php:242
1566
+ msgid "Please update the selected product's price to zero (0)."
1567
+ msgstr ""
1568
+
1569
+ #: modules/optin/classes/class-cartflows-optin-markup.php:251
1570
+ #: modules/optin/classes/class-cartflows-optin-markup.php:255
1571
+ msgid "Please select a Simple, Virtual and Free product."
1572
+ msgstr ""
1573
+
1574
+ #: modules/optin/classes/class-cartflows-optin-meta.php:65
1575
+ msgid "Optin Settings"
1576
+ msgstr ""
1577
+
1578
+ #: modules/optin/classes/class-cartflows-optin-meta.php:138
1579
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:136
1580
+ msgid "Design"
1581
+ msgstr ""
1582
+
1583
+ #: modules/optin/classes/class-cartflows-optin-meta.php:144
1584
+ msgid "Form Fields"
1585
+ msgstr ""
1586
+
1587
+ #: modules/optin/classes/class-cartflows-optin-meta.php:213
1588
+ msgid "Add this shortcode to your optin page"
1589
+ msgstr ""
1590
+
1591
+ #: modules/optin/classes/class-cartflows-optin-meta.php:238
1592
+ msgid "Select Free Product"
1593
+ msgstr ""
1594
+
1595
+ #: modules/optin/classes/class-cartflows-optin-meta.php:239
1596
+ msgid "Select Free and Virtual product only."
1597
+ msgstr ""
1598
+
1599
+ #: modules/optin/classes/class-cartflows-optin-meta.php:290
1600
+ msgid "Pass Fields as URL Parameters"
1601
+ msgstr ""
1602
+
1603
+ #: modules/optin/classes/class-cartflows-optin-meta.php:293
1604
+ msgid "Enable"
1605
+ msgstr ""
1606
+
1607
+ #: modules/optin/classes/class-cartflows-optin-meta.php:294
1608
+ msgid ""
1609
+ "You can pass specific fields from the form to next step as URL query "
1610
+ "parameters."
1611
+ msgstr ""
1612
+
1613
+ #: modules/optin/classes/class-cartflows-optin-meta.php:305
1614
+ msgid "Enter form field"
1615
+ msgstr ""
1616
+
1617
+ #: modules/optin/classes/class-cartflows-optin-meta.php:308
1618
+ #: modules/optin/classes/class-cartflows-optin-meta.php:318
1619
+ msgid "Enter comma seprated field name. E.g. first_name, last_name"
1620
+ msgstr ""
1621
+
1622
+ #: modules/optin/classes/class-cartflows-optin-meta.php:310
1623
+ msgid "Fields to pass, separated by commas"
1624
+ msgstr ""
1625
+
1626
+ #: modules/optin/classes/class-cartflows-optin-meta.php:320
1627
+ #. translators: %s: link
1628
+ msgid ""
1629
+ "You can pass field value as a URL parameter to the next step. %1$sClick "
1630
+ "here%2$s for more information."
1631
+ msgstr ""
1632
+
1633
+ #: modules/optin/classes/class-cartflows-optin-meta.php:477
1634
+ msgid "Submit Button"
1635
+ msgstr ""
1636
+
1637
+ #: modules/optin/classes/class-cartflows-optin-meta.php:483
1638
+ msgid "Button Text"
1639
+ msgstr ""
1640
+
1641
+ #: modules/optin/classes/class-cartflows-optin-meta.php:494
1642
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:217
1643
+ msgid "Font Size"
1644
+ msgstr ""
1645
+
1646
+ #: modules/optin/classes/class-cartflows-optin-meta.php:552
1647
+ msgid "Position"
1648
+ msgstr ""
1649
+
1650
+ #: modules/optin/classes/class-cartflows-optin-meta.php:556
1651
+ msgid "Left"
1652
+ msgstr ""
1653
+
1654
+ #: modules/optin/classes/class-cartflows-optin-meta.php:557
1655
+ msgid "Center"
1656
+ msgstr ""
1657
+
1658
+ #: modules/optin/classes/class-cartflows-optin-meta.php:558
1659
+ msgid "Right"
1660
+ msgstr ""
1661
+
1662
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:65
1663
+ msgid "Thank You Page Settings"
1664
+ msgstr ""
1665
+
1666
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:142
1667
+ msgid "Edit Fields"
1668
+ msgstr ""
1669
+
1670
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:182
1671
+ msgid "Order Details"
1672
+ msgstr ""
1673
+
1674
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:194
1675
+ msgid "Text"
1676
+ msgstr ""
1677
+
1678
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:200
1679
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:231
1680
+ msgid "Color"
1681
+ msgstr ""
1682
+
1683
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:257
1684
+ msgid "Advanced Options"
1685
+ msgstr ""
1686
+
1687
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:267
1688
+ msgid "Container Width (In px)"
1689
+ msgstr ""
1690
+
1691
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:275
1692
+ msgid "Section Background Color"
1693
+ msgstr ""
1694
+
1695
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:289
1696
+ msgid "Enable Order Overview "
1697
+ msgstr ""
1698
+
1699
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:297
1700
+ msgid "Enable Order Details "
1701
+ msgstr ""
1702
+
1703
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:305
1704
+ msgid "Enable Billing Details "
1705
+ msgstr ""
1706
+
1707
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:313
1708
+ msgid "Enable Shipping Details "
1709
+ msgstr ""
1710
+
1711
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:329
1712
+ msgid "Thank You Page Text"
1713
+ msgstr ""
1714
+
1715
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:333
1716
+ #: woocommerce/template/checkout/thankyou.php:41
1717
+ #: woocommerce/template/checkout/thankyou.php:83
1718
+ msgid "Thank you. Your order has been received."
1719
+ msgstr ""
1720
+
1721
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:335
1722
+ msgid "It will change the default text on thank you page."
1723
+ msgstr ""
1724
+
1725
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:343
1726
+ msgid "Redirect After Purchase"
1727
+ msgstr ""
1728
+
1729
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:352
1730
+ msgid "Redirect Link"
1731
+ msgstr ""
1732
+
1733
+ #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:356
1734
+ msgid "https://"
1735
+ msgstr ""
1736
+
1737
+ #: modules/widgets/class-cartflows-next-step.php:24
1738
+ msgid "CartFlows Next Step"
1739
+ msgstr ""
1740
+
1741
+ #: modules/widgets/class-cartflows-next-step.php:26
1742
+ msgid "Next Step Widgets"
1743
+ msgstr ""
1744
+
1745
+ #: modules/widgets/class-cartflows-next-step.php:106
1746
+ msgid "New title"
1747
+ msgstr ""
1748
+
1749
+ #: modules/widgets/class-cartflows-next-step.php:123
1750
+ msgid "Title:"
1751
+ msgstr ""
1752
+
1753
+ #: modules/widgets/class-cartflows-next-step.php:127
1754
+ msgid "Flow ID:"
1755
+ msgstr ""
1756
+
1757
+ #: modules/widgets/class-cartflows-next-step.php:131
1758
+ msgid "Step ID:"
1759
+ msgstr ""
1760
+
1761
+ #: woocommerce/template/cart/cart-shipping.php:51
1762
+ #. Translators: $s shipping destination.
1763
+ msgid "Estimate for %s."
1764
+ msgstr ""
1765
+
1766
+ #: woocommerce/template/cart/cart-shipping.php:52
1767
+ msgid "Change address"
1768
+ msgstr ""
1769
+
1770
+ #: woocommerce/template/cart/cart-shipping.php:54
1771
+ msgid "This is only an estimate. Prices will be updated during checkout."
1772
+ msgstr ""
1773
+
1774
+ #: woocommerce/template/cart/cart-shipping.php:61
1775
+ msgid "Enter your address to view shipping options."
1776
+ msgstr ""
1777
+
1778
+ #: woocommerce/template/cart/cart-shipping.php:63
1779
+ msgid ""
1780
+ "There are no shipping methods available. Please ensure that your address "
1781
+ "has been entered correctly, or contact us if you need any help."
1782
+ msgstr ""
1783
+
1784
+ #: woocommerce/template/cart/cart-shipping.php:66
1785
+ #. Translators: $s shipping destination.
1786
+ msgid "No shipping options were found for %s."
1787
+ msgstr ""
1788
+
1789
+ #: woocommerce/template/cart/cart-shipping.php:67
1790
+ msgid "Enter a different address"
1791
+ msgstr ""
1792
+
1793
+ #: woocommerce/template/checkout/form-billing.php:27
1794
+ msgid "Billing &amp; Shipping"
1795
+ msgstr ""
1796
+
1797
+ #: woocommerce/template/checkout/form-billing.php:31
1798
+ msgid "Billing details"
1799
+ msgstr ""
1800
+
1801
+ #: woocommerce/template/checkout/form-billing.php:59
1802
+ msgid "Create an account?"
1803
+ msgstr ""
1804
+
1805
+ #: woocommerce/template/checkout/form-checkout.php:26
1806
+ msgid "You must be logged in to checkout."
1807
+ msgstr ""
1808
+
1809
+ #: woocommerce/template/checkout/form-checkout.php:52
1810
+ msgid "Your order"
1811
+ msgstr ""
1812
+
1813
+ #: woocommerce/template/checkout/form-coupon.php:26
1814
+ msgid "Have a coupon?"
1815
+ msgstr ""
1816
+
1817
+ #: woocommerce/template/checkout/form-coupon.php:26
1818
+ msgid "Click here to enter your code"
1819
+ msgstr ""
1820
+
1821
+ #: woocommerce/template/checkout/form-coupon.php:31
1822
+ msgid "If you have a coupon code, please apply it below."
1823
+ msgstr ""
1824
+
1825
+ #: woocommerce/template/checkout/form-coupon.php:34
1826
+ msgid "Coupon code"
1827
+ msgstr ""
1828
+
1829
+ #: woocommerce/template/checkout/form-coupon.php:38
1830
+ msgid "Apply coupon"
1831
+ msgstr ""
1832
+
1833
+ #: woocommerce/template/checkout/form-login.php:26
1834
+ msgid "Returning customer?"
1835
+ msgstr ""
1836
+
1837
+ #: woocommerce/template/checkout/form-login.php:26
1838
+ msgid "Click here to login"
1839
+ msgstr ""
1840
+
1841
+ #: woocommerce/template/checkout/form-login.php:32
1842
+ msgid ""
1843
+ "If you have shopped with us before, please enter your details below. If you "
1844
+ "are a new customer, please proceed to the Billing &amp; Shipping section."
1845
+ msgstr ""
1846
+
1847
+ #: woocommerce/template/checkout/form-shipping.php:26
1848
+ msgid "Ship to a different address?"
1849
+ msgstr ""
1850
+
1851
+ #: woocommerce/template/checkout/form-shipping.php:57
1852
+ msgid "Additional information"
1853
+ msgstr ""
1854
+
1855
+ #: woocommerce/template/checkout/payment.php:33
1856
+ msgid ""
1857
+ "Sorry, it seems that there are no available payment methods for your state. "
1858
+ "Please contact us if you require assistance or wish to make alternate "
1859
+ "arrangements."
1860
+ msgstr ""
1861
+
1862
+ #: woocommerce/template/checkout/payment.php:33
1863
+ msgid "Please fill in your details above to see available payment methods."
1864
+ msgstr ""
1865
+
1866
+ #: woocommerce/template/checkout/payment.php:42
1867
+ #. translators: $1 and $2 opening and closing emphasis tags respectively
1868
+ msgid ""
1869
+ "Since your browser does not support JavaScript, or it is disabled, please "
1870
+ "ensure you click the %1$sUpdate Totals%2$s button before placing your "
1871
+ "order. You may be charged more than the amount stated above if you fail to "
1872
+ "do so."
1873
+ msgstr ""
1874
+
1875
+ #: woocommerce/template/checkout/payment.php:44
1876
+ msgid "Update totals"
1877
+ msgstr ""
1878
+
1879
+ #: woocommerce/template/checkout/review-order.php:26
1880
+ msgid "Product"
1881
+ msgstr ""
1882
+
1883
+ #: woocommerce/template/checkout/review-order.php:27
1884
+ #: woocommerce/template/checkout/review-order.php:107
1885
+ msgid "Total"
1886
+ msgstr ""
1887
+
1888
+ #: woocommerce/template/checkout/review-order.php:60
1889
+ msgid "Subtotal"
1890
+ msgstr ""
1891
+
1892
+ #: woocommerce/template/checkout/thankyou.php:30
1893
+ msgid ""
1894
+ "Unfortunately your order cannot be processed as the originating "
1895
+ "bank/merchant has declined your transaction. Please attempt your purchase "
1896
+ "again."
1897
+ msgstr ""
1898
+
1899
+ #: woocommerce/template/checkout/thankyou.php:33
1900
+ msgid "Pay"
1901
+ msgstr ""
1902
+
1903
+ #: woocommerce/template/checkout/thankyou.php:35
1904
+ msgid "My account"
1905
+ msgstr ""
1906
+
1907
+ #: woocommerce/template/checkout/thankyou.php:46
1908
+ msgid "Order number:"
1909
+ msgstr ""
1910
+
1911
+ #: woocommerce/template/checkout/thankyou.php:51
1912
+ msgid "Date:"
1913
+ msgstr ""
1914
+
1915
+ #: woocommerce/template/checkout/thankyou.php:57
1916
+ msgid "Email:"
1917
+ msgstr ""
1918
+
1919
+ #: woocommerce/template/checkout/thankyou.php:63
1920
+ msgid "Total:"
1921
+ msgstr ""
1922
+
1923
+ #: woocommerce/template/checkout/thankyou.php:69
1924
+ msgid "Payment method:"
1925
+ msgstr ""
1926
+
1927
+ #: woocommerce/template/global/form-login.php:34
1928
+ msgid "Username or email"
1929
+ msgstr ""
1930
+
1931
+ #: woocommerce/template/global/form-login.php:38
1932
+ msgid "Password"
1933
+ msgstr ""
1934
+
1935
+ #: woocommerce/template/global/form-login.php:48
1936
+ msgid "Login"
1937
+ msgstr ""
1938
+
1939
+ #: woocommerce/template/global/form-login.php:53
1940
+ msgid "Remember me"
1941
+ msgstr ""
1942
+
1943
+ #: woocommerce/template/global/form-login.php:57
1944
+ msgid "Lost your password?"
1945
+ msgstr ""
1946
+
1947
+ #. Plugin Name of the plugin/theme
1948
+ msgid "CartFlows"
1949
+ msgstr ""
1950
+
1951
+ #. Author URI of the plugin/theme
1952
+ msgid "https://cartflows.com/"
1953
+ msgstr ""
1954
+
1955
+ #. Description of the plugin/theme
1956
+ msgid "Create beautiful checkout pages & sales flows for WooCommerce."
1957
+ msgstr ""
1958
+
1959
+ #. Author of the plugin/theme
1960
+ msgid "CartFlows Inc"
1961
+ msgstr ""
1962
+
1963
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:99
1964
+ msgctxt "flow general name"
1965
+ msgid "Flows"
1966
+ msgstr ""
1967
+
1968
+ #: modules/flow/classes/class-cartflows-flow-post-type.php:100
1969
+ msgctxt "flow singular name"
1970
+ msgid "Flow"
1971
+ msgstr ""
1972
+
1973
+ #: modules/flow/classes/class-cartflows-step-post-type.php:160
1974
+ msgctxt "flow step general name"
1975
+ msgid "Steps"
1976
+ msgstr ""
1977
+
1978
+ #: modules/flow/classes/class-cartflows-step-post-type.php:161
1979
+ msgctxt "flow step singular name"
1980
+ msgid "Step"
1981
+ msgstr ""
1982
+
1983
+ #: modules/flow/classes/class-cartflows-step-post-type.php:313
1984
+ msgctxt "cartflows"
1985
+ msgid "CartFlows — Boxed"
1986
+ msgstr ""
1987
+
1988
+ #: modules/flow/classes/class-cartflows-step-post-type.php:314
1989
+ msgctxt "cartflows"
1990
+ msgid "Template for Page Builders"
1991
  msgstr ""
modules/flow/classes/class-cartflows-flow-meta.php CHANGED
@@ -1,700 +1,700 @@
1
- <?php
2
- /**
3
- * Flow meta
4
- *
5
- * @package CartFlows
6
- */
7
-
8
- /**
9
- * Meta Boxes setup
10
- */
11
- class Cartflows_Flow_Meta {
12
-
13
-
14
- /**
15
- * Instance
16
- *
17
- * @var $instance
18
- */
19
- private static $instance;
20
-
21
- /**
22
- * Meta Option
23
- *
24
- * @var $meta_option
25
- */
26
- private static $meta_option;
27
-
28
- /**
29
- * Initiator
30
- */
31
- public static function get_instance() {
32
- if ( ! isset( self::$instance ) ) {
33
- self::$instance = new self();
34
- }
35
-
36
- return self::$instance;
37
- }
38
-
39
- /**
40
- * Constructor
41
- */
42
- public function __construct() {
43
-
44
- add_action( 'admin_head', array( $this, 'menu_highlight' ) );
45
-
46
- add_action( 'admin_init', array( $this, 'admin_init_actions' ) );
47
-
48
- /* Init Metabox */
49
- add_action( 'load-post.php', array( $this, 'init_metabox' ) );
50
- add_action( 'load-post-new.php', array( $this, 'init_metabox' ) );
51
-
52
- /* Add Scripts */
53
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ), 20 );
54
-
55
- add_action( 'wp_ajax_cartflows_delete_flow_step', array( $this, 'cartflows_delete_flow_step' ) );
56
- add_action( 'wp_ajax_cartflows_reorder_flow_steps', array( $this, 'cartflows_reorder_flow_steps' ) );
57
-
58
- add_action( 'admin_notices', array( $this, 'admin_notices' ) );
59
-
60
- add_filter( 'cartflows_admin_js_localize', array( $this, 'localize_vars' ) );
61
- }
62
-
63
- /**
64
- * Display admin notices.
65
- *
66
- * @since 1.0.0
67
- *
68
- * @return void
69
- */
70
- public function admin_notices() {
71
-
72
- if ( CARTFLOWS_STEP_POST_TYPE !== get_post_type() ) {
73
- return;
74
- }
75
-
76
- $flow_id = get_post_meta( get_the_id(), 'wcf-flow-id', true );
77
- if ( $flow_id ) { ?>
78
- <div class="wcf-notice-back-edit-flow">
79
- <p>
80
- <a href="<?php echo esc_url( get_edit_post_link( $flow_id ) ); ?>" class="button button-primary button-hero" style="text-decoration: none;">
81
- <i class="dashicons dashicons-arrow-left-alt"></i>
82
- <?php esc_html_e( 'Back to edit Flow', 'cartflows' ); ?>
83
- </a>
84
- </p>
85
- </div>
86
- <?php
87
- }
88
- }
89
-
90
- /**
91
- * Initialize admin actions.
92
- *
93
- * @since 1.0.0
94
- *
95
- * @return void
96
- */
97
- public function admin_init_actions() {
98
- add_action( 'before_delete_post', array( $this, 'step_post_sync' ) );
99
- add_action( 'wp_trash_post', array( $this, 'step_post_trash_sync' ) );
100
- add_action( 'untrashed_post', array( $this, 'step_post_untrash_sync' ) );
101
- }
102
-
103
- /**
104
- * Delete term data and steps data after deleting flow.
105
- *
106
- * @since 1.0.0
107
- * @param int $pid post id.
108
- *
109
- * @return void
110
- */
111
- public function step_post_sync( $pid ) {
112
-
113
- global $post_type;
114
-
115
- if ( CARTFLOWS_FLOW_POST_TYPE === $post_type ) {
116
-
117
- $steps = get_post_meta( $pid, 'wcf-steps', true );
118
-
119
- if ( $steps && is_array( $steps ) ) {
120
- foreach ( $steps as $i => $step ) {
121
- wp_delete_post( $step['id'], true );
122
- }
123
- }
124
-
125
- $term_data = term_exists( 'flow-' . $pid, CARTFLOWS_TAXONOMY_STEP_FLOW );
126
-
127
- if ( is_array( $term_data ) ) {
128
- wp_delete_term( $term_data['term_id'], CARTFLOWS_TAXONOMY_STEP_FLOW );
129
- }
130
- }
131
- }
132
-
133
- /**
134
- * Trash steps data after trashing flow.
135
- *
136
- * @since 1.0.0
137
- * @param int $pid post id.
138
- *
139
- * @return void
140
- */
141
- public function step_post_trash_sync( $pid ) {
142
-
143
- global $post_type;
144
-
145
- if ( CARTFLOWS_FLOW_POST_TYPE === $post_type ) {
146
-
147
- $steps = get_post_meta( $pid, 'wcf-steps', true );
148
-
149
- if ( $steps && is_array( $steps ) ) {
150
- foreach ( $steps as $i => $step ) {
151
- wp_trash_post( $step['id'] );
152
- }
153
- }
154
- }
155
- }
156
-
157
- /**
158
- * Untrash steps data after restoring flow.
159
- *
160
- * @since 1.0.0
161
- * @param int $pid post id.
162
- *
163
- * @return void
164
- */
165
- public function step_post_untrash_sync( $pid ) {
166
-
167
- global $post_type;
168
-
169
- if ( CARTFLOWS_FLOW_POST_TYPE === $post_type ) {
170
-
171
- $steps = get_post_meta( $pid, 'wcf-steps', true );
172
-
173
- if ( $steps && is_array( $steps ) ) {
174
- foreach ( $steps as $i => $step ) {
175
- wp_untrash_post( $step['id'] );
176
- }
177
- }
178
- }
179
- }
180
-
181
- /**
182
- * Create step for given flow.
183
- *
184
- * @param int $flow_id flow ID.
185
- * @param int $step_type step type.
186
- * @param int $step_title step title.
187
- * @since 1.0.0
188
- *
189
- * @return int
190
- */
191
- public function create_step( $flow_id, $step_type, $step_title ) {
192
-
193
- $new_step_id = wp_insert_post(
194
- array(
195
- 'post_type' => CARTFLOWS_STEP_POST_TYPE,
196
- 'post_title' => $step_title,
197
- 'post_status' => 'publish',
198
- )
199
- );
200
-
201
- if ( $new_step_id ) {
202
-
203
- $flow_steps = get_post_meta( $flow_id, 'wcf-steps', true );
204
-
205
- if ( ! is_array( $flow_steps ) ) {
206
- $flow_steps = array();
207
- }
208
-
209
- $flow_steps[] = array(
210
- 'id' => $new_step_id,
211
- 'title' => $step_title,
212
- 'type' => $step_type,
213
- );
214
-
215
- // insert post meta.
216
- update_post_meta( $new_step_id, 'wcf-flow-id', $flow_id );
217
- update_post_meta( $new_step_id, 'wcf-step-type', $step_type );
218
-
219
- wp_set_object_terms( $new_step_id, $step_type, CARTFLOWS_TAXONOMY_STEP_TYPE );
220
- wp_set_object_terms( $new_step_id, 'flow-' . $flow_id, CARTFLOWS_TAXONOMY_STEP_FLOW );
221
- }
222
-
223
- update_post_meta( $flow_id, 'wcf-steps', $flow_steps );
224
-
225
- return $new_step_id;
226
- }
227
-
228
- /**
229
- * Delete step for flow
230
- *
231
- * @since 1.0.0
232
- *
233
- * @return void
234
- */
235
- public function cartflows_delete_flow_step() {
236
-
237
- if ( ! current_user_can( 'manage_options' ) ) {
238
- return;
239
- }
240
-
241
- check_ajax_referer( 'wcf-delete-flow-step', 'security' );
242
-
243
- if ( isset( $_POST['post_id'] ) && isset( $_POST['step_id'] ) ) {
244
- $flow_id = intval( $_POST['post_id'] );
245
- $step_id = intval( $_POST['step_id'] );
246
- }
247
- $result = array(
248
- 'status' => false,
249
- /* translators: %s flow id */
250
- 'text' => sprintf( __( 'Step not deleted for flow - %s', 'cartflows' ), $flow_id ),
251
- );
252
-
253
- if ( ! $flow_id || ! $step_id ) {
254
- wp_send_json( $result );
255
- }
256
-
257
- wp_delete_post( $step_id, true );
258
-
259
- $flow_steps = get_post_meta( $flow_id, 'wcf-steps', true );
260
-
261
- if ( ! is_array( $flow_steps ) ) {
262
- wp_send_json( $result );
263
- }
264
-
265
- foreach ( $flow_steps as $index => $data ) {
266
-
267
- if ( intval( $data['id'] ) === $step_id ) {
268
- unset( $flow_steps[ $index ] );
269
- break;
270
- }
271
- }
272
-
273
- /* Set index order properly */
274
- $flow_steps = array_merge( $flow_steps );
275
-
276
- update_post_meta( $flow_id, 'wcf-steps', $flow_steps );
277
-
278
- $result = array(
279
- 'status' => true,
280
- /* translators: %s flow id */
281
- 'text' => sprintf( __( 'Step deleted for flow - %s', 'cartflows' ), $flow_id ),
282
- );
283
-
284
- wp_send_json( $result );
285
- }
286
-
287
- /**
288
- * Reorder step flow
289
- *
290
- * @since 1.0.0
291
- *
292
- * @return void
293
- */
294
- public function cartflows_reorder_flow_steps() {
295
-
296
- if ( ! current_user_can( 'manage_options' ) ) {
297
- return;
298
- }
299
-
300
- check_ajax_referer( 'wcf-reorder-flow-steps', 'security' );
301
-
302
- if ( isset( $_POST['post_id'] ) && isset( $_POST['step_ids'] ) ) {
303
- $flow_id = intval( $_POST['post_id'] );
304
- $step_ids = array_map( 'intval', $_POST['step_ids'] );
305
- }
306
- $result = array(
307
- 'status' => false,
308
- /* translators: %s flow id */
309
- 'text' => sprintf( __( 'Steps not sorted for flow - %s', 'cartflows' ), $flow_id ),
310
- );
311
-
312
- if ( ! $flow_id || ! is_array( $step_ids ) ) {
313
- wp_send_json( $result );
314
- }
315
-
316
- $new_flow_steps = array();
317
-
318
- foreach ( $step_ids as $index => $step_id ) {
319
-
320
- $new_flow_steps[] = array(
321
- 'id' => intval( $step_id ),
322
- 'title' => get_the_title( $step_id ),
323
- 'type' => get_post_meta( $step_id, 'wcf-step-type', true ),
324
- );
325
- }
326
-
327
- update_post_meta( $flow_id, 'wcf-steps', $new_flow_steps );
328
-
329
- $result = array(
330
- 'status' => true,
331
- /* translators: %s flow id */
332
- 'text' => sprintf( __( 'Steps sorted for flow - %s', 'cartflows' ), $flow_id ),
333
- );
334
-
335
- wp_send_json( $result );
336
- }
337
-
338
-
339
- /**
340
- * Load admin scripts
341
- *
342
- * @since 1.0.0
343
- *
344
- * @return void
345
- */
346
- public function admin_scripts() {
347
-
348
- global $pagenow;
349
- global $post;
350
-
351
- $screen = get_current_screen();
352
-
353
- if ( ( 'post-new.php' == $pagenow || 'post.php' == $pagenow ) && CARTFLOWS_FLOW_POST_TYPE == $screen->post_type ) {
354
-
355
- wp_enqueue_script(
356
- 'wcf-flow-meta',
357
- CARTFLOWS_URL . 'admin/assets/js/flow-admin-edit.js',
358
- array( 'jquery', 'jquery-ui-sortable' ),
359
- CARTFLOWS_VER,
360
- true
361
- );
362
-
363
- wp_enqueue_style( 'wcf-flow-meta', CARTFLOWS_URL . 'admin/assets/css/flow-admin-edit.css', '', CARTFLOWS_VER );
364
- wp_style_add_data( 'wcf-flow-meta', 'rtl', 'replace' );
365
-
366
- $localize = array(
367
- 'ajax_url' => admin_url( 'admin-ajax.php' ),
368
- );
369
-
370
- wp_localize_script( 'jquery', 'cartflows', apply_filters( 'wcf_js_localize', $localize ) );
371
- }
372
- }
373
-
374
- /**
375
- * Initialize meta box
376
- *
377
- * @since 1.0.0
378
- *
379
- * @return void
380
- */
381
- public function init_metabox() {
382
-
383
- /**
384
- * Fires after the title field.
385
- *
386
- * @param WP_Post $post Post object.
387
- */
388
- add_action( 'add_meta_boxes', array( $this, 'settings_meta_box' ) );
389
- add_action( 'edit_form_after_title', array( $this, 'setup_meta_box' ) );
390
- add_action( 'save_post', array( $this, 'save_meta_box' ) );
391
- }
392
-
393
- /**
394
- * Is first time import?
395
- *
396
- * @param integer $post_id post ID.
397
- * @return bool
398
- */
399
- public function is_flow_imported( $post_id = 0 ) {
400
-
401
- if ( 0 === $post_id ) {
402
- $post_id = get_the_ID();
403
- }
404
-
405
- $steps = get_post_meta( $post_id, 'wcf-steps', true );
406
- $choice = get_post_meta( $post_id, 'wcf-flow-choise', true );
407
-
408
- if ( empty( $steps ) && 'import' === $choice ) {
409
- return true;
410
- }
411
-
412
- return false;
413
- }
414
-
415
- /**
416
- * Setup meta box.
417
- *
418
- * @return void
419
- */
420
- public function setup_meta_box() {
421
- if ( ! Cartflows_Admin::is_flow_edit_admin() ) {
422
- return;
423
- }
424
-
425
- /**
426
- * Adding Add new step button to the top*/
427
- echo $this->add_add_new_step_button();
428
-
429
- $this->markup_meta_box();
430
-
431
- $this->add_upgrade_to_pro_metabox();
432
- }
433
-
434
-
435
- /**
436
- * Add metabox when cartflows pro is not enabled.
437
- */
438
- public function add_upgrade_to_pro_metabox() {
439
-
440
- if ( ! _is_cartflows_pro() ) {
441
- add_meta_box(
442
- 'wcf-upgrade-pro',
443
- __( 'Analytics', 'cartflows' ),
444
- array( $this, 'upgrade_to_pro' ),
445
- CARTFLOWS_FLOW_POST_TYPE,
446
- 'side',
447
- 'high'
448
- );
449
- }
450
-
451
- }
452
-
453
- /**
454
- * Show Upgrade To Pro markup.
455
- */
456
- public function upgrade_to_pro() {
457
-
458
- echo '<div>';
459
- /* translators: %s: link */
460
- echo '<p><i>' . sprintf( esc_html__( 'Upgrade to %1$sCartFlows Pro%2$s for Analytics feature', 'cartflows' ), '<a href="https://cartflows.com/" target="_blank">', '</a>' ) . '</i></p>';
461
- echo '<p><a target="_blank" href="https://cartflows.com/" class="button button-primary">' . esc_html__( 'Get Pro', 'cartflows' ) . '</a></p>';
462
- echo '</div>';
463
-
464
- }
465
-
466
- /**
467
- * Settings meta box.
468
- *
469
- * @return void
470
- */
471
- public function settings_meta_box() {
472
-
473
- if ( CARTFLOWS_FLOW_POST_TYPE === get_post_type() ) {
474
-
475
- /* No need of sandbox will delete it later */
476
- add_meta_box(
477
- 'wcf-sandbox-settings', // Id.
478
- __( 'Flow Settings', 'cartflows' ), // Title.
479
- array( $this, 'sandbox_meta_box' ), // Callback.
480
- CARTFLOWS_FLOW_POST_TYPE, // Post_type.
481
- 'side', // Context.
482
- 'high' // Priority.
483
- );
484
-
485
- do_action( 'cartflows_add_flow_metabox' );
486
- }
487
- }
488
-
489
- /**
490
- * Metabox Markup
491
- *
492
- * @return void
493
- */
494
- public function markup_meta_box() {
495
- global $post;
496
-
497
- wp_nonce_field( 'save-nonce-flow-meta', 'nonce-flow-meta' );
498
-
499
- // Get defaults.
500
- $meta = self::get_current_post_meta( $post->ID );
501
-
502
- /**
503
- * Get options
504
- */
505
- $updated_data = array(
506
- 'steps' => $meta['wcf-steps']['default'],
507
- );
508
-
509
- do_action( 'wcf_flow_settings_markup_before', $meta );
510
- $this->page_header_tab( $updated_data );
511
- do_action( 'wcf_flow_settings_markup_after', $meta );
512
- }
513
-
514
- /**
515
- * Metabox Markup
516
- *
517
- * @param object $post Post object.
518
- * @return void
519
- */
520
- public function sandbox_meta_box( $post ) {
521
-
522
- // Get defaults.
523
- $meta = self::get_current_post_meta( $post->ID );
524
-
525
- /**
526
- * Get options
527
- */
528
- foreach ( $meta as $key => $value ) {
529
- $updated_data[ $key ] = $meta[ $key ]['default'];
530
- }
531
-
532
- do_action( 'wcf_flow_sandbox_markup_before', $meta );
533
- $this->sandbox_markup( $updated_data );
534
- do_action( 'wcf_flow_sandbox_markup_after', $meta );
535
- }
536
-
537
- /**
538
- * Page Header Tabs
539
- *
540
- * @param array $options Post meta.
541
- * @return void
542
- */
543
- public function page_header_tab( $options ) {
544
-
545
- include_once CARTFLOWS_FLOW_DIR . 'view/meta-flow-steps.php';
546
- }
547
-
548
- /**
549
- * Sandbox Markup
550
- *
551
- * @param array $options Post meta.
552
- * @return void
553
- */
554
- public function sandbox_markup( $options ) {
555
- ?>
556
- <div class="wcf-flow-sandbox-table wcf-general-metabox-wrap widefat">
557
- <div class="wcf-flow-sandbox-table-container">
558
- <?php
559
- echo wcf()->meta->get_checkbox_field(
560
- array(
561
- 'name' => 'wcf-testing',
562
- 'value' => $options['wcf-testing'],
563
- 'after' => esc_html__( 'Enable Test Mode', 'cartflows' ),
564
- )
565
- );
566
-
567
- echo wcf()->meta->get_description_field(
568
- array(
569
- 'name' => 'wcf-testing-note',
570
- 'content' => esc_html__( 'If you are using WooCommerce plugin then test mode will add random products in your flow, so you can preview it easily while testing.', 'cartflows' ),
571
- )
572
- );
573
-
574
- ?>
575
- </div>
576
- </div>
577
- <?php
578
- }
579
-
580
- /**
581
- * Keep the menu open when editing the flows.
582
- * Highlights the wanted admin (sub-) menu items for the CPT.
583
- *
584
- * @since 1.0.0
585
- */
586
- public function menu_highlight() {
587
- global $parent_file, $submenu_file, $post_type;
588
- if ( CARTFLOWS_FLOW_POST_TYPE == $post_type ) :
589
- $parent_file = CARTFLOWS_SLUG;//phpcs:ignore
590
- $submenu_file = 'edit.php?post_type=' . CARTFLOWS_FLOW_POST_TYPE;//phpcs:ignore
591
- endif;
592
- }
593
-
594
- /**
595
- * Get metabox options
596
- *
597
- * @param int $post_id post id.
598
- * @return array
599
- */
600
- public static function get_meta_option( $post_id ) {
601
-
602
- if ( null === self::$meta_option ) {
603
- /**
604
- * Set metabox options
605
- */
606
- self::$meta_option = wcf()->options->get_flow_fields( $post_id );
607
- }
608
-
609
- return self::$meta_option;
610
- }
611
-
612
- /**
613
- * Get metabox options
614
- *
615
- * @param int $post_id post ID.
616
- * @return array
617
- */
618
- public static function get_current_post_meta( $post_id ) {
619
-
620
- $stored = get_post_meta( $post_id );
621
-
622
- $default_meta = self::get_meta_option( $post_id );
623
-
624
- // Set stored and override defaults.
625
- foreach ( $stored as $key => $value ) {
626
- if ( array_key_exists( $key, $default_meta ) ) {
627
- self::$meta_option[ $key ]['default'] = ( isset( $stored[ $key ][0] ) ) ? maybe_unserialize( $stored[ $key ][0] ) : '';
628
- } else {
629
- self::$meta_option[ $key ]['default'] = ( isset( $stored[ $key ][0] ) ) ? $stored[ $key ][0] : '';
630
- }
631
- }
632
-
633
- return self::get_meta_option( $post_id );
634
- }
635
-
636
- /**
637
- * Metabox Save
638
- *
639
- * @param number $post_id Post ID.
640
- * @return void
641
- */
642
- public function save_meta_box( $post_id ) {
643
-
644
- // Checks save status.
645
- $is_autosave = wp_is_post_autosave( $post_id );
646
- $is_revision = wp_is_post_revision( $post_id );
647
-
648
- $is_valid_nonce = ( isset( $_POST['nonce-flow-meta'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['nonce-flow-meta'] ) ), 'save-nonce-flow-meta' ) ) ? true : false;
649
-
650
- // Exits script depending on save status.
651
- if ( $is_autosave || $is_revision || ! $is_valid_nonce ) {
652
- return;
653
- }
654
-
655
- wcf()->options->save_flow_fields( $post_id );
656
- }
657
-
658
- /**
659
- * Localize variables in admin
660
- *
661
- * @param array $vars variables.
662
- */
663
- public function localize_vars( $vars ) {
664
-
665
- $ajax_actions = array(
666
- 'wcf_setup_default_steps',
667
- 'wcf_add_flow_step',
668
- 'wcf_delete_flow_step',
669
- 'wcf_reorder_flow_steps',
670
- );
671
-
672
- foreach ( $ajax_actions as $action ) {
673
-
674
- $vars[ $action . '_nonce' ] = wp_create_nonce( str_replace( '_', '-', $action ) );
675
- }
676
-
677
- return $vars;
678
- }
679
-
680
- /**
681
- * Add New Step Button
682
- *
683
- * @return string
684
- */
685
- public function add_add_new_step_button() {
686
- $add_new_btn_markup = '<style>.wrap{ position:relative;}</style>';
687
- $add_new_btn_markup .= "<div class='wcf-button-wrap'>";
688
- $add_new_btn_markup .= "<button class='wcf-trigger-popup page-title-action'>";
689
- $add_new_btn_markup .= esc_html__( 'Add New Step', 'cartflows' );
690
- $add_new_btn_markup .= '</button>';
691
- $add_new_btn_markup .= '</div>';
692
-
693
- return $add_new_btn_markup;
694
- }
695
- }
696
-
697
- /**
698
- * Kicking this off by calling 'get_instance()' method
699
- */
700
- Cartflows_Flow_Meta::get_instance();
1
+ <?php
2
+ /**
3
+ * Flow meta
4
+ *
5
+ * @package CartFlows
6
+ */
7
+
8
+ /**
9
+ * Meta Boxes setup
10
+ */
11
+ class Cartflows_Flow_Meta {
12
+
13
+
14
+ /**
15
+ * Instance
16
+ *
17
+ * @var $instance
18
+ */
19
+ private static $instance;
20
+
21
+ /**
22
+ * Meta Option
23
+ *
24
+ * @var $meta_option
25
+ */
26
+ private static $meta_option;
27
+
28
+ /**
29
+ * Initiator
30
+ */
31
+ public static function get_instance() {
32
+ if ( ! isset( self::$instance ) ) {
33
+ self::$instance = new self();
34
+ }
35
+
36
+ return self::$instance;
37
+ }
38
+
39
+ /**
40
+ * Constructor
41
+ */
42
+ public function __construct() {
43
+
44
+ add_action( 'admin_head', array( $this, 'menu_highlight' ) );
45
+
46
+ add_action( 'admin_init', array( $this, 'admin_init_actions' ) );
47
+
48
+ /* Init Metabox */
49
+ add_action( 'load-post.php', array( $this, 'init_metabox' ) );
50
+ add_action( 'load-post-new.php', array( $this, 'init_metabox' ) );
51
+
52
+ /* Add Scripts */
53
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ), 20 );
54
+
55
+ add_action( 'wp_ajax_cartflows_delete_flow_step', array( $this, 'cartflows_delete_flow_step' ) );
56
+ add_action( 'wp_ajax_cartflows_reorder_flow_steps', array( $this, 'cartflows_reorder_flow_steps' ) );
57
+
58
+ add_action( 'admin_notices', array( $this, 'admin_notices' ) );
59
+
60
+ add_filter( 'cartflows_admin_js_localize', array( $this, 'localize_vars' ) );
61
+ }
62
+
63
+ /**
64
+ * Display admin notices.
65
+ *
66
+ * @since 1.0.0
67
+ *
68
+ * @return void
69
+ */
70
+ public function admin_notices() {
71
+
72
+ if ( CARTFLOWS_STEP_POST_TYPE !== get_post_type() ) {
73
+ return;
74
+ }
75
+
76
+ $flow_id = get_post_meta( get_the_id(), 'wcf-flow-id', true );
77
+ if ( $flow_id ) { ?>
78
+ <div class="wcf-notice-back-edit-flow">
79
+ <p>
80
+ <a href="<?php echo esc_url( get_edit_post_link( $flow_id ) ); ?>" class="button button-primary button-hero" style="text-decoration: none;">
81
+ <i class="dashicons dashicons-arrow-left-alt"></i>
82
+ <?php esc_html_e( 'Back to edit Flow', 'cartflows' ); ?>
83
+ </a>
84
+ </p>
85
+ </div>
86
+ <?php
87
+ }
88
+ }
89
+
90
+ /**
91
+ * Initialize admin actions.
92
+ *
93
+ * @since 1.0.0
94
+ *
95
+ * @return void
96
+ */
97
+ public function admin_init_actions() {
98
+ add_action( 'before_delete_post', array( $this, 'step_post_sync' ) );
99
+ add_action( 'wp_trash_post', array( $this, 'step_post_trash_sync' ) );
100
+ add_action( 'untrashed_post', array( $this, 'step_post_untrash_sync' ) );
101
+ }
102
+
103
+ /**
104
+ * Delete term data and steps data after deleting flow.
105
+ *
106
+ * @since 1.0.0
107
+ * @param int $pid post id.
108
+ *
109
+ * @return void
110
+ */
111
+ public function step_post_sync( $pid ) {
112
+
113
+ global $post_type;
114
+
115
+ if ( CARTFLOWS_FLOW_POST_TYPE === $post_type ) {
116
+
117
+ $steps = get_post_meta( $pid, 'wcf-steps', true );
118
+
119
+ if ( $steps && is_array( $steps ) ) {
120
+ foreach ( $steps as $i => $step ) {
121
+ wp_delete_post( $step['id'], true );
122
+ }
123
+ }
124
+
125
+ $term_data = term_exists( 'flow-' . $pid, CARTFLOWS_TAXONOMY_STEP_FLOW );
126
+
127
+ if ( is_array( $term_data ) ) {
128
+ wp_delete_term( $term_data['term_id'], CARTFLOWS_TAXONOMY_STEP_FLOW );
129
+ }
130
+ }
131
+ }
132
+
133
+ /**
134
+ * Trash steps data after trashing flow.
135
+ *
136
+ * @since 1.0.0
137
+ * @param int $pid post id.
138
+ *
139
+ * @return void
140
+ */
141
+ public function step_post_trash_sync( $pid ) {
142
+
143
+ global $post_type;
144
+
145
+ if ( CARTFLOWS_FLOW_POST_TYPE === $post_type ) {
146
+
147
+ $steps = get_post_meta( $pid, 'wcf-steps', true );
148
+
149
+ if ( $steps && is_array( $steps ) ) {
150
+ foreach ( $steps as $i => $step ) {
151
+ wp_trash_post( $step['id'] );
152
+ }
153
+ }
154
+ }
155
+ }
156
+
157
+ /**
158
+ * Untrash steps data after restoring flow.
159
+ *
160
+ * @since 1.0.0
161
+ * @param int $pid post id.
162
+ *
163
+ * @return void
164
+ */
165
+ public function step_post_untrash_sync( $pid ) {
166
+
167
+ global $post_type;
168
+
169
+ if ( CARTFLOWS_FLOW_POST_TYPE === $post_type ) {
170
+
171
+ $steps = get_post_meta( $pid, 'wcf-steps', true );
172
+
173
+ if ( $steps && is_array( $steps ) ) {
174
+ foreach ( $steps as $i => $step ) {
175
+ wp_untrash_post( $step['id'] );
176
+ }
177
+ }
178
+ }
179
+ }
180
+
181
+ /**
182
+ * Create step for given flow.
183
+ *
184
+ * @param int $flow_id flow ID.
185
+ * @param int $step_type step type.
186
+ * @param int $step_title step title.
187
+ * @since 1.0.0
188
+ *
189
+ * @return int
190
+ */
191
+ public function create_step( $flow_id, $step_type, $step_title ) {
192
+
193
+ $new_step_id = wp_insert_post(
194
+ array(
195
+ 'post_type' => CARTFLOWS_STEP_POST_TYPE,
196
+ 'post_title' => $step_title,
197
+ 'post_status' => 'publish',
198
+ )
199
+ );
200
+
201
+ if ( $new_step_id ) {
202
+
203
+ $flow_steps = get_post_meta( $flow_id, 'wcf-steps', true );
204
+
205
+ if ( ! is_array( $flow_steps ) ) {
206
+ $flow_steps = array();
207
+ }
208
+
209
+ $flow_steps[] = array(
210
+ 'id' => $new_step_id,
211
+ 'title' => $step_title,
212
+ 'type' => $step_type,
213
+ );
214
+
215
+ // insert post meta.
216
+ update_post_meta( $new_step_id, 'wcf-flow-id', $flow_id );
217
+ update_post_meta( $new_step_id, 'wcf-step-type', $step_type );
218
+
219
+ wp_set_object_terms( $new_step_id, $step_type, CARTFLOWS_TAXONOMY_STEP_TYPE );
220
+ wp_set_object_terms( $new_step_id, 'flow-' . $flow_id, CARTFLOWS_TAXONOMY_STEP_FLOW );
221
+ }
222
+
223
+ update_post_meta( $flow_id, 'wcf-steps', $flow_steps );
224
+
225
+ return $new_step_id;
226
+ }
227
+
228
+ /**
229
+ * Delete step for flow
230
+ *
231
+ * @since 1.0.0
232
+ *
233
+ * @return void
234
+ */
235
+ public function cartflows_delete_flow_step() {
236
+
237
+ if ( ! current_user_can( 'manage_options' ) ) {
238
+ return;
239
+ }
240
+
241
+ check_ajax_referer( 'wcf-delete-flow-step', 'security' );
242
+
243
+ if ( isset( $_POST['post_id'] ) && isset( $_POST['step_id'] ) ) {
244
+ $flow_id = intval( $_POST['post_id'] );
245
+ $step_id = intval( $_POST['step_id'] );
246
+ }
247
+ $result = array(
248
+ 'status' => false,
249
+ /* translators: %s flow id */
250
+ 'text' => sprintf( __( 'Step not deleted for flow - %s', 'cartflows' ), $flow_id ),
251
+ );
252
+
253
+ if ( ! $flow_id || ! $step_id ) {
254
+ wp_send_json( $result );
255
+ }
256
+
257
+ wp_delete_post( $step_id, true );
258
+
259
+ $flow_steps = get_post_meta( $flow_id, 'wcf-steps', true );
260
+
261
+ if ( ! is_array( $flow_steps ) ) {
262
+ wp_send_json( $result );
263
+ }
264
+
265
+ foreach ( $flow_steps as $index => $data ) {
266
+
267
+ if ( intval( $data['id'] ) === $step_id ) {
268
+ unset( $flow_steps[ $index ] );
269
+ break;
270
+ }
271
+ }
272
+
273
+ /* Set index order properly */
274
+ $flow_steps = array_merge( $flow_steps );
275
+
276
+ update_post_meta( $flow_id, 'wcf-steps', $flow_steps );
277
+
278
+ $result = array(
279
+ 'status' => true,
280
+ /* translators: %s flow id */
281
+ 'text' => sprintf( __( 'Step deleted for flow - %s', 'cartflows' ), $flow_id ),
282
+ );
283
+
284
+ wp_send_json( $result );
285
+ }
286
+
287
+ /**
288
+ * Reorder step flow
289
+ *
290
+ * @since 1.0.0
291
+ *
292
+ * @return void
293
+ */
294
+ public function cartflows_reorder_flow_steps() {
295
+
296
+ if ( ! current_user_can( 'manage_options' ) ) {
297
+ return;
298
+ }
299
+
300
+ check_ajax_referer( 'wcf-reorder-flow-steps', 'security' );
301
+
302
+ if ( isset( $_POST['post_id'] ) && isset( $_POST['step_ids'] ) ) {
303
+ $flow_id = intval( $_POST['post_id'] );
304
+ $step_ids = array_map( 'intval', $_POST['step_ids'] );
305
+ }
306
+ $result = array(
307
+ 'status' => false,
308
+ /* translators: %s flow id */
309
+ 'text' => sprintf( __( 'Steps not sorted for flow - %s', 'cartflows' ), $flow_id ),
310
+ );
311
+
312
+ if ( ! $flow_id || ! is_array( $step_ids ) ) {
313
+ wp_send_json( $result );
314
+ }
315
+
316
+ $new_flow_steps = array();
317
+
318
+ foreach ( $step_ids as $index => $step_id ) {
319
+
320
+ $new_flow_steps[] = array(
321
+ 'id' => intval( $step_id ),
322
+ 'title' => get_the_title( $step_id ),
323
+ 'type' => get_post_meta( $step_id, 'wcf-step-type', true ),
324
+ );
325
+ }
326
+
327
+ update_post_meta( $flow_id, 'wcf-steps', $new_flow_steps );
328
+
329
+ $result = array(
330
+ 'status' => true,
331
+ /* translators: %s flow id */
332
+ 'text' => sprintf( __( 'Steps sorted for flow - %s', 'cartflows' ), $flow_id ),
333
+ );
334
+
335
+ wp_send_json( $result );
336
+ }
337
+
338
+
339
+ /**
340
+ * Load admin scripts
341
+ *
342
+ * @since 1.0.0
343
+ *
344
+ * @return void
345
+ */
346
+ public function admin_scripts() {
347
+
348
+ global $pagenow;
349
+ global $post;
350
+
351
+ $screen = get_current_screen();
352
+
353
+ if ( ( 'post-new.php' == $pagenow || 'post.php' == $pagenow ) && CARTFLOWS_FLOW_POST_TYPE == $screen->post_type ) {
354
+
355
+ wp_enqueue_script(
356
+ 'wcf-flow-meta',
357
+ CARTFLOWS_URL . 'admin/assets/js/flow-admin-edit.js',
358
+ array( 'jquery', 'jquery-ui-sortable' ),
359
+ CARTFLOWS_VER,
360
+ true
361
+ );
362
+
363
+ wp_enqueue_style( 'wcf-flow-meta', CARTFLOWS_URL . 'admin/assets/css/flow-admin-edit.css', '', CARTFLOWS_VER );
364
+ wp_style_add_data( 'wcf-flow-meta', 'rtl', 'replace' );
365
+
366
+ $localize = array(
367
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
368
+ );
369
+
370
+ wp_localize_script( 'jquery', 'cartflows', apply_filters( 'wcf_js_localize', $localize ) );
371
+ }
372
+ }
373
+
374
+ /**
375
+ * Initialize meta box
376
+ *
377
+ * @since 1.0.0
378
+ *
379
+ * @return void
380
+ */
381
+ public function init_metabox() {
382
+
383
+ /**
384
+ * Fires after the title field.
385
+ *
386
+ * @param WP_Post $post Post object.
387
+ */
388
+ add_action( 'add_meta_boxes', array( $this, 'settings_meta_box' ) );
389
+ add_action( 'edit_form_after_title', array( $this, 'setup_meta_box' ) );
390
+ add_action( 'save_post', array( $this, 'save_meta_box' ) );
391
+ }
392
+
393
+ /**
394
+ * Is first time import?
395
+ *
396
+ * @param integer $post_id post ID.
397
+ * @return bool
398
+ */
399
+ public function is_flow_imported( $post_id = 0 ) {
400
+
401
+ if ( 0 === $post_id ) {
402
+ $post_id = get_the_ID();
403
+ }
404
+
405
+ $steps = get_post_meta( $post_id, 'wcf-steps', true );
406
+ $choice = get_post_meta( $post_id, 'wcf-flow-choise', true );
407
+
408
+ if ( empty( $steps ) && 'import' === $choice ) {
409
+ return true;
410
+ }
411
+
412
+ return false;
413
+ }
414
+
415
+ /**
416
+ * Setup meta box.
417
+ *
418
+ * @return void
419
+ */
420
+ public function setup_meta_box() {
421
+ if ( ! Cartflows_Admin::is_flow_edit_admin() ) {
422
+ return;
423
+ }
424
+
425
+ /**
426
+ * Adding Add new step button to the top*/
427
+ echo $this->add_add_new_step_button();
428
+
429
+ $this->markup_meta_box();
430
+
431
+ $this->add_upgrade_to_pro_metabox();
432
+ }
433
+
434
+
435
+ /**
436
+ * Add metabox when cartflows pro is not enabled.
437
+ */
438
+ public function add_upgrade_to_pro_metabox() {
439
+
440
+ if ( ! _is_cartflows_pro() ) {
441
+ add_meta_box(
442
+ 'wcf-upgrade-pro',
443
+ __( 'Analytics', 'cartflows' ),
444
+ array( $this, 'upgrade_to_pro' ),
445
+ CARTFLOWS_FLOW_POST_TYPE,
446
+ 'side',
447
+ 'high'
448
+ );
449
+ }
450
+
451
+ }
452
+
453
+ /**
454
+ * Show Upgrade To Pro markup.
455
+ */
456
+ public function upgrade_to_pro() {
457
+
458
+ echo '<div>';
459
+ /* translators: %s: link */
460
+ echo '<p><i>' . sprintf( esc_html__( 'Upgrade to %1$sCartFlows Pro%2$s for Analytics feature', 'cartflows' ), '<a href="https://cartflows.com/" target="_blank">', '</a>' ) . '</i></p>';
461
+ echo '<p><a target="_blank" href="https://cartflows.com/" class="button button-primary">' . esc_html__( 'Get Pro', 'cartflows' ) . '</a></p>';
462
+ echo '</div>';
463
+
464
+ }
465
+
466
+ /**
467
+ * Settings meta box.
468
+ *
469
+ * @return void
470
+ */
471
+ public function settings_meta_box() {
472
+
473
+ if ( CARTFLOWS_FLOW_POST_TYPE === get_post_type() ) {
474
+
475
+ /* No need of sandbox will delete it later */
476
+ add_meta_box(
477
+ 'wcf-sandbox-settings', // Id.
478
+ __( 'Flow Settings', 'cartflows' ), // Title.
479
+ array( $this, 'sandbox_meta_box' ), // Callback.
480
+ CARTFLOWS_FLOW_POST_TYPE, // Post_type.
481
+ 'side', // Context.
482
+ 'high' // Priority.
483
+ );
484
+
485
+ do_action( 'cartflows_add_flow_metabox' );
486
+ }
487
+ }
488
+
489
+ /**
490
+ * Metabox Markup
491
+ *
492
+ * @return void
493
+ */
494
+ public function markup_meta_box() {
495
+ global $post;
496
+
497
+ wp_nonce_field( 'save-nonce-flow-meta', 'nonce-flow-meta' );
498
+
499
+ // Get defaults.
500
+ $meta = self::get_current_post_meta( $post->ID );
501
+
502
+ /**
503
+ * Get options
504
+ */
505
+ $updated_data = array(
506
+ 'steps' => $meta['wcf-steps']['default'],
507
+ );
508
+
509
+ do_action( 'wcf_flow_settings_markup_before', $meta );
510
+ $this->page_header_tab( $updated_data );
511
+ do_action( 'wcf_flow_settings_markup_after', $meta );
512
+ }
513
+
514
+ /**
515
+ * Metabox Markup
516
+ *
517
+ * @param object $post Post object.
518
+ * @return void
519
+ */
520
+ public function sandbox_meta_box( $post ) {
521
+
522
+ // Get defaults.
523
+ $meta = self::get_current_post_meta( $post->ID );
524
+
525
+ /**
526
+ * Get options
527
+ */
528
+ foreach ( $meta as $key => $value ) {
529
+ $updated_data[ $key ] = $meta[ $key ]['default'];
530
+ }
531
+
532
+ do_action( 'wcf_flow_sandbox_markup_before', $meta );
533
+ $this->sandbox_markup( $updated_data );
534
+ do_action( 'wcf_flow_sandbox_markup_after', $meta );
535
+ }
536
+
537
+ /**
538
+ * Page Header Tabs
539
+ *
540
+ * @param array $options Post meta.
541
+ * @return void
542
+ */
543
+ public function page_header_tab( $options ) {
544
+
545
+ include_once CARTFLOWS_FLOW_DIR . 'view/meta-flow-steps.php';
546
+ }
547
+
548
+ /**
549
+ * Sandbox Markup
550
+ *
551
+ * @param array $options Post meta.
552
+ * @return void
553
+ */
554
+ public function sandbox_markup( $options ) {
555
+ ?>
556
+ <div class="wcf-flow-sandbox-table wcf-general-metabox-wrap widefat">
557
+ <div class="wcf-flow-sandbox-table-container">
558
+ <?php
559
+ echo wcf()->meta->get_checkbox_field(
560
+ array(
561
+ 'name' => 'wcf-testing',
562
+ 'value' => $options['wcf-testing'],
563
+ 'after' => esc_html__( 'Enable Test Mode', 'cartflows' ),
564
+ )
565
+ );
566
+
567
+ echo wcf()->meta->get_description_field(
568
+ array(
569
+ 'name' => 'wcf-testing-note',
570
+ 'content' => esc_html__( 'If you are using WooCommerce plugin then test mode will add random products in your flow, so you can preview it easily while testing.', 'cartflows' ),
571
+ )
572
+ );
573
+
574
+ ?>
575
+ </div>
576
+ </div>
577
+ <?php
578
+ }
579
+
580
+ /**
581
+ * Keep the menu open when editing the flows.
582
+ * Highlights the wanted admin (sub-) menu items for the CPT.
583
+ *
584
+ * @since 1.0.0
585
+ */
586
+ public function menu_highlight() {
587
+ global $parent_file, $submenu_file, $post_type;
588
+ if ( CARTFLOWS_FLOW_POST_TYPE == $post_type ) :
589
+ $parent_file = CARTFLOWS_SLUG;//phpcs:ignore
590
+ $submenu_file = 'edit.php?post_type=' . CARTFLOWS_FLOW_POST_TYPE;//phpcs:ignore
591
+ endif;
592
+ }
593
+
594
+ /**
595
+ * Get metabox options
596
+ *
597
+ * @param int $post_id post id.
598
+ * @return array
599
+ */
600
+ public static function get_meta_option( $post_id ) {
601
+
602
+ if ( null === self::$meta_option ) {
603
+ /**
604
+ * Set metabox options
605
+ */
606
+ self::$meta_option = wcf()->options->get_flow_fields( $post_id );
607
+ }
608
+
609
+ return self::$meta_option;
610
+ }
611
+
612
+ /**
613
+ * Get metabox options
614
+ *
615
+ * @param int $post_id post ID.
616
+ * @return array
617
+ */
618
+ public static function get_current_post_meta( $post_id ) {
619
+
620
+ $stored = get_post_meta( $post_id );
621
+
622
+ $default_meta = self::get_meta_option( $post_id );
623
+
624
+ // Set stored and override defaults.
625
+ foreach ( $stored as $key => $value ) {
626
+ if ( array_key_exists( $key, $default_meta ) ) {
627
+ self::$meta_option[ $key ]['default'] = ( isset( $stored[ $key ][0] ) ) ? maybe_unserialize( $stored[ $key ][0] ) : '';
628
+ } else {
629
+ self::$meta_option[ $key ]['default'] = ( isset( $stored[ $key ][0] ) ) ? $stored[ $key ][0] : '';
630
+ }
631
+ }
632
+
633
+ return self::get_meta_option( $post_id );
634
+ }
635
+
636
+ /**
637
+ * Metabox Save
638
+ *
639
+ * @param number $post_id Post ID.
640
+ * @return void
641
+ */
642
+ public function save_meta_box( $post_id ) {
643
+
644
+ // Checks save status.
645
+ $is_autosave = wp_is_post_autosave( $post_id );
646
+ $is_revision = wp_is_post_revision( $post_id );
647
+
648
+ $is_valid_nonce = ( isset( $_POST['nonce-flow-meta'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['nonce-flow-meta'] ) ), 'save-nonce-flow-meta' ) ) ? true : false;
649
+
650
+ // Exits script depending on save status.
651
+ if ( $is_autosave || $is_revision || ! $is_valid_nonce ) {
652
+ return;
653
+ }
654
+
655
+ wcf()->options->save_flow_fields( $post_id );
656
+ }
657
+
658
+ /**
659
+ * Localize variables in admin
660
+ *
661
+ * @param array $vars variables.
662
+ */
663
+ public function localize_vars( $vars ) {
664
+
665
+ $ajax_actions = array(
666
+ 'wcf_setup_default_steps',
667
+ 'wcf_add_flow_step',
668
+ 'wcf_delete_flow_step',
669
+ 'wcf_reorder_flow_steps',
670
+ );
671
+
672
+ foreach ( $ajax_actions as $action ) {
673
+
674
+ $vars[ $action . '_nonce' ] = wp_create_nonce( str_replace( '_', '-', $action ) );
675
+ }
676
+
677
+ return $vars;
678
+ }
679
+
680
+ /**
681
+ * Add New Step Button
682
+ *
683
+ * @return string
684
+ */
685
+ public function add_add_new_step_button() {
686
+ $add_new_btn_markup = '<style>.wrap{ position:relative;}</style>';
687
+ $add_new_btn_markup .= "<div class='wcf-button-wrap'>";
688
+ $add_new_btn_markup .= "<button class='wcf-trigger-popup page-title-action'>";
689
+ $add_new_btn_markup .= esc_html__( 'Add New Step', 'cartflows' );
690
+ $add_new_btn_markup .= '</button>';
691
+ $add_new_btn_markup .= '</div>';
692
+
693
+ return $add_new_btn_markup;
694
+ }
695
+ }
696
+
697
+ /**
698
+ * Kicking this off by calling 'get_instance()' method
699
+ */
700
+ Cartflows_Flow_Meta::get_instance();
modules/flow/classes/class-cartflows-step-post-type.php CHANGED
@@ -1,475 +1,475 @@
1
- <?php
2
- /**
3
- * Step post type.
4
- *
5
- * @package CartFlows
6
- */
7
-
8
- /**
9
- * Initialization
10
- *
11
- * @since 1.0.0
12
- */
13
- class Cartflows_Step_Post_Type {
14
-
15
-
16
- /**
17
- * Member Variable
18
- *
19
- * @var instance
20
- */
21
- private static $instance;
22
-
23
- /**
24
- * Member Variable
25
- *
26
- * @var body_classes
27
- */
28
- private $body_classes = array();
29
-
30
- /**
31
- * Initiator
32
- */
33
- public static function get_instance() {
34
- if ( ! isset( self::$instance ) ) {
35
- self::$instance = new self();
36
- }
37
- return self::$instance;
38
- }
39
-
40
- /**
41
- * Constructor
42
- */
43
- public function __construct() {
44
-
45
- add_action( 'init', array( $this, 'step_post_type' ) );
46
- add_action( 'init', array( $this, 'add_wp_templates_support' ) );
47
- add_filter( 'post_updated_messages', array( $this, 'post_update_messages' ) );
48
-
49
- add_filter( 'wp_unique_post_slug', array( $this, 'prevent_slug_duplicates' ), 10, 6 );
50
-
51
- add_filter( 'template_include', array( $this, 'load_page_template' ), 90 );
52
- add_filter( 'template_redirect', array( $this, 'query_fix' ), 3 );
53
- }
54
-
55
-
56
- /**
57
- * Trys to load page.php for a header, footer or part theme layout.
58
- *
59
- * @since 1.0.0
60
- * @param string $template The current template to be loaded.
61
- * @return string
62
- */
63
- public function load_page_template( $template ) {
64
-
65
- global $post;
66
-
67
- if ( 'string' == gettype( $template ) && is_object( $post ) && CARTFLOWS_STEP_POST_TYPE === $post->post_type ) {
68
-
69
- /**
70
- * Remove Next/Prev Navigation
71
- * add_filter('next_post_link', '__return_empty_string');
72
- * add_filter('previous_post_link', '__return_empty_string');
73
- *
74
- * $page = locate_template( array( 'page.php' ) );
75
- *
76
- * if ( ! empty( $page ) ) {
77
- * return $page;
78
- * }
79
- */
80
-
81
- /* Remove Next / Previous Rel Link */
82
- remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
83
- add_filter( 'next_post_rel_link', '__return_empty_string' );
84
- add_filter( 'previous_post_rel_link', '__return_empty_string' );
85
-
86
- $page_template = get_post_meta( _get_wcf_step_id(), '_wp_page_template', true );
87
-
88
- $page_template = apply_filters( 'cartflows_page_template', $page_template );
89
-
90
- $file = '';
91
-
92
- switch ( $page_template ) {
93
-
94
- case 'cartflows-default':
95
- $file = CARTFLOWS_FLOW_DIR . 'templates/template-default.php';
96
- $this->body_classes[] = $page_template;
97
- break;
98
- case 'cartflows-canvas':
99
- $file = CARTFLOWS_FLOW_DIR . 'templates/template-canvas.php';
100
- $this->body_classes[] = $page_template;
101
- break;
102
- default:
103
- /**
104
- * Remove Next/Prev Navigation
105
- */
106
- add_filter( 'next_post_link', '__return_empty_string' );
107
- add_filter( 'previous_post_link', '__return_empty_string' );
108
-
109
- $page = locate_template( array( 'page.php' ) );
110
-
111
- if ( ! empty( $page ) ) {
112
- $file = $page;
113
- }
114
-
115
- break;
116
-
117
- /**
118
- * Default:
119
- * $file = CARTFLOWS_FLOW_DIR . 'templates/template-default.php';
120
- * $this->body_classes[] = 'cartflows-default';
121
- * break;
122
- */
123
- }
124
-
125
- // Just to be safe, we check if the file exist first.
126
- if ( file_exists( $file ) ) {
127
-
128
- /* Add Body Class */
129
- add_filter( 'body_class', array( $this, 'body_class' ) );
130
-
131
- return $file;
132
- } else {
133
- echo $file;
134
- }
135
- }
136
-
137
- return $template;
138
- }
139
-
140
- /**
141
- * Body classes.
142
- *
143
- * @since 1.0.0
144
- * @param array $classes Body classes.
145
- * @return array
146
- */
147
- public function body_class( $classes = array() ) {
148
-
149
- $classes = array_merge( $classes, $this->body_classes );
150
-
151
- return $classes;
152
- }
153
-
154
- /**
155
- * Create custom post type
156
- */
157
- public function step_post_type() {
158
-
159
- $labels = array(
160
- 'name' => esc_html_x( 'Steps', 'flow step general name', 'cartflows' ),
161
- 'singular_name' => esc_html_x( 'Step', 'flow step singular name', 'cartflows' ),
162
- 'search_items' => esc_html__( 'Search Steps', 'cartflows' ),
163
- 'all_items' => esc_html__( 'All Steps', 'cartflows' ),
164
- 'edit_item' => esc_html__( 'Edit Step', 'cartflows' ),
165
- 'view_item' => esc_html__( 'View Step', 'cartflows' ),
166
- 'add_new' => esc_html__( 'Add New', 'cartflows' ),
167
- 'update_item' => esc_html__( 'Update Step', 'cartflows' ),
168
- 'add_new_item' => esc_html__( 'Add New', 'cartflows' ),
169
- 'new_item_name' => esc_html__( 'New Step Name', 'cartflows' ),
170
- );
171
-
172
- $permalink_settings = Cartflows_Helper::get_permalink_settings();
173
-
174
- $args = array(
175
- 'labels' => $labels,
176
- 'public' => true,
177
- 'query_var' => true,
178
- 'can_export' => true,
179
- 'exclude_from_search' => true,
180
- 'show_ui' => true,
181
- 'show_in_menu' => false,
182
- 'show_in_admin_bar' => true,
183
- 'supports' => array( 'title', 'editor', 'elementor', 'revisions' ),
184
- 'capability_type' => 'post',
185
- 'capabilities' => array(
186
- 'create_posts' => 'do_not_allow', // Prior to Wordpress 4.5, this was false.
187
- ),
188
- 'map_meta_cap' => true,
189
- );
190
-
191
- if ( isset( $permalink_settings['permalink_structure'] ) && ! empty( $permalink_settings['permalink_structure'] ) ) {
192
- $args['rewrite'] = array(
193
- 'slug' => $permalink_settings['permalink_structure'],
194
- 'with_front' => false,
195
- );
196
-
197
- } elseif ( isset( $permalink_settings['permalink'] ) && ! empty( $permalink_settings['permalink'] ) ) {
198
-
199
- $args['rewrite'] = array(
200
- 'slug' => $permalink_settings['permalink'],
201
- 'with_front' => false,
202
- );
203
- }
204
-
205
- register_post_type( CARTFLOWS_STEP_POST_TYPE, $args );
206
-
207
- // Step Type.
208
- $args = array(
209
- 'label' => __( 'Step Type', 'cartflows' ),
210
- 'public' => false,
211
- 'rewrite' => false,
212
- 'hierarchical' => false,
213
- );
214
-
215
- register_taxonomy( CARTFLOWS_TAXONOMY_STEP_TYPE, CARTFLOWS_STEP_POST_TYPE, $args );
216
-
217
- // Step Flow.
218
- $args = array(
219
- 'label' => __( 'Step Flow', 'cartflows' ),
220
- 'public' => false,
221
- 'rewrite' => false,
222
- 'hierarchical' => false,
223
- );
224
-
225
- register_taxonomy( CARTFLOWS_TAXONOMY_STEP_FLOW, CARTFLOWS_STEP_POST_TYPE, $args );
226
-
227
- if ( is_admin() ) {
228
- /**
229
- * Register 'Elementor' & 'Beaver Builder' site types.
230
- *
231
- * @see self::add_terms();
232
- */
233
- $taxonomy = CARTFLOWS_TAXONOMY_STEP_TYPE;
234
-
235
- $terms = array(
236
- array(
237
- 'name' => __( 'Landing', 'cartflows' ),
238
- 'slug' => 'landing',
239
- 'args' => array(
240
- 'slug' => 'landing',
241
- ),
242
- ),
243
- array(
244
- 'name' => __( 'Optin (Woo)', 'cartflows' ),
245
- 'slug' => 'optin',
246
- 'args' => array(
247
- 'slug' => 'optin',
248
- ),
249
- ),
250
- array(
251
- 'name' => __( 'Checkout (Woo)', 'cartflows' ),
252
- 'slug' => 'checkout',
253
- 'args' => array(
254
- 'slug' => 'checkout',
255
- ),
256
- ),
257
- array(
258
- 'name' => __( 'Thank You (Woo)', 'cartflows' ),
259
- 'slug' => 'thankyou',
260
- 'args' => array(
261
- 'slug' => 'thankyou',
262
- ),
263
- ),
264
- array(
265
- 'name' => __( 'Upsell (Woo)', 'cartflows' ),
266
- 'slug' => 'upsell',
267
- 'args' => array(
268
- 'slug' => 'upsell',
269
- ),
270
- ),
271
- array(
272
- 'name' => __( 'Downsell (Woo)', 'cartflows' ),
273
- 'slug' => 'downsell',
274
- 'args' => array(
275
- 'slug' => 'downsell',
276
- ),
277
- ),
278
- );
279
-
280
- $this->add_terms( $taxonomy, $terms );
281
-
282
- }
283
- }
284
-
285
- /**
286
- * Add WordPress templates.
287
- *
288
- * Adds Cartflows templates to steps
289
- *
290
- * @since 1.0.0
291
- * @access public
292
- */
293
- public function add_wp_templates_support() {
294
- add_filter( 'theme_' . CARTFLOWS_STEP_POST_TYPE . '_templates', array( $this, 'add_page_templates' ), 99, 4 );
295
- }
296
-
297
- /**
298
- * Add page templates.
299
- *
300
- * @since 1.0.0
301
- * @access public
302
- *
303
- * @param array $page_templates Array of page templates.
304
- *
305
- * @param object $wp_theme wp theme.
306
- * @param object $post post.
307
- *
308
- * @return array Page templates.
309
- */
310
- public function add_page_templates( $page_templates, $wp_theme, $post ) {
311
-
312
- $page_templates = array(
313
- 'cartflows-default' => _x( 'CartFlows — Boxed', 'cartflows' ),
314
- 'cartflows-canvas' => _x( 'Template for Page Builders', 'cartflows' ),
315
- );
316
-
317
- return $page_templates;
318
- }
319
-
320
-
321
-
322
- /**
323
- * Query fixe throwing error on 404 page due our post type changes.
324
- * We are setting post_type as empty array to fix the issue.
325
- * Ther error was throwing due to redirect_canonical function
326
- * This fix is apply for 404 page only
327
- */
328
- public function query_fix() {
329
-
330
- global $wp_query;
331
-
332
- if ( $wp_query->is_404() ) {
333
- $wp_query->set( 'post_type', array() );
334
- }
335
- }
336
-
337
- /**
338
- * Prevent slug duplicated
339
- *
340
- * @param string $slug post slug.
341
- * @param int $post_ID post id.
342
- * @param string $post_status post status.
343
- * @param string $post_type post type.
344
- * @param int $post_parent post parent id.
345
- * @param string $original_slug original slug.
346
- * @return string
347
- */
348
- public function prevent_slug_duplicates( $slug, $post_ID, $post_status, $post_type, $post_parent, $original_slug ) {
349
-
350
- $check_post_types = array(
351
- 'post',
352
- 'page',
353
- CARTFLOWS_STEP_POST_TYPE,
354
- );
355
-
356
- if ( ! in_array( $post_type, $check_post_types, true ) ) {
357
- return $slug;
358
- }
359
-
360
- if ( CARTFLOWS_STEP_POST_TYPE == $post_type ) {
361
- // Saving a post, check for duplicates in POST or PAGE post types.
362
- $post_match = get_page_by_path( $slug, 'OBJECT', 'post' );
363
- $page_match = get_page_by_path( $slug, 'OBJECT', 'page' );
364
-
365
- if ( $post_match || $page_match ) {
366
- $slug .= '-2';
367
- }
368
- } else {
369
-
370
- // Saving a POST or PAGE, check for duplicates in CARTFLOWS_STEP_POST_TYPE post type.
371
- $custom_post_type_match = get_page_by_path( $slug, 'OBJECT', CARTFLOWS_STEP_POST_TYPE );
372
-
373
- if ( $custom_post_type_match ) {
374
- $slug .= '-2';
375
- }
376
- }
377
-
378
- return $slug;
379
- }
380
-
381
- /**
382
- * Add Update messages for any custom post type
383
- *
384
- * @param array $messages Array of default messages.
385
- */
386
- public function post_update_messages( $messages ) {
387
-
388
- $custom_post_type = get_post_type( get_the_ID() );
389
-
390
- if ( CARTFLOWS_STEP_POST_TYPE == $custom_post_type ) {
391
-
392
- $obj = get_post_type_object( $custom_post_type );
393
- $singular_name = $obj->labels->singular_name;
394
- $messages[ $custom_post_type ] = array(
395
- 0 => '', // Unused. Messages start at index 1.
396
- /* translators: %s: singular custom post type name */
397
- 1 => sprintf( __( '%s updated.', 'cartflows' ), $singular_name ),
398
- /* translators: %s: singular custom post type name */
399
- 2 => sprintf( __( 'Custom %s updated.', 'cartflows' ), $singular_name ),
400
- /* translators: %s: singular custom post type name */
401
- 3 => sprintf( __( 'Custom %s deleted.', 'cartflows' ), $singular_name ),
402
- /* translators: %s: singular custom post type name */
403
- 4 => sprintf( __( '%s updated.', 'cartflows' ), $singular_name ),
404
- /* translators: %1$s: singular custom post type name ,%2$s: date and time of the revision */
405
- 5 => isset( $_GET['revision'] ) ? sprintf( __( '%1$s restored to revision from %2$s', 'cartflows' ), $singular_name, wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, //phpcs:ignore
406
- /* translators: %s: singular custom post type name */
407
- 6 => sprintf( __( '%s published.', 'cartflows' ), $singular_name ),
408
- /* translators: %s: singular custom post type name */
409
- 7 => sprintf( __( '%s saved.', 'cartflows' ), $singular_name ),
410
- /* translators: %s: singular custom post type name */
411
- 8 => sprintf( __( '%s submitted.', 'cartflows' ), $singular_name ),
412
- /* translators: %s: singular custom post type name */
413
- 9 => sprintf( __( '%s scheduled for.', 'cartflows' ), $singular_name ),
414
- /* translators: %s: singular custom post type name */
415
- 10 => sprintf( __( '%s draft updated.', 'cartflows' ), $singular_name ),
416
- );
417
- }
418
-
419
- return $messages;
420
- }
421
-
422
- /**
423
- * Add Terms for Taxonomy.
424
- *
425
- * => Example.
426
- *
427
- * $taxonomy = '{taxonomy}';
428
- * $terms = array(
429
- * array(
430
- * 'name' => 'Landing',
431
- * 'slug' => 'landing',
432
- * ),
433
- * array(
434
- * 'name' => 'Checkout',
435
- * 'slug' => 'checkout',
436
- * ),
437
- * );
438
- *
439
- * self::add_terms( $taxonomy, $terms );
440
- *
441
- * @since 1.0.0
442
- * @param string $taxonomy Taxonomy Name.
443
- * @param array $terms Terms list.
444
- * @return void
445
- */
446
- public function add_terms( $taxonomy = '', $terms = array() ) {
447
-
448
- foreach ( $terms as $key => $term ) {
449
-
450
- $term_exist = term_exists( $term['slug'], $taxonomy );
451
-
452
- if ( empty( $term_exist ) ) {
453
-
454
- /**
455
- * Add additional args if passed from request.
456
- *
457
- * @see https://codex.wordpress.org/Function_Reference/wp_insert_term
458
- */
459
- if ( array_key_exists( 'args', $term ) ) {
460
- wp_insert_term( $term['name'], $taxonomy, $term['args'] );
461
- } else {
462
-
463
- $term['args'] = array( $term['slug'] );
464
-
465
- wp_insert_term( $term['name'], $taxonomy, $term['args'] );
466
- }
467
- }
468
- }
469
- }
470
- }
471
-
472
- /**
473
- * Kicking this off by calling 'get_instance()' method
474
- */
475
- Cartflows_Step_Post_Type::get_instance();
1
+ <?php
2
+ /**
3
+ * Step post type.
4
+ *
5
+ * @package CartFlows
6
+ */
7
+
8
+ /**
9
+ * Initialization
10
+ *
11
+ * @since 1.0.0
12
+ */
13
+ class Cartflows_Step_Post_Type {
14
+
15
+
16
+ /**
17
+ * Member Variable
18
+ *
19
+ * @var instance
20
+ */
21
+ private static $instance;
22
+
23
+ /**
24
+ * Member Variable
25
+ *
26
+ * @var body_classes
27
+ */
28
+ private $body_classes = array();
29
+
30
+ /**
31
+ * Initiator
32
+ */
33
+ public static function get_instance() {
34
+ if ( ! isset( self::$instance ) ) {
35
+ self::$instance = new self();
36
+ }
37
+ return self::$instance;
38
+ }
39
+
40
+ /**
41
+ * Constructor
42
+ */
43
+ public function __construct() {
44
+
45
+ add_action( 'init', array( $this, 'step_post_type' ) );
46
+ add_action( 'init', array( $this, 'add_wp_templates_support' ) );
47
+ add_filter( 'post_updated_messages', array( $this, 'post_update_messages' ) );
48
+
49
+ add_filter( 'wp_unique_post_slug', array( $this, 'prevent_slug_duplicates' ), 10, 6 );
50
+
51
+ add_filter( 'template_include', array( $this, 'load_page_template' ), 90 );
52
+ add_filter( 'template_redirect', array( $this, 'query_fix' ), 3 );
53
+ }
54
+
55
+
56
+ /**
57
+ * Trys to load page.php for a header, footer or part theme layout.
58
+ *
59
+ * @since 1.0.0
60
+ * @param string $template The current template to be loaded.
61
+ * @return string
62
+ */
63
+ public function load_page_template( $template ) {
64
+
65
+ global $post;
66
+
67
+ if ( 'string' == gettype( $template ) && is_object( $post ) && CARTFLOWS_STEP_POST_TYPE === $post->post_type ) {
68
+
69
+ /**
70
+ * Remove Next/Prev Navigation
71
+ * add_filter('next_post_link', '__return_empty_string');
72
+ * add_filter('previous_post_link', '__return_empty_string');
73
+ *
74
+ * $page = locate_template( array( 'page.php' ) );
75
+ *
76
+ * if ( ! empty( $page ) ) {
77
+ * return $page;
78
+ * }
79
+ */
80
+
81
+ /* Remove Next / Previous Rel Link */
82
+ remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
83
+ add_filter( 'next_post_rel_link', '__return_empty_string' );
84
+ add_filter( 'previous_post_rel_link', '__return_empty_string' );
85
+
86
+ $page_template = get_post_meta( _get_wcf_step_id(), '_wp_page_template', true );
87
+
88
+ $page_template = apply_filters( 'cartflows_page_template', $page_template );
89
+
90
+ $file = '';
91
+
92
+ switch ( $page_template ) {
93
+
94
+ case 'cartflows-default':
95
+ $file = CARTFLOWS_FLOW_DIR . 'templates/template-default.php';
96
+ $this->body_classes[] = $page_template;
97
+ break;
98
+ case 'cartflows-canvas':
99
+ $file = CARTFLOWS_FLOW_DIR . 'templates/template-canvas.php';
100
+ $this->body_classes[] = $page_template;
101
+ break;
102
+ default:
103
+ /**
104
+ * Remove Next/Prev Navigation
105
+ */
106
+ add_filter( 'next_post_link', '__return_empty_string' );
107
+ add_filter( 'previous_post_link', '__return_empty_string' );
108
+
109
+ $page = locate_template( array( 'page.php' ) );
110
+
111
+ if ( ! empty( $page ) ) {
112
+ $file = $page;
113
+ }
114
+
115
+ break;
116
+
117
+ /**
118
+ * Default:
119
+ * $file = CARTFLOWS_FLOW_DIR . 'templates/template-default.php';
120
+ * $this->body_classes[] = 'cartflows-default';
121
+ * break;
122
+ */
123
+ }
124
+
125
+ // Just to be safe, we check if the file exist first.
126
+ if ( file_exists( $file ) ) {
127
+
128
+ /* Add Body Class */
129
+ add_filter( 'body_class', array( $this, 'body_class' ) );
130
+
131
+ return $file;
132
+ } else {
133
+ echo $file;
134
+ }
135
+ }
136
+
137
+ return $template;
138
+ }
139
+
140
+ /**
141
+ * Body classes.
142
+ *
143
+ * @since 1.0.0
144
+ * @param array $classes Body classes.
145
+ * @return array
146
+ */
147
+ public function body_class( $classes = array() ) {
148
+
149
+ $classes = array_merge( $classes, $this->body_classes );
150
+
151
+ return $classes;
152
+ }
153
+
154
+ /**
155
+ * Create custom post type
156
+ */
157
+ public function step_post_type() {
158
+
159
+ $labels = array(
160
+ 'name' => esc_html_x( 'Steps', 'flow step general name', 'cartflows' ),
161
+ 'singular_name' => esc_html_x( 'Step', 'flow step singular name', 'cartflows' ),
162
+ 'search_items' => esc_html__( 'Search Steps', 'cartflows' ),
163
+ 'all_items' => esc_html__( 'All Steps', 'cartflows' ),
164
+ 'edit_item' => esc_html__( 'Edit Step', 'cartflows' ),
165
+ 'view_item' => esc_html__( 'View Step', 'cartflows' ),
166
+ 'add_new' => esc_html__( 'Add New', 'cartflows' ),
167
+ 'update_item' => esc_html__( 'Update Step', 'cartflows' ),
168
+ 'add_new_item' => esc_html__( 'Add New', 'cartflows' ),
169
+ 'new_item_name' => esc_html__( 'New Step Name', 'cartflows' ),
170
+ );
171
+
172
+ $permalink_settings = Cartflows_Helper::get_permalink_settings();
173
+
174
+ $args = array(
175
+ 'labels' => $labels,
176
+ 'public' => true,
177
+ 'query_var' => true,
178
+ 'can_export' => true,
179
+ 'exclude_from_search' => true,
180
+ 'show_ui' => true,
181
+ 'show_in_menu' => false,
182
+ 'show_in_admin_bar' => true,
183
+ 'supports' => array( 'title', 'editor', 'elementor', 'revisions' ),
184
+ 'capability_type' => 'post',
185
+ 'capabilities' => array(
186
+ 'create_posts' => 'do_not_allow', // Prior to Wordpress 4.5, this was false.
187
+ ),
188
+ 'map_meta_cap' => true,
189
+ );
190
+
191
+ if ( isset( $permalink_settings['permalink_structure'] ) && ! empty( $permalink_settings['permalink_structure'] ) ) {
192
+ $args['rewrite'] = array(
193
+ 'slug' => $permalink_settings['permalink_structure'],
194
+ 'with_front' => false,
195
+ );
196
+
197
+ } elseif ( isset( $permalink_settings['permalink'] ) && ! empty( $permalink_settings['permalink'] ) ) {
198
+
199
+ $args['rewrite'] = array(
200
+ 'slug' => $permalink_settings['permalink'],
201
+ 'with_front' => false,
202
+ );
203
+ }
204
+
205
+ register_post_type( CARTFLOWS_STEP_POST_TYPE, $args );
206
+
207
+ // Step Type.
208
+ $args = array(
209
+ 'label' => __( 'Step Type', 'cartflows' ),
210
+ 'public' => false,
211
+ 'rewrite' => false,
212
+ 'hierarchical' => false,
213
+ );
214
+
215
+ register_taxonomy( CARTFLOWS_TAXONOMY_STEP_TYPE, CARTFLOWS_STEP_POST_TYPE, $args );
216
+
217
+ // Step Flow.
218
+ $args = array(
219
+ 'label' => __( 'Step Flow', 'cartflows' ),
220
+ 'public' => false,
221
+ 'rewrite' => false,
222
+ 'hierarchical' => false,
223
+ );
224
+
225
+ register_taxonomy( CARTFLOWS_TAXONOMY_STEP_FLOW, CARTFLOWS_STEP_POST_TYPE, $args );
226
+
227
+ if ( is_admin() ) {
228
+ /**
229
+ * Register 'Elementor' & 'Beaver Builder' site types.
230
+ *
231
+ * @see self::add_terms();
232
+ */
233
+ $taxonomy = CARTFLOWS_TAXONOMY_STEP_TYPE;
234
+
235
+ $terms = array(
236
+ array(
237
+ 'name' => __( 'Landing', 'cartflows' ),
238
+ 'slug' => 'landing',
239
+ 'args' => array(
240
+ 'slug' => 'landing',
241
+ ),
242
+ ),
243
+ array(
244
+ 'name' => __( 'Optin (Woo)', 'cartflows' ),
245
+ 'slug' => 'optin',
246
+ 'args' => array(
247
+ 'slug' => 'optin',
248
+ ),
249
+ ),
250
+ array(
251
+ 'name' => __( 'Checkout (Woo)', 'cartflows' ),
252
+ 'slug' => 'checkout',
253
+ 'args' => array(
254
+ 'slug' => 'checkout',
255
+ ),
256
+ ),
257
+ array(
258
+ 'name' => __( 'Thank You (Woo)', 'cartflows' ),
259
+ 'slug' => 'thankyou',
260
+ 'args' => array(
261
+ 'slug' => 'thankyou',
262
+ ),
263
+ ),
264
+ array(
265
+ 'name' => __( 'Upsell (Woo)', 'cartflows' ),
266
+ 'slug' => 'upsell',
267
+ 'args' => array(
268
+ 'slug' => 'upsell',
269
+ ),
270
+ ),
271
+ array(
272
+ 'name' => __( 'Downsell (Woo)', 'cartflows' ),
273
+ 'slug' => 'downsell',
274
+ 'args' => array(
275
+ 'slug' => 'downsell',
276
+ ),
277
+ ),
278
+ );
279
+
280
+ $this->add_terms( $taxonomy, $terms );
281
+
282
+ }
283
+ }
284
+
285
+ /**
286
+ * Add WordPress templates.
287
+ *
288
+ * Adds Cartflows templates to steps
289
+ *
290
+ * @since 1.0.0
291
+ * @access public
292
+ */
293
+ public function add_wp_templates_support() {
294
+ add_filter( 'theme_' . CARTFLOWS_STEP_POST_TYPE . '_templates', array( $this, 'add_page_templates' ), 99, 4 );
295
+ }
296
+
297
+ /**
298
+ * Add page templates.
299
+ *
300
+ * @since 1.0.0
301
+ * @access public
302
+ *
303
+ * @param array $page_templates Array of page templates.
304
+ *
305
+ * @param object $wp_theme wp theme.
306
+ * @param object $post post.
307
+ *
308
+ * @return array Page templates.
309
+ */
310
+ public function add_page_templates( $page_templates, $wp_theme, $post ) {
311
+
312
+ $page_templates = array(
313
+ 'cartflows-default' => _x( 'CartFlows — Boxed', 'cartflows' ),
314
+ 'cartflows-canvas' => _x( 'Template for Page Builders', 'cartflows' ),
315
+ );
316
+
317
+ return $page_templates;
318
+ }
319
+
320
+
321
+
322
+ /**
323
+ * Query fixe throwing error on 404 page due our post type changes.
324
+ * We are setting post_type as empty array to fix the issue.
325
+ * Ther error was throwing due to redirect_canonical function
326
+ * This fix is apply for 404 page only
327
+ */
328
+ public function query_fix() {
329
+
330
+ global $wp_query;
331
+
332
+ if ( $wp_query->is_404() ) {
333
+ $wp_query->set( 'post_type', array() );
334
+ }
335
+ }
336
+
337
+ /**
338
+ * Prevent slug duplicated
339
+ *
340
+ * @param string $slug post slug.
341
+ * @param int $post_ID post id.
342
+ * @param string $post_status post status.
343
+ * @param string $post_type post type.
344
+ * @param int $post_parent post parent id.
345
+ * @param string $original_slug original slug.
346
+ * @return string
347
+ */
348
+ public function prevent_slug_duplicates( $slug, $post_ID, $post_status, $post_type, $post_parent, $original_slug ) {
349
+
350
+ $check_post_types = array(
351
+ 'post',
352
+ 'page',
353
+ CARTFLOWS_STEP_POST_TYPE,
354
+ );
355
+
356
+ if ( ! in_array( $post_type, $check_post_types, true ) ) {
357
+ return $slug;
358
+ }
359
+
360
+ if ( CARTFLOWS_STEP_POST_TYPE == $post_type ) {
361
+ // Saving a post, check for duplicates in POST or PAGE post types.
362
+ $post_match = get_page_by_path( $slug, 'OBJECT', 'post' );
363
+ $page_match = get_page_by_path( $slug, 'OBJECT', 'page' );
364
+
365
+ if ( $post_match || $page_match ) {
366
+ $slug .= '-2';
367
+ }
368
+ } else {
369
+
370
+ // Saving a POST or PAGE, check for duplicates in CARTFLOWS_STEP_POST_TYPE post type.
371
+ $custom_post_type_match = get_page_by_path( $slug, 'OBJECT', CARTFLOWS_STEP_POST_TYPE );
372
+
373
+ if ( $custom_post_type_match ) {
374
+ $slug .= '-2';
375
+ }
376
+ }
377
+
378
+ return $slug;
379
+ }
380
+
381
+ /**
382
+ * Add Update messages for any custom post type
383
+ *
384
+ * @param array $messages Array of default messages.
385
+ */
386
+ public function post_update_messages( $messages ) {
387
+
388
+ $custom_post_type = get_post_type( get_the_ID() );
389
+
390
+ if ( CARTFLOWS_STEP_POST_TYPE == $custom_post_type ) {
391
+
392
+ $obj = get_post_type_object( $custom_post_type );
393
+ $singular_name = $obj->labels->singular_name;
394
+ $messages[ $custom_post_type ] = array(
395
+ 0 => '', // Unused. Messages start at index 1.
396
+ /* translators: %s: singular custom post type name */
397
+ 1 => sprintf( __( '%s updated.', 'cartflows' ), $singular_name ),
398
+ /* translators: %s: singular custom post type name */
399
+ 2 => sprintf( __( 'Custom %s updated.', 'cartflows' ), $singular_name ),
400
+ /* translators: %s: singular custom post type name */
401
+ 3 => sprintf( __( 'Custom %s deleted.', 'cartflows' ), $singular_name ),
402
+ /* translators: %s: singular custom post type name */
403
+ 4 => sprintf( __( '%s updated.', 'cartflows' ), $singular_name ),
404
+ /* translators: %1$s: singular custom post type name ,%2$s: date and time of the revision */
405
+ 5 => isset( $_GET['revision'] ) ? sprintf( __( '%1$s restored to revision from %2$s', 'cartflows' ), $singular_name, wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, //phpcs:ignore
406
+ /* translators: %s: singular custom post type name */
407
+ 6 => sprintf( __( '%s published.', 'cartflows' ), $singular_name ),
408
+ /* translators: %s: singular custom post type name */
409
+ 7 => sprintf( __( '%s saved.', 'cartflows' ), $singular_name ),
410
+ /* translators: %s: singular custom post type name */
411
+ 8 => sprintf( __( '%s submitted.', 'cartflows' ), $singular_name ),
412
+ /* translators: %s: singular custom post type name */
413
+ 9 => sprintf( __( '%s scheduled for.', 'cartflows' ), $singular_name ),
414
+ /* translators: %s: singular custom post type name */
415
+ 10 => sprintf( __( '%s draft updated.', 'cartflows' ), $singular_name ),
416
+ );
417
+ }
418
+
419
+ return $messages;
420
+ }
421
+
422
+ /**
423
+ * Add Terms for Taxonomy.
424
+ *
425
+ * => Example.
426
+ *
427
+ * $taxonomy = '{taxonomy}';
428
+ * $terms = array(
429
+ * array(
430
+ * 'name' => 'Landing',
431
+ * 'slug' => 'landing',
432
+ * ),
433
+ * array(
434
+ * 'name' => 'Checkout',
435
+ * 'slug' => 'checkout',
436
+ * ),
437
+ * );
438
+ *
439
+ * self::add_terms( $taxonomy, $terms );
440
+ *
441
+ * @since 1.0.0
442
+ * @param string $taxonomy Taxonomy Name.
443
+ * @param array $terms Terms list.
444
+ * @return void
445
+ */
446
+ public function add_terms( $taxonomy = '', $terms = array() ) {
447
+
448
+ foreach ( $terms as $key => $term ) {
449
+
450
+ $term_exist = term_exists( $term['slug'], $taxonomy );
451
+
452
+ if ( empty( $term_exist ) ) {
453
+
454
+ /**
455
+ * Add additional args if passed from request.
456
+ *
457
+ * @see https://codex.wordpress.org/Function_Reference/wp_insert_term
458
+ */
459
+ if ( array_key_exists( 'args', $term ) ) {
460
+ wp_insert_term( $term['name'], $taxonomy, $term['args'] );
461
+ } else {
462
+
463
+ $term['args'] = array( $term['slug'] );
464
+
465
+ wp_insert_term( $term['name'], $taxonomy, $term['args'] );
466
+ }
467
+ }
468
+ }
469
+ }
470
+ }
471
+
472
+ /**
473
+ * Kicking this off by calling 'get_instance()' method
474
+ */
475
+ Cartflows_Step_Post_Type::get_instance();
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.me/BrainstormForce
4
  Tags: woocommerce, funnel builder, sales funnels, elementor, beaver builder
5
  Requires at least: 4.4
6
  Tested up to: 5.4
7
- Stable tag: 1.5.5
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -125,6 +125,10 @@ Glad you asked! CartFlows Pro is an optional add-on to CartFlows that adds addit
125
 
126
  == Changelog ==
127
 
 
 
 
 
128
  = Version 1.5.5 - Tuesday, 14th April 2020 =
129
  * Fix: CSS conflict with the latest release of Astra theme.
130
 
4
  Tags: woocommerce, funnel builder, sales funnels, elementor, beaver builder
5
  Requires at least: 4.4
6
  Tested up to: 5.4
7
+ Stable tag: 1.5.6
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
125
 
126
  == Changelog ==
127
 
128
+ = Version 1.5.6 - Thursday, 23rd April 2020 =
129
+ * Fix: Checkout two-step type CSS conflict with the latest version of The-7 theme.
130
+ * Fix: Optin step CSS conflict with the Astra theme.
131
+
132
  = Version 1.5.5 - Tuesday, 14th April 2020 =
133
  * Fix: CSS conflict with the latest release of Astra theme.
134
 
theme-support/astra/astra.php CHANGED
@@ -8,6 +8,7 @@
8
  */
9
 
10
  add_action( 'cartflows_checkout_before_shortcode', 'cartflows_theme_compatibility_astra' );
 
11
 
12
  if ( ! function_exists( 'cartflows_theme_compatibility_astra' ) ) {
13
 
8
  */
9
 
10
  add_action( 'cartflows_checkout_before_shortcode', 'cartflows_theme_compatibility_astra' );
11
+ add_action( 'cartflows_optin_before_shortcode', 'cartflows_theme_compatibility_astra' );
12
 
13
  if ( ! function_exists( 'cartflows_theme_compatibility_astra' ) ) {
14