Ecwid Ecommerce Shopping Cart - Version 4.4.2

Version Description

  • Fixed a few layout issues in the categories menu layout and the "Store root categories" widget. Both wigets should look good now on any site and let your customers navigate your store easily. If you find any issue in the categories navigation in your store, please let us know.
  • Fixed an issue for meta title and description fields (SEO) for the sites with Yoast SEO plugin installed. The issue appeared on the sites where the store is installed on the main (home) page meta title and description didn't work properly. We fixed this. Ecwid shopping cart plugin is totally compatible with Yoast SEO so we recommend using them together to make your store more visible in search engines.
Download this release

Release Info

Developer Ecwid
Plugin Icon 128x128 Ecwid Ecommerce Shopping Cart
Version 4.4.2
Comparing to
See all releases

Code changes from version 4.4.1.2 to 4.4.2

css/frontend.css CHANGED
@@ -8,7 +8,9 @@ html#ecwid_html body#ecwid_body .ecwid-SearchPanel input {
8
  max-width: 300px;
9
  }
10
 
11
- .ecwid-shopping-cart-categories #horizontal-menu {
 
 
12
  margin-top: 10px;
13
  margin-bottom: 10px;
14
  }
@@ -24,4 +26,12 @@ html#ecwid_html body#ecwid_body .ecwid-productsList ul li .ecwid-productsList-na
24
 
25
  html#ecwid_html body#ecwid_body .ecwid tr:hover td {
26
  color: inherit;
27
- }
 
 
 
 
 
 
 
 
8
  max-width: 300px;
9
  }
10
 
11
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-categories #horizontal-menu,
12
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart .ecwid-shopping-cart-categories .horizontal-menu
13
+ {
14
  margin-top: 10px;
15
  margin-bottom: 10px;
16
  }
26
 
27
  html#ecwid_html body#ecwid_body .ecwid tr:hover td {
28
  color: inherit;
29
+ }
30
+
31
+ html#ecwid_html body#ecwid_body.ecwid-shopping-cart span.ecwid-categories-category {
32
+ font-size: 20px;
33
+ }
34
+
35
+ html#ecwid_html body#ecwid_body .ecwid table {
36
+ line-height: inherit;
37
+ }
css/themes/zerif-lite.css CHANGED
@@ -2,6 +2,3 @@ html#ecwid_html body#ecwid_body div.ecwid-search-widget {
2
  font-size: 16px;
3
  }
4
 
5
- html#ecwid_html body#ecwid_body .ecwid table {
6
- line-height: inherit;
7
- }
2
  font-size: 16px;
3
  }
4
 
 
 
 
ecwid-shopping-cart.php CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://www.ecwid.com?source=wporg
5
  Description: Ecwid is a free full-featured shopping cart. It can be easily integrated with any Wordpress blog and takes less than 5 minutes to set up.
6
  Text Domain: ecwid-shopping-cart
7
  Author: Ecwid Team
8
- Version: 4.4.1.2
9
  Author URI: http://www.ecwid.com?source=wporg
10
  */
11
 
@@ -794,13 +794,12 @@ function ecwid_product_browser_url_in_head() {
794
 
795
 
796
  function ecwid_canonical() {
797
- $allowed = ecwid_is_api_enabled() && isset($_GET['_escaped_fragment_']);
798
- if (!$allowed) return;
799
 
800
- $params = ecwid_parse_escaped_fragment($_GET['_escaped_fragment_']);
801
- if (!$params) return;
 
802
 
803
- if (!in_array($params['mode'], array('category', 'product')) || !isset($params['id'])) return;
804
 
805
  $api = ecwid_new_product_api();
806
 
@@ -815,16 +814,26 @@ function ecwid_canonical() {
815
  echo '<link rel="canonical" href="' . esc_attr($link) . '" />' . PHP_EOL;
816
  }
817
 
818
- function ecwid_meta_description() {
819
 
820
- $allowed = ecwid_is_api_enabled() && isset($_GET['_escaped_fragment_']);
821
- if (!$allowed) return;
822
 
823
- $params = ecwid_parse_escaped_fragment($_GET['_escaped_fragment_']);
824
- if (!$params) return;
 
 
 
 
 
 
 
825
 
826
- if (!in_array($params['mode'], array('category', 'product')) || !isset($params['id'])) return;
 
 
827
 
 
828
  $api = ecwid_new_product_api();
829
  if ($params['mode'] == 'product') {
830
  $product = $api->get_product($params['id']);
@@ -938,9 +947,13 @@ function ecwid_seo_title_parts($parts)
938
 
939
  function _ecwid_get_seo_title()
940
  {
941
- if (!isset($_GET['_escaped_fragment_']) || !ecwid_is_api_enabled()) return;
942
 
943
- $params = ecwid_parse_escaped_fragment( $_GET['_escaped_fragment_'] );
 
 
 
 
 
944
  $ecwid_seo_title = '';
945
 
946
  $separator = ecwid_get_title_separator();
@@ -1005,10 +1018,10 @@ function ecwid_content_started($content)
1005
 
1006
  function ecwid_wrap_shortcode_content($content, $name, $attrs)
1007
  {
1008
- return "<!-- Ecwid shopping cart plugin v 4.4.1.2 --><!-- noptimize -->"
1009
  . ecwid_get_scriptjs_code(@$attrs['lang'])
1010
  . "<div class=\"ecwid-shopping-cart-$name\">$content</div>"
1011
- . "<!-- /noptimize --><!-- END Ecwid Shopping Cart v 4.4.1.2 -->";
1012
  }
1013
 
1014
  function ecwid_get_scriptjs_code($force_lang = null) {
@@ -1138,8 +1151,7 @@ function ecwid_categories_shortcode($attributes) {
1138
  $store_id = get_ecwid_store_id();
1139
  $ver = get_option('ecwid_plugin_version');
1140
  $result = <<<HTML
1141
- <div id="horizontal-menu" data-storeid="$store_id"></div>
1142
- <script src="https://djqizrxa6f10j.cloudfront.net/horizontal-category-widget/v1.2/horizontal-widget.js?ver=$ver"></script>
1143
  HTML;
1144
  } else {
1145
  $result = <<<EOT
@@ -1414,22 +1426,29 @@ EOT;
1414
 
1415
 
1416
  function ecwid_parse_escaped_fragment($escaped_fragment) {
1417
- $fragment = urldecode($escaped_fragment);
1418
- $return = array();
1419
-
1420
- if (preg_match('/^(\/~\/)([a-z]+)\/(.*)$/', $fragment, $matches)) {
1421
- parse_str($matches[3], $return);
1422
- $return['mode'] = $matches[2];
1423
- } elseif (preg_match('!.*/(p|c)/([0-9]*)!', $fragment, $matches)) {
1424
- if (count($matches) == 3 && in_array($matches[1], array('p', 'c'))) {
1425
- $return = array(
1426
- 'mode' => 'p' == $matches[1] ? 'product' : 'category',
1427
- 'id' => $matches[2]
1428
- );
 
 
 
 
 
1429
  }
 
 
1430
  }
1431
 
1432
- return $return;
1433
  }
1434
 
1435
  function ecwid_ajax_get_product_info() {
@@ -1852,8 +1871,7 @@ function ecwid_get_register_link()
1852
  {
1853
  $link = 'https://my.ecwid.com/cp/?source=wporg&partner=wporg%s#register';
1854
 
1855
- global $current_user;
1856
- get_currentuserinfo();
1857
 
1858
  $user_data = '';
1859
  if ($current_user->ID && function_exists('get_user_meta')) {
@@ -1914,8 +1932,6 @@ function ecwid_general_settings_do_page() {
1914
 
1915
  $connection_error = isset( $_GET['connection_error'] );
1916
 
1917
- //die( var_dump( EcwidPlatform::cache_set( 'user_was_redirected_to_ecwid_site_to_create_account') ) );
1918
-
1919
  if ( $store_id == ECWID_DEMO_STORE_ID ) {
1920
  $no_oauth = @$_GET['oauth'] == 'no';
1921
 
@@ -2016,7 +2032,7 @@ function ecwid_general_settings_do_page() {
2016
 
2017
  function ecwid_admin_do_page( $page ) {
2018
 
2019
- if (@$_GET['show_timeout'] == '1') {
2020
  require_once ECWID_PLUGIN_DIR . 'templates/admin-timeout.php';
2021
  die();
2022
  }
@@ -2541,12 +2557,12 @@ function ecwid_sso() {
2541
  return "";
2542
  }
2543
 
2544
- global $current_user;
2545
- get_currentuserinfo();
2546
 
2547
- $signin_url = wp_login_url(ecwid_get_store_page_url());
2548
- $signout_url = wp_logout_url(ecwid_get_store_page_url());
2549
- $sign_in_out_urls = <<<JS
2550
  window.EcwidSignInUrl = '$signin_url';
2551
  window.EcwidSignOutUrl = '$signout_url';
2552
  window.Ecwid.OnAPILoaded.add(function() {
5
  Description: Ecwid is a free full-featured shopping cart. It can be easily integrated with any Wordpress blog and takes less than 5 minutes to set up.
6
  Text Domain: ecwid-shopping-cart
7
  Author: Ecwid Team
8
+ Version: 4.4.2
9
  Author URI: http://www.ecwid.com?source=wporg
10
  */
11
 
794
 
795
 
796
  function ecwid_canonical() {
 
 
797
 
798
+ if (!ecwid_is_applicable_escaped_fragment()) {
799
+ return;
800
+ }
801
 
802
+ $params = ecwid_parse_escaped_fragment($_GET['_escaped_fragment_']);
803
 
804
  $api = ecwid_new_product_api();
805
 
814
  echo '<link rel="canonical" href="' . esc_attr($link) . '" />' . PHP_EOL;
815
  }
816
 
817
+ function ecwid_is_applicable_escaped_fragment() {
818
 
819
+ $allowed = ecwid_is_api_enabled() && isset($_GET['_escaped_fragment_']);
820
+ if (!$allowed) return false;
821
 
822
+ $params = ecwid_parse_escaped_fragment($_GET['_escaped_fragment_']);
823
+ if (!$params) return false;
824
+
825
+ if (!in_array($params['mode'], array('category', 'product')) || !isset($params['id'])) return false;
826
+
827
+ return true;
828
+ }
829
+
830
+ function ecwid_meta_description() {
831
 
832
+ if (!ecwid_is_applicable_escaped_fragment()) {
833
+ return;
834
+ }
835
 
836
+ $params = ecwid_parse_escaped_fragment($_GET['_escaped_fragment_']);
837
  $api = ecwid_new_product_api();
838
  if ($params['mode'] == 'product') {
839
  $product = $api->get_product($params['id']);
947
 
948
  function _ecwid_get_seo_title()
949
  {
 
950
 
951
+ if (!ecwid_is_applicable_escaped_fragment()) {
952
+ return;
953
+ }
954
+
955
+ $params = ecwid_parse_escaped_fragment($_GET['_escaped_fragment_']);
956
+
957
  $ecwid_seo_title = '';
958
 
959
  $separator = ecwid_get_title_separator();
1018
 
1019
  function ecwid_wrap_shortcode_content($content, $name, $attrs)
1020
  {
1021
+ return "<!-- Ecwid shopping cart plugin v 4.4.2 --><!-- noptimize -->"
1022
  . ecwid_get_scriptjs_code(@$attrs['lang'])
1023
  . "<div class=\"ecwid-shopping-cart-$name\">$content</div>"
1024
+ . "<!-- /noptimize --><!-- END Ecwid Shopping Cart v 4.4.2 -->";
1025
  }
1026
 
1027
  function ecwid_get_scriptjs_code($force_lang = null) {
1151
  $store_id = get_ecwid_store_id();
1152
  $ver = get_option('ecwid_plugin_version');
1153
  $result = <<<HTML
1154
+ <script data-cfasync="false" type="text/javascript"> xCategoriesV2("style="); </script>
 
1155
  HTML;
1156
  } else {
1157
  $result = <<<EOT
1426
 
1427
 
1428
  function ecwid_parse_escaped_fragment($escaped_fragment) {
1429
+ static $parsed = array();
1430
+
1431
+ if (empty($parsed[$escaped_fragment])) {
1432
+
1433
+ $fragment = urldecode( $escaped_fragment );
1434
+ $return = array();
1435
+
1436
+ if ( preg_match( '/^(\/~\/)([a-z]+)\/(.*)$/', $fragment, $matches ) ) {
1437
+ parse_str( $matches[3], $return );
1438
+ $return['mode'] = $matches[2];
1439
+ } elseif ( preg_match( '!.*/(p|c)/([0-9]*)!', $fragment, $matches ) ) {
1440
+ if ( count( $matches ) == 3 && in_array( $matches[1], array( 'p', 'c' ) ) ) {
1441
+ $return = array(
1442
+ 'mode' => 'p' == $matches[1] ? 'product' : 'category',
1443
+ 'id' => $matches[2]
1444
+ );
1445
+ }
1446
  }
1447
+
1448
+ $parsed[$escaped_fragment] = $return;
1449
  }
1450
 
1451
+ return $parsed[$escaped_fragment];
1452
  }
1453
 
1454
  function ecwid_ajax_get_product_info() {
1871
  {
1872
  $link = 'https://my.ecwid.com/cp/?source=wporg&partner=wporg%s#register';
1873
 
1874
+ $current_user = wp_get_current_user();
 
1875
 
1876
  $user_data = '';
1877
  if ($current_user->ID && function_exists('get_user_meta')) {
1932
 
1933
  $connection_error = isset( $_GET['connection_error'] );
1934
 
 
 
1935
  if ( $store_id == ECWID_DEMO_STORE_ID ) {
1936
  $no_oauth = @$_GET['oauth'] == 'no';
1937
 
2032
 
2033
  function ecwid_admin_do_page( $page ) {
2034
 
2035
+ if (isset($_GET['show_timeout']) && $_GET['show_timeout'] == '1') {
2036
  require_once ECWID_PLUGIN_DIR . 'templates/admin-timeout.php';
2037
  die();
2038
  }
2557
  return "";
2558
  }
2559
 
2560
+ $current_user = wp_get_current_user();
2561
+
2562
 
2563
+ $signin_url = wp_login_url(ecwid_get_store_page_url());
2564
+ $signout_url = wp_logout_url(ecwid_get_store_page_url());
2565
+ $sign_in_out_urls = <<<JS
2566
  window.EcwidSignInUrl = '$signin_url';
2567
  window.EcwidSignOutUrl = '$signout_url';
2568
  window.Ecwid.OnAPILoaded.add(function() {
includes/class-ecwid-integration-wpseo.php CHANGED
@@ -13,6 +13,10 @@ class Ecwid_Integration_WordPress_SEO_By_Yoast
13
  if (ecwid_is_paid_account() && ecwid_is_store_page_available()) {
14
  add_filter( 'wpseo_sitemap_index', array( $this, 'wpseo_hook_sitemap_index' ) );
15
  add_filter( 'wpseo_do_sitemap_ecwid', array( $this, 'wpseo_hook_do_sitemap' ) );
 
 
 
 
16
  }
17
 
18
  add_filter( 'ecwid_title_separator', array( $this, 'get_title_separator' ) );
@@ -113,6 +117,13 @@ XML;
113
 
114
  return $separator;
115
  }
 
 
 
 
 
 
 
116
  }
117
 
118
  $ecwid_integration_wpseo = new Ecwid_Integration_WordPress_SEO_By_Yoast();
13
  if (ecwid_is_paid_account() && ecwid_is_store_page_available()) {
14
  add_filter( 'wpseo_sitemap_index', array( $this, 'wpseo_hook_sitemap_index' ) );
15
  add_filter( 'wpseo_do_sitemap_ecwid', array( $this, 'wpseo_hook_do_sitemap' ) );
16
+ if (array_key_exists('_escaped_fragment_', $_GET)) {
17
+ add_filter( 'wpseo_title', 'ecwid_seo_title' );
18
+ add_filter( 'wpseo_metadesc', array( $this, 'wpseo_hook_description' ) );
19
+ }
20
  }
21
 
22
  add_filter( 'ecwid_title_separator', array( $this, 'get_title_separator' ) );
117
 
118
  return $separator;
119
  }
120
+
121
+ public function wpseo_hook_description($description) {
122
+ if ( ecwid_is_applicable_escaped_fragment() )
123
+ return '';
124
+
125
+ return $description;
126
+ }
127
  }
128
 
129
  $ecwid_integration_wpseo = new Ecwid_Integration_WordPress_SEO_By_Yoast();
includes/widgets/class-ecwid-widget-recently-viewed.php CHANGED
@@ -64,8 +64,10 @@ class Ecwid_Widget_Recently_Viewed extends WP_Widget {
64
  $ids[] = $product->id;
65
  $hide = $counter > $instance['number_of_products'] ? ' hidden' : '';
66
 
 
67
  if ($api) {
68
  $product_https = $api->get_product_https($product->id);
 
69
  }
70
 
71
  $name = isset($product_https) ? $product_https['name']: '';
@@ -73,7 +75,7 @@ class Ecwid_Widget_Recently_Viewed extends WP_Widget {
73
  echo <<<HTML
74
  <a class="product$hide" href="$product->link" alt="$name" title="$name">
75
  <div class="ecwid ecwid-SingleProduct ecwid-Product ecwid-Product-$product->id" data-single-product-link="$product->link" itemscope itemtype="http://schema.org/Product" data-single-product-id="$product->id">
76
- <div itemprop="image" data-force-image="$product_https[imageUrl]"></div>
77
  <div class="ecwid-title" itemprop="name"></div>
78
  <div itemtype="http://schema.org/Offer" itemscope itemprop="offers"><div class="ecwid-productBrowser-price ecwid-price" itemprop="price"></div></div>
79
  </div>
64
  $ids[] = $product->id;
65
  $hide = $counter > $instance['number_of_products'] ? ' hidden' : '';
66
 
67
+ $force_image = '';
68
  if ($api) {
69
  $product_https = $api->get_product_https($product->id);
70
+ $force_image = $product_https['imageUrl'];
71
  }
72
 
73
  $name = isset($product_https) ? $product_https['name']: '';
75
  echo <<<HTML
76
  <a class="product$hide" href="$product->link" alt="$name" title="$name">
77
  <div class="ecwid ecwid-SingleProduct ecwid-Product ecwid-Product-$product->id" data-single-product-link="$product->link" itemscope itemtype="http://schema.org/Product" data-single-product-id="$product->id">
78
+ <div itemprop="image" data-force-image="$force_image"></div>
79
  <div class="ecwid-title" itemprop="name"></div>
80
  <div itemtype="http://schema.org/Offer" itemscope itemprop="offers"><div class="ecwid-productBrowser-price ecwid-price" itemprop="price"></div></div>
81
  </div>
includes/widgets/class-ecwid-widget-vertical-categories-list.php CHANGED
@@ -30,7 +30,7 @@ class Ecwid_Widget_Vertical_Categories_List extends WP_Widget {
30
 
31
  foreach ($categories as $category) {
32
  echo '<li>';
33
- echo '<a href="' . $category->link . '">' . $category->name . '</a>';
34
  echo '</li>';
35
  }
36
 
30
 
31
  foreach ($categories as $category) {
32
  echo '<li>';
33
+ echo '<a href="' . ecwid_get_store_page_url() . $category->link . '">' . $category->name . '</a>';
34
  echo '</li>';
35
  }
36
 
readme.txt CHANGED
@@ -3,12 +3,12 @@ Contributors: ecwid
3
  Tags: ecommerce, downloadable products, Facebook ecommerce, online store, paypal, product catalog, shop, shopping cart, store
4
  Requires at least: 3.5
5
  Tested up to: 4.5
6
- Stable tag: 4.4.1.2
7
 
8
  Powerful, easy to use ecommerce shopping cart. Bank level PCI DSS Level 1 security. iPhone & Android apps. Superb support. Free plan available.
9
 
10
  == Description ==
11
- Ecwid Ecommerce Shopping Cart is a powerful, secure and easy-to-use online store solution that gives you a full-functioned shop on your WordPress website. Join over *900,000* sellers in *175* countries and sell globally with over *40* international payment options, real-time shipping integrations and support of *45* languages.
12
 
13
  = PCI DSS validated Level 1 Service Provider =
14
 
@@ -19,7 +19,7 @@ Ecwid Shopping Cart is PCI DSS Level 1 certified, which is the gold standard for
19
  Friendly and knowledgeable support experts available 24/5 so you can get immediate help when you need it. Free email support and ecommerce community forums. Unlimited chat and phone support available in premium plans.
20
 
21
 
22
- = Merchant Mobile Apps =
23
 
24
  Ecwid Shopping Cart provides free mobile applications for iOS and Android to manage your store and sell on the go. Scan products, track inventory, manage sales and accept payments using your mobile device as a POS station. Your ecommerce data is automatically synchronized with your Wordpress shopping cart, Facebook store and other online storefronts.
25
 
@@ -93,7 +93,7 @@ http://codex.wordpress.org/Managing_Plugins#Installing_Plugins
93
 
94
  == Screenshots ==
95
 
96
- 1.
97
  2.
98
  3.
99
  4.
@@ -145,6 +145,10 @@ You can use Ecwid’s built-in import tools to copy your store products from any
145
  * [Ecwid eCommerce Forums](https://www.ecwid.com/forums/forumdisplay.php?f=19)
146
 
147
  == Changelog ==
 
 
 
 
148
  = 4.4.1.2 =
149
  - Fixes PHP warning messages appearing on some server configurations.
150
 
3
  Tags: ecommerce, downloadable products, Facebook ecommerce, online store, paypal, product catalog, shop, shopping cart, store
4
  Requires at least: 3.5
5
  Tested up to: 4.5
6
+ Stable tag: 4.4.2
7
 
8
  Powerful, easy to use ecommerce shopping cart. Bank level PCI DSS Level 1 security. iPhone & Android apps. Superb support. Free plan available.
9
 
10
  == Description ==
11
+ Ecwid Ecommerce Shopping Cart is a powerful, secure and easy-to-use online store solution that gives you a full-functioned shop on your WordPress website. Join over *1 million* sellers in *175* countries and sell globally with over *40* international payment options, real-time shipping integrations and support of *45* languages.
12
 
13
  = PCI DSS validated Level 1 Service Provider =
14
 
19
  Friendly and knowledgeable support experts available 24/5 so you can get immediate help when you need it. Free email support and ecommerce community forums. Unlimited chat and phone support available in premium plans.
20
 
21
 
22
+ = eCommerce Mobile Apps =
23
 
24
  Ecwid Shopping Cart provides free mobile applications for iOS and Android to manage your store and sell on the go. Scan products, track inventory, manage sales and accept payments using your mobile device as a POS station. Your ecommerce data is automatically synchronized with your Wordpress shopping cart, Facebook store and other online storefronts.
25
 
93
 
94
  == Screenshots ==
95
 
96
+ 1. Storefront
97
  2.
98
  3.
99
  4.
145
  * [Ecwid eCommerce Forums](https://www.ecwid.com/forums/forumdisplay.php?f=19)
146
 
147
  == Changelog ==
148
+ = 4.4.2 =
149
+ - **Fixed a few layout issues in the categories menu layout and the "Store root categories" widget.** Both wigets should look good now on any site and let your customers navigate your store easily. If you find any issue in the categories navigation in your store, please let us know.
150
+ - **Fixed an issue for meta title and description fields (SEO) for the sites with Yoast SEO plugin installed.** The issue appeared on the sites where the store is installed on the main (home) page – meta title and description didn't work properly. We fixed this. Ecwid shopping cart plugin is totally compatible with Yoast SEO so we recommend using them together to make your store more visible in search engines.
151
+
152
  = 4.4.1.2 =
153
  - Fixes PHP warning messages appearing on some server configurations.
154
 
templates/dashboard.php CHANGED
@@ -9,7 +9,6 @@ if ($message) {
9
  } else {
10
  }
11
  */
12
- Ecwid_Message_Manager::show_message('no_oauth');
13
  ?>
14
  <div class="wrap ecwid-admin ecwid-dashboard">
15
  <div class="box">
9
  } else {
10
  }
11
  */
 
12
  ?>
13
  <div class="wrap ecwid-admin ecwid-dashboard">
14
  <div class="box">
templates/landing.php CHANGED
@@ -118,7 +118,7 @@
118
  </div>
119
  <div class="ecwid-features-bottom-item-text">
120
  <h3><?php _e('Global Reach', 'ecwid-shopping-cart'); ?></h3>
121
- <p><?php _e('More than 800,000 merchants in 175 countries', 'ecwid-shopping-cart'); ?></p>
122
  </div>
123
  </div>
124
  </div>
118
  </div>
119
  <div class="ecwid-features-bottom-item-text">
120
  <h3><?php _e('Global Reach', 'ecwid-shopping-cart'); ?></h3>
121
+ <p><?php _e('Over 1 million merchants in 175 countries', 'ecwid-shopping-cart'); ?></p>
122
  </div>
123
  </div>
124
  </div>