Ecwid Ecommerce Shopping Cart - Version 0.8

Version Description

  • [+] New minicart widget: http://kb.ecwid.com/w/page/15853298/Minicart#Miniview
  • [+] Stores are loaded faster now, if some Ecwid sidebar widgets are enabled.
  • [+] Inline SEO Catalog generates "clean" SEO-friendly page titles now.
  • [!] Issue with Inline SEO Catalog and enabled "Canonical URLs" feature has been fixed.
Download this release

Release Info

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

Code changes from version 0.7 to 0.8

Files changed (3) hide show
  1. ecwid-shopping-cart.php +114 -65
  2. lib/ecwid_product_api.php +1 -1
  3. readme.txt +8 -2
ecwid-shopping-cart.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Ecwid Shopping Cart
4
  Plugin URI: http://www.ecwid.com/
5
  Description: Ecwid is a free full-featured shopping cart. It can be easily integreted with any Wordpress blog and takes less than 5 minutes to set up.
6
  Author: Ecwid Team
7
- Version: 0.7
8
  Author URI: http://www.ecwid.com/
9
  */
10
 
@@ -12,9 +12,8 @@ register_activation_hook( __FILE__, 'ecwid_store_activate' );
12
  register_deactivation_hook( __FILE__, 'ecwid_store_deactivate' );
13
 
14
  if (!empty($_GET['ecwid_product_id']) || !empty($_GET['ecwid_category_id'])) {
15
- remove_action( 'wp_head','rel_canonical');
16
  }
17
-
18
  define("APP_ECWID_COM","app.ecwid.com");
19
 
20
  if ( is_admin() ){
@@ -28,15 +27,40 @@ if ( is_admin() ){
28
  add_shortcode('ecwid_searchbox', 'ecwid_searchbox_shortcode');
29
  add_shortcode('ecwid_categories', 'ecwid_categories_shortcode');
30
  add_shortcode('ecwid_productbrowser', 'ecwid_productbrowser_shortcode');
 
 
31
  }
32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
  function ecwid_script_shortcode() {
36
- $ecwid_protocol = get_ecwid_protocol();
37
- $store_id = get_ecwid_store_id();
38
- $s = "<div><script type=\"text/javascript\" src=\"$ecwid_protocol://" . APP_ECWID_COM . "/script.js?$store_id\"></script></div>";
39
- return $s;
40
  }
41
 
42
 
@@ -77,6 +101,7 @@ EOT;
77
  }
78
 
79
  function ecwid_productbrowser_shortcode() {
 
80
  $store_id = get_ecwid_store_id();
81
  $list_of_views = array('list','grid','table');
82
 
@@ -136,6 +161,7 @@ function ecwid_productbrowser_shortcode() {
136
  $ecwid_default_category_str = ',"defaultCategoryId='. intval($_GET['ecwid_category_id']) .'"';
137
  }
138
  include_once(ABSPATH . 'wp-content/plugins/ecwid-shopping-cart/lib/ecwid_catalog.php');
 
139
  $noscript_str = '<noscript>'. show_ecwid_catalog($store_id) . '</noscript>';
140
  } else {
141
  $noscript_str = "<noscript>Your browser does not support JavaScript.<a href=\"{$ecwid_mobile_catalog_link}\">HTML version of this store</a></noscript>";
@@ -154,10 +180,7 @@ EOT;
154
  function ecwid_store_activate() {
155
  $my_post = array();
156
  $content = <<<EOT
157
- <!-- Ecwid code start v0.2. Please do not remove the line below otherwise your Ecwid shopping cart will not work. -->
158
- [ecwid_script] [ecwid_minicart] [ecwid_searchbox] [ecwid_categories] [ecwid_productbrowser]
159
- <!-- Ecwid code end -->
160
-
161
  EOT;
162
  add_option("ecwid_store_page_id", '', '', 'yes');
163
  add_option("ecwid_store_id", '1003', '', 'yes');
@@ -266,7 +289,7 @@ function ecwid_options_add_page() {
266
  }
267
 
268
  function ecwid_options_do_page() {
269
- $store_id = get_ecwid_store_id();
270
  $ecwid_enable_minicart = get_option('ecwid_enable_minicart');
271
  $ecwid_show_categories = get_option('ecwid_show_categories');
272
  $ecwid_show_search_box = get_option('ecwid_show_search_box');
@@ -326,6 +349,10 @@ function ecwid_options_do_page() {
326
  else if($api->error_code != '') {
327
  $ecwid_noscript_seo_catalog_message = 'Connection to Ecwid servers failed. Error code: '. $api->error_code;
328
  $ecwid_settings_message = 'Connection to Ecwid servers failed. Error code: '. $api->error_code;
 
 
 
 
329
  }
330
  } # no $api
331
  else {
@@ -358,8 +385,13 @@ function ecwid_options_do_page() {
358
  <?php settings_fields('ecwid_options_page'); ?>
359
  <table class="form-table">
360
  <tr><th colspan="2" style="padding:0px;margin:0px;"><h3 style="padding:0px;margin:0px;">General</h3></th></tr>
361
- <tr><th scope="row"><a href="http://kb.ecwid.com/Instruction-on-how-to-get-your-free-Store-ID-(for-WordPress)" target="_blank">Store ID</a>:</th>
362
- <td><input type="text" name="ecwid_store_id" value="<?php if ($store_id != 1003) echo $store_id; ?>" /></td>
 
 
 
 
 
363
  </tr>
364
  <tr><th scope="row">
365
  <label for="ecwid_show_categories">Show horizontal categories?</label> </th>
@@ -482,51 +514,7 @@ Default category ID</label>
482
  if ($disabled) {
483
  ?>
484
 
485
- <div id="ecwid-need-manual-editing" >
486
- <h4>Why I cannot change some options?</h4>
487
-
488
- Most likely you've upgraded <strong>Ecwid Shopping Cart</strong> plugin from <strong>v0.1</strong> to the next one. The Ecwid integration code was changed in this new version. So if you want to use the new options you should update the code manually. This procedure isn't that complex and will take just a few minutes.
489
- <br />
490
- <ul style="padding-left:30px;list-style-type:disc;" id="ecwid-need-manual-editing-ul">
491
- <li>
492
- Open <a href="page.php?action=edit&post=<?php echo intval($ecwid_page_id); ?>">your store page for editing</a>.
493
- </li>
494
-
495
- <li>
496
- Make sure that you change edit mode to "HTML" instead of "Visual".
497
- </li>
498
-
499
-
500
- <li>
501
- Replace these lines:<br /><br />
502
-
503
- <pre style="background-color:#d3e9e9;">
504
- &lt;!-- Ecwid code start --&gt;
505
- &lt;!-- Please do not remove the line below otherwise your Ecwid shopping cart will not work.
506
- Start of special code: --&gt;
507
- [ecwid_script]
508
- &lt;!-- End of special code. --&gt;
509
-
510
- &lt;!-- Feel free to modify the code below: add new widgets, alter the existing ones. --&gt;
511
- &lt;div&gt;&lt;script type=&quot;text/javascript&quot;&gt; xCategories(); &lt;/script&gt;&lt;/div&gt;
512
- &lt;div&gt;&lt;script type=&quot;text/javascript&quot;&gt; xProductBrowser(&quot;itemsPerRow=3&quot;,&quot;itemsPerPage=9&quot;,&quot;searchResultsItemsPerPage=10&quot;); &lt;/script&gt;&lt;/div&gt;
513
- &lt;div&gt;&lt;script type=&quot;text/javascript&quot;&gt; xMinicart(&quot;style=&quot;,&quot;layout=attachToCategories&quot;); &lt;/script&gt;&lt;/div&gt;
514
- &lt;!-- Ecwid code end --&gt;
515
- </pre>
516
- <br /><br />
517
- with these ones:
518
- <br /><br />
519
- <pre style="background-color:#d3e9e9;">
520
- &lt;!-- Ecwid code start v0.2. Please do not remove the line below otherwise your Ecwid shopping cart will not work. --&gt;
521
- [ecwid_script] [ecwid_minicart] [ecwid_searchbox] [ecwid_categories] [ecwid_productbrowser]
522
- &lt;!-- Ecwid code end --&gt;
523
- </pre>
524
- </li>
525
-
526
- <li>Save the changes</li>
527
-
528
- </ul>
529
-
530
  </div>
531
 
532
 
@@ -603,7 +591,7 @@ class EcwidMinicartWidget extends WP_Widget {
603
 
604
  function EcwidMinicartWidget() {
605
  $widget_ops = array('classname' => 'widget_ecwid_minicart', 'description' => __( "Your store's minicart") );
606
- $this->WP_Widget('ecwidminicart', __('Ecwid Minicart'), $widget_ops);
607
  }
608
 
609
  function widget($args, $instance) {
@@ -617,7 +605,9 @@ class EcwidMinicartWidget extends WP_Widget {
617
 
618
  $store_id = get_ecwid_store_id();
619
  $ecwid_protocol = get_ecwid_protocol();
620
- echo "<div><script type=\"text/javascript\" src=\"$ecwid_protocol://" . APP_ECWID_COM . "/script.js?$store_id\"></script>";
 
 
621
 
622
 
623
  $ecwid_page_id = get_option("ecwid_store_page_id");
@@ -650,6 +640,60 @@ EOT;
650
 
651
  }
652
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
653
  class EcwidSearchWidget extends WP_Widget {
654
 
655
  function EcwidSearchWidget() {
@@ -667,8 +711,10 @@ class EcwidSearchWidget extends WP_Widget {
667
  echo $before_title . $title . $after_title;
668
 
669
  $store_id = get_ecwid_store_id();
670
- $ecwid_protocol = get_ecwid_protocol();
671
- echo "<div><script type=\"text/javascript\" src=\"$ecwid_protocol://" . APP_ECWID_COM . "/script.js?$store_id\"></script>";
 
 
672
  $ecwid_page_id = get_option("ecwid_store_page_id");
673
  $page_url = get_page_link($ecwid_page_id);
674
  $_tmp_page = get_page($ecwid_page_id);
@@ -716,8 +762,10 @@ class EcwidVCategoriesWidget extends WP_Widget {
716
  echo $before_title . $title . $after_title;
717
 
718
  $store_id = get_ecwid_store_id();
719
- $ecwid_protocol = get_ecwid_protocol();
720
- echo "<div><script type=\"text/javascript\" src=\"$ecwid_protocol://" . APP_ECWID_COM . "/script.js?$store_id\"></script>";
 
 
721
  $ecwid_page_id = get_option("ecwid_store_page_id");
722
  $page_url = get_page_link($ecwid_page_id);
723
  $_tmp_page = get_page($ecwid_page_id);
@@ -753,6 +801,7 @@ function ecwid_sidebar_widgets_init() {
753
  register_widget('EcwidMinicartWidget');
754
  register_widget('EcwidSearchWidget');
755
  register_widget('EcwidVCategoriesWidget');
 
756
  }
757
  add_action('widgets_init', 'ecwid_sidebar_widgets_init');
758
 
4
  Plugin URI: http://www.ecwid.com/
5
  Description: Ecwid is a free full-featured shopping cart. It can be easily integreted with any Wordpress blog and takes less than 5 minutes to set up.
6
  Author: Ecwid Team
7
+ Version: 0.8
8
  Author URI: http://www.ecwid.com/
9
  */
10
 
12
  register_deactivation_hook( __FILE__, 'ecwid_store_deactivate' );
13
 
14
  if (!empty($_GET['ecwid_product_id']) || !empty($_GET['ecwid_category_id'])) {
15
+ remove_action( 'wp_head','rel_canonical');
16
  }
 
17
  define("APP_ECWID_COM","app.ecwid.com");
18
 
19
  if ( is_admin() ){
27
  add_shortcode('ecwid_searchbox', 'ecwid_searchbox_shortcode');
28
  add_shortcode('ecwid_categories', 'ecwid_categories_shortcode');
29
  add_shortcode('ecwid_productbrowser', 'ecwid_productbrowser_shortcode');
30
+ add_filter('wp_title', 'ecwid_seo_title', 0 );
31
+ $ecwid_seo_product_title = '';
32
  }
33
 
34
+ function ecwid_seo_title($content) {
35
+ $ecwid_noscript_seo_catalog = get_option('ecwid_noscript_seo_catalog');
36
+ if (!empty($_GET['ecwid_product_id']) && !empty($ecwid_noscript_seo_catalog)) {
37
+ $ecwid_seo_product_title = '';
38
+ include_once "lib/ecwid_product_api.php";
39
+ $ecwid_store_id = intval(get_ecwid_store_id());
40
+ $api = new EcwidProductApi($ecwid_store_id);
41
+ $ecwid_product = $api->get_product($_GET['ecwid_product_id']);
42
+ $ecwid_seo_product_title = $ecwid_product['name'];
43
+ return $ecwid_seo_product_title." | ";
44
+ }
45
+ else {
46
+ return $content;
47
+ }
48
+ }
49
 
50
+ function ecwid_get_scriptjs_code() {
51
+ if (!defined('ECWID_SCRIPTJS')) {
52
+ $ecwid_protocol = get_ecwid_protocol();
53
+ $store_id = get_ecwid_store_id();
54
+ $s = "<script type=\"text/javascript\" src=\"$ecwid_protocol://" . APP_ECWID_COM . "/script.js?$store_id\"></script>";
55
+ define('ECWID_SCRIPTJS','Yep');
56
+ return $s;
57
+ } else {
58
+ return;
59
+ }
60
+ }
61
 
62
  function ecwid_script_shortcode() {
63
+ return '<div>' . ecwid_get_scriptjs_code() . '</div>';
 
 
 
64
  }
65
 
66
 
101
  }
102
 
103
  function ecwid_productbrowser_shortcode() {
104
+ global $ecwid_seo_product_title;
105
  $store_id = get_ecwid_store_id();
106
  $list_of_views = array('list','grid','table');
107
 
161
  $ecwid_default_category_str = ',"defaultCategoryId='. intval($_GET['ecwid_category_id']) .'"';
162
  }
163
  include_once(ABSPATH . 'wp-content/plugins/ecwid-shopping-cart/lib/ecwid_catalog.php');
164
+
165
  $noscript_str = '<noscript>'. show_ecwid_catalog($store_id) . '</noscript>';
166
  } else {
167
  $noscript_str = "<noscript>Your browser does not support JavaScript.<a href=\"{$ecwid_mobile_catalog_link}\">HTML version of this store</a></noscript>";
180
  function ecwid_store_activate() {
181
  $my_post = array();
182
  $content = <<<EOT
183
+ <!-- Ecwid code. Please do not remove this line otherwise your Ecwid shopping cart will not work properly. --> [ecwid_script] [ecwid_minicart] [ecwid_searchbox] [ecwid_categories] [ecwid_productbrowser] <!-- Ecwid code end -->
 
 
 
184
  EOT;
185
  add_option("ecwid_store_page_id", '', '', 'yes');
186
  add_option("ecwid_store_id", '1003', '', 'yes');
289
  }
290
 
291
  function ecwid_options_do_page() {
292
+ $store_id = get_ecwid_store_id();
293
  $ecwid_enable_minicart = get_option('ecwid_enable_minicart');
294
  $ecwid_show_categories = get_option('ecwid_show_categories');
295
  $ecwid_show_search_box = get_option('ecwid_show_search_box');
349
  else if($api->error_code != '') {
350
  $ecwid_noscript_seo_catalog_message = 'Connection to Ecwid servers failed. Error code: '. $api->error_code;
351
  $ecwid_settings_message = 'Connection to Ecwid servers failed. Error code: '. $api->error_code;
352
+ if ($api->error_code == 0) {
353
+ $ecwid_noscript_seo_catalog_message .= '&nbsp;'. $api->error;
354
+ $ecwid_settings_message .= '&nbsp;'. $api->error;
355
+ }
356
  }
357
  } # no $api
358
  else {
385
  <?php settings_fields('ecwid_options_page'); ?>
386
  <table class="form-table">
387
  <tr><th colspan="2" style="padding:0px;margin:0px;"><h3 style="padding:0px;margin:0px;">General</h3></th></tr>
388
+ <tr><th scope="row"><a href="http://kb.ecwid.com/Instruction-on-how-to-get-your-free-Store-ID-(for-WordPress)" target="_blank">Store ID</a></th>
389
+ <td><input type="text" name="ecwid_store_id" value="<?php if ($store_id != 1003) echo $store_id; ?>" />
390
+ <?php if ($store_id == 1003) {
391
+ echo '&nbsp;&nbsp;&nbsp;&nbsp;<img src="//www.ecwid.com/wp-content/uploads/ecwid_wp_attention.gif" alt="">&nbsp;The Store ID isn\'t set up. Please enter your Store ID to assign your site with your Ecwid store and show your products. <a href="http://kb.ecwid.com/Instruction-on-how-to-get-your-free-Store-ID-(for-WordPress)" target="_blank">How to get this free ID</a>.';
392
+ }
393
+ ?>
394
+ </td>
395
  </tr>
396
  <tr><th scope="row">
397
  <label for="ecwid_show_categories">Show horizontal categories?</label> </th>
514
  if ($disabled) {
515
  ?>
516
 
517
+ <div id="ecwid-need-manual-editing" >
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
518
  </div>
519
 
520
 
591
 
592
  function EcwidMinicartWidget() {
593
  $widget_ops = array('classname' => 'widget_ecwid_minicart', 'description' => __( "Your store's minicart") );
594
+ $this->WP_Widget('ecwidminicart', __('Ecwid Shopping Bag (Normal)'), $widget_ops);
595
  }
596
 
597
  function widget($args, $instance) {
605
 
606
  $store_id = get_ecwid_store_id();
607
  $ecwid_protocol = get_ecwid_protocol();
608
+ echo '<div>';
609
+ echo ecwid_get_scriptjs_code();
610
+ //echo "<div><script type=\"text/javascript\" src=\"$ecwid_protocol://" . APP_ECWID_COM . "/script.js?$store_id\"></script>";
611
 
612
 
613
  $ecwid_page_id = get_option("ecwid_store_page_id");
640
 
641
  }
642
 
643
+ class EcwidMinicartMiniViewWidget extends WP_Widget {
644
+
645
+ function EcwidMinicartMiniViewWidget() {
646
+ $widget_ops = array('classname' => 'widget_ecwid_minicart_miniview', 'description' => __( "Your store's minicart") );
647
+ $this->WP_Widget('ecwidminicart_miniview', __('Ecwid Shopping Bag (Mini view)'), $widget_ops);
648
+ }
649
+
650
+ function widget($args, $instance) {
651
+ extract($args);
652
+ $title = apply_filters('widget_title', empty($instance['title']) ? '&nbsp;' : $instance['title']);
653
+
654
+ echo $before_widget;
655
+
656
+ if ( $title )
657
+ echo $before_title . $title . $after_title;
658
+
659
+ $store_id = get_ecwid_store_id();
660
+ $ecwid_protocol = get_ecwid_protocol();
661
+ echo '<div>';
662
+ echo ecwid_get_scriptjs_code();
663
+ //echo "<div><script type=\"text/javascript\" src=\"$ecwid_protocol://" . APP_ECWID_COM . "/script.js?$store_id\"></script>";
664
+
665
+
666
+ $ecwid_page_id = get_option("ecwid_store_page_id");
667
+ $page_url = get_page_link($ecwid_page_id);
668
+ $_tmp_page = get_page($ecwid_page_id);
669
+ if (!empty($page_url) && $_tmp_page != null)
670
+ echo "<script type=\"text/javascript\">var ecwid_ProductBrowserURL = \"$page_url\";</script>";
671
+ echo <<<EOT
672
+ <script type="text/javascript"> xMinicart("style=left:10px","layout=Mini"); </script>
673
+ </div>
674
+ EOT;
675
+
676
+ echo $after_widget;
677
+ }
678
+
679
+ function update($new_instance, $old_instance){
680
+ $instance = $old_instance;
681
+ $instance['title'] = strip_tags(stripslashes($new_instance['title']));
682
+
683
+ return $instance;
684
+ }
685
+
686
+ function form($instance){
687
+ $instance = wp_parse_args( (array) $instance, array('title'=>'') );
688
+
689
+ $title = htmlspecialchars($instance['title']);
690
+
691
+ echo '<p><label for="' . $this->get_field_name('title') . '">' . __('Title:') . ' <input style="width:100%;" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></label></p>';
692
+ }
693
+
694
+ }
695
+
696
+
697
  class EcwidSearchWidget extends WP_Widget {
698
 
699
  function EcwidSearchWidget() {
711
  echo $before_title . $title . $after_title;
712
 
713
  $store_id = get_ecwid_store_id();
714
+ $ecwid_protocol = get_ecwid_protocol();
715
+ echo '<div>';
716
+ echo ecwid_get_scriptjs_code();
717
+ //echo "<div><script type=\"text/javascript\" src=\"$ecwid_protocol://" . APP_ECWID_COM . "/script.js?$store_id\"></script>";
718
  $ecwid_page_id = get_option("ecwid_store_page_id");
719
  $page_url = get_page_link($ecwid_page_id);
720
  $_tmp_page = get_page($ecwid_page_id);
762
  echo $before_title . $title . $after_title;
763
 
764
  $store_id = get_ecwid_store_id();
765
+ $ecwid_protocol = get_ecwid_protocol();
766
+ echo '<div>';
767
+ echo ecwid_get_scriptjs_code();
768
+ // echo "<div><script type=\"text/javascript\" src=\"$ecwid_protocol://" . APP_ECWID_COM . "/script.js?$store_id\"></script>";
769
  $ecwid_page_id = get_option("ecwid_store_page_id");
770
  $page_url = get_page_link($ecwid_page_id);
771
  $_tmp_page = get_page($ecwid_page_id);
801
  register_widget('EcwidMinicartWidget');
802
  register_widget('EcwidSearchWidget');
803
  register_widget('EcwidVCategoriesWidget');
804
+ register_widget('EcwidMinicartMiniViewWidget');
805
  }
806
  add_action('widgets_init', 'ecwid_sidebar_widgets_init');
807
 
lib/ecwid_product_api.php CHANGED
@@ -32,7 +32,7 @@ class EcwidProductApi {
32
  if (intval($timeout) <= 0)
33
  $timeout = 90;
34
  if (!function_exists('curl_init'))
35
- return array("code"=>"0","data"=>"libcurl is not installed");
36
  $headers[] = "Content-Type: application/x-www-form-urlencoded";
37
  $ch = curl_init();
38
 
32
  if (intval($timeout) <= 0)
33
  $timeout = 90;
34
  if (!function_exists('curl_init'))
35
+ return array("code"=>"0","data"=>"The libcurl module isn't installed on your server. Please contact your hosting or server administrator to have it installed.");
36
  $headers[] = "Content-Type: application/x-www-form-urlencoded";
37
  $ch = curl_init();
38
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: Ecwid Team
3
  Tags: shopping cart, ecommerce, e-commerce, paypal, google checkout, 2checkout, store, shop, product catalog, inventory
4
  Requires at least: 2.8
5
  Tested up to: 3.2
6
- Stable tag: 0.7
7
 
8
  Ecwid is a free full-featured shopping cart that can easily be added to any blog
9
  and takes less than 5 minutes to set up.
@@ -42,8 +42,14 @@ Links
42
  - Knowledge Base: [http://kb.ecwid.com](http://kb.ecwid.com)
43
 
44
  == Changelog ==
 
 
 
 
 
 
45
  = 0.7 =
46
- - [+] The "Inline SEO catalog" feature didn't work correctly with WP
47
  permalinks. Fixed.
48
 
49
  = 0.6 =
3
  Tags: shopping cart, ecommerce, e-commerce, paypal, google checkout, 2checkout, store, shop, product catalog, inventory
4
  Requires at least: 2.8
5
  Tested up to: 3.2
6
+ Stable tag: 0.8
7
 
8
  Ecwid is a free full-featured shopping cart that can easily be added to any blog
9
  and takes less than 5 minutes to set up.
42
  - Knowledge Base: [http://kb.ecwid.com](http://kb.ecwid.com)
43
 
44
  == Changelog ==
45
+ = 0.8 =
46
+ - [+] New minicart widget: http://kb.ecwid.com/w/page/15853298/Minicart#Miniview
47
+ - [+] Stores are loaded faster now, if some Ecwid sidebar widgets are enabled.
48
+ - [+] Inline SEO Catalog generates "clean" SEO-friendly page titles now.
49
+ - [!] Issue with Inline SEO Catalog and enabled "Canonical URLs" feature has been fixed.
50
+
51
  = 0.7 =
52
+ - [!] The "Inline SEO catalog" feature didn't work correctly with WP
53
  permalinks. Fixed.
54
 
55
  = 0.6 =