Version Description
- Improved: trigger in javascript file for add to compare event
Download this release
Release Info
Developer | yithemes |
Plugin | YITH WooCommerce Compare |
Version | 1.0.2 |
Comparing to | |
See all releases |
Code changes from version 1.0.1 to 1.0.2
- README.txt +5 -1
- assets/js/woocompare-admin.js +19 -2
- assets/js/woocompare.js +190 -6
- class.yith-woocompare-admin.php +1 -1
- class.yith-woocompare-frontend.php +1 -1
- class.yith-woocompare-helper.php +1 -1
- class.yith-woocompare.php +1 -1
- functions.yith-woocompare.php +1 -1
- init.php +3 -3
- templates/compare.php +1 -1
- widgets/class.yith-woocompare-widget.php +1 -1
- yit-common/yit-functions.php +23 -0
- yith-woocompare-options.php +1 -1
README.txt
CHANGED
@@ -4,7 +4,7 @@ Contributors: yithemes
|
|
4 |
Tags: woocommerce, compare, compare products, product compare, widget
|
5 |
Requires at least: 3.5.1
|
6 |
Tested up to: 3.5.1
|
7 |
-
Stable tag: 1.0.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -79,6 +79,10 @@ Yes, you can sort the fields in the compare table. You can do it in Woocommerce
|
|
79 |
|
80 |
== Changelog ==
|
81 |
|
|
|
|
|
|
|
|
|
82 |
= 1.0.1 =
|
83 |
|
84 |
* Added: Link/Button text option in plugin options
|
4 |
Tags: woocommerce, compare, compare products, product compare, widget
|
5 |
Requires at least: 3.5.1
|
6 |
Tested up to: 3.5.1
|
7 |
+
Stable tag: 1.0.2
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
79 |
|
80 |
== Changelog ==
|
81 |
|
82 |
+
= 1.0.2 =
|
83 |
+
|
84 |
+
* Improved: trigger in javascript file for add to compare event
|
85 |
+
|
86 |
= 1.0.1 =
|
87 |
|
88 |
* Added: Link/Button text option in plugin options
|
assets/js/woocompare-admin.js
CHANGED
@@ -1,2 +1,19 @@
|
|
1 |
-
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function($) {
|
2 |
+
|
3 |
+
$( ".attributes .fields" ).sortable({
|
4 |
+
cursor: "move",
|
5 |
+
scrollSensitivity: 10,
|
6 |
+
tolerance: "pointer",
|
7 |
+
axis: "y",
|
8 |
+
stop: function(event, ui) {
|
9 |
+
var list = ui.item.parents('.fields'),
|
10 |
+
fields = new Array();
|
11 |
+
$('input[type="checkbox"]', list).each(function(i){
|
12 |
+
fields[i] = $(this).val();
|
13 |
+
});
|
14 |
+
|
15 |
+
list.next().val( fields.join(',') );
|
16 |
+
}
|
17 |
+
});
|
18 |
+
|
19 |
+
});
|
assets/js/woocompare.js
CHANGED
@@ -1,6 +1,190 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function($) {
|
2 |
+
|
3 |
+
// add into table
|
4 |
+
$(document).on( 'click', '.product a.compare', function(e){
|
5 |
+
e.preventDefault();
|
6 |
+
|
7 |
+
var button = $(this),
|
8 |
+
data = {
|
9 |
+
_yitnonce_ajax: yith_woocompare.nonceadd,
|
10 |
+
action: yith_woocompare.actionadd,
|
11 |
+
id: button.data('product_id'),
|
12 |
+
context: 'frontend'
|
13 |
+
},
|
14 |
+
widget_list = $('.yith-woocompare-widget ul.products-list');
|
15 |
+
|
16 |
+
// add ajax loader
|
17 |
+
button.block({message: null, overlayCSS: {background: '#fff url(' + woocommerce_params.ajax_loader_url + ') no-repeat center', backgroundSize: '16px 16px', opacity: 0.6}});
|
18 |
+
widget_list.block({message: null, overlayCSS: {background: '#fff url(' + woocommerce_params.ajax_loader_url + ') no-repeat center', backgroundSize: '16px 16px', opacity: 0.6}});
|
19 |
+
|
20 |
+
$.ajax({
|
21 |
+
type: 'post',
|
22 |
+
url: yith_woocompare.ajaxurl,
|
23 |
+
data: data,
|
24 |
+
dataType: 'json',
|
25 |
+
success: function(response){
|
26 |
+
button.unblock().addClass('added').text( yith_woocompare.added_label );
|
27 |
+
|
28 |
+
// add the product in the widget
|
29 |
+
widget_list.unblock().html( response.widget_table );
|
30 |
+
|
31 |
+
if (yith_woocompare.auto_open == 'yes') $('body').trigger( 'yith_woocompare_open_popup', { response: response.table_url, button: button } );
|
32 |
+
}
|
33 |
+
});
|
34 |
+
});
|
35 |
+
|
36 |
+
// open popup
|
37 |
+
$('body').on( 'yith_woocompare_open_popup', function( e, data ) {
|
38 |
+
var response = data.response;
|
39 |
+
|
40 |
+
if ($(window).width() >= 768) {
|
41 |
+
$.colorbox({
|
42 |
+
href: response,
|
43 |
+
iframe: true,
|
44 |
+
width: '90%',
|
45 |
+
height: '90%',
|
46 |
+
onClosed: function(){
|
47 |
+
var widget_list = $('.yith-woocompare-widget ul.products-list'),
|
48 |
+
data = {
|
49 |
+
action: yith_woocompare.actionview,
|
50 |
+
context: 'frontend'
|
51 |
+
};
|
52 |
+
|
53 |
+
widget_list.block({message: null, overlayCSS: {background: '#fff url(' + woocommerce_params.ajax_loader_url + ') no-repeat center', backgroundSize: '16px 16px', opacity: 0.6}});
|
54 |
+
|
55 |
+
$.ajax({
|
56 |
+
type: 'post',
|
57 |
+
url: yith_woocompare.ajaxurl,
|
58 |
+
data: data,
|
59 |
+
success: function(response){
|
60 |
+
// add the product in the widget
|
61 |
+
widget_list.unblock().html( response );
|
62 |
+
}
|
63 |
+
});
|
64 |
+
}
|
65 |
+
});
|
66 |
+
|
67 |
+
$(window).resize(function () {
|
68 |
+
$.colorbox.resize({
|
69 |
+
width: '90%',
|
70 |
+
height: '90%'
|
71 |
+
});
|
72 |
+
});
|
73 |
+
|
74 |
+
} else {
|
75 |
+
var urlparts = response.split('?');
|
76 |
+
var parameter = 'iframe';
|
77 |
+
if (urlparts.length >= 2) {
|
78 |
+
var prefix = encodeURIComponent(parameter) + '=';
|
79 |
+
var pars = urlparts[1].split(/[&;]/g);
|
80 |
+
for (var i = pars.length; i-- > 0;)
|
81 |
+
if (pars[i].lastIndexOf(prefix, 0) !== -1)
|
82 |
+
pars.splice(i, 1);
|
83 |
+
response = urlparts[0] + '?' + pars.join('&');
|
84 |
+
}
|
85 |
+
|
86 |
+
window.open(response, yith_woocompare.table_title);
|
87 |
+
}
|
88 |
+
});
|
89 |
+
|
90 |
+
// remove from table
|
91 |
+
$(document).on( 'click', '.remove a', function(e){
|
92 |
+
e.preventDefault();
|
93 |
+
|
94 |
+
var button = $(this),
|
95 |
+
data = {
|
96 |
+
_yitnonce_ajax: yith_woocompare.nonceremove,
|
97 |
+
action: yith_woocompare.actionremove,
|
98 |
+
id: button.data('product_id'),
|
99 |
+
context: 'frontend'
|
100 |
+
},
|
101 |
+
product_cell = $( 'td.product_' + data.id + ', th.product_' + data.id );
|
102 |
+
|
103 |
+
// add ajax loader
|
104 |
+
button.block({message: null, overlayCSS: {background: '#fff url(' + woocommerce_params.ajax_loader_url + ') no-repeat center', backgroundSize: '16px 16px', opacity: 0.6}});
|
105 |
+
|
106 |
+
$.ajax({
|
107 |
+
type: 'post',
|
108 |
+
url: yith_woocompare.ajaxurl,
|
109 |
+
data: data,
|
110 |
+
dataType:'html',
|
111 |
+
success: function(response){
|
112 |
+
button.unblock();
|
113 |
+
|
114 |
+
// in compare table
|
115 |
+
var table = $(response).filter('table.compare-list');
|
116 |
+
$('body > table.compare-list').replaceWith( table );
|
117 |
+
|
118 |
+
// removed trigger
|
119 |
+
$(window).trigger('yith_woocompare_product_removed');
|
120 |
+
}
|
121 |
+
});
|
122 |
+
});
|
123 |
+
|
124 |
+
|
125 |
+
// General link to open the compare table
|
126 |
+
$('.yith-woocompare-open a, a.yith-woocompare-open').on('click', function(e){
|
127 |
+
e.preventDefault();
|
128 |
+
$('body').trigger('yith_woocompare_open_popup', { response: yith_add_query_arg('action', yith_woocompare.actionview) + '&iframe=true' });
|
129 |
+
});
|
130 |
+
|
131 |
+
|
132 |
+
|
133 |
+
// ##### WIDGET ######
|
134 |
+
|
135 |
+
$('.yith-woocompare-widget')
|
136 |
+
|
137 |
+
// view table (click on compare
|
138 |
+
.on('click', 'a.compare', function (e) {
|
139 |
+
e.preventDefault();
|
140 |
+
$('body').trigger('yith_woocompare_open_popup', { response: $(this).attr('href') });
|
141 |
+
})
|
142 |
+
|
143 |
+
// remove product & clear all
|
144 |
+
.on('click', 'li a.remove, a.clear-all', function (e) {
|
145 |
+
e.preventDefault();
|
146 |
+
|
147 |
+
var button = $(this),
|
148 |
+
data = {
|
149 |
+
_yitnonce_ajax: yith_woocompare.nonceremove,
|
150 |
+
action: yith_woocompare.actionremove,
|
151 |
+
id: button.data('product_id'),
|
152 |
+
context: 'frontend',
|
153 |
+
responseType: 'product_list'
|
154 |
+
},
|
155 |
+
product_list = button.parents('.yith-woocompare-widget').find('ul.products-list');
|
156 |
+
|
157 |
+
// add ajax loader
|
158 |
+
product_list.block({message: null, overlayCSS: {background: '#fff url(' + woocommerce_params.ajax_loader_url + ') no-repeat center', backgroundSize: '16px 16px', opacity: 0.6}});
|
159 |
+
|
160 |
+
$.ajax({
|
161 |
+
type: 'post',
|
162 |
+
url: yith_woocompare.ajaxurl,
|
163 |
+
data: data,
|
164 |
+
dataType: 'html',
|
165 |
+
success: function (response) {
|
166 |
+
product_list.html(response);
|
167 |
+
product_list.unblock();
|
168 |
+
}
|
169 |
+
});
|
170 |
+
});
|
171 |
+
|
172 |
+
|
173 |
+
function yith_add_query_arg(key, value)
|
174 |
+
{
|
175 |
+
key = escape(key); value = escape(value);
|
176 |
+
|
177 |
+
var s = document.location.search;
|
178 |
+
var kvp = key+"="+value;
|
179 |
+
|
180 |
+
var r = new RegExp("(&|\\?)"+key+"=[^\&]*");
|
181 |
+
|
182 |
+
s = s.replace(r,"$1"+kvp);
|
183 |
+
|
184 |
+
if(!RegExp.$1) {s += (s.length>0 ? '&' : '?') + kvp;};
|
185 |
+
|
186 |
+
//again, do what you will here
|
187 |
+
return s;
|
188 |
+
}
|
189 |
+
|
190 |
+
});
|
class.yith-woocompare-admin.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH WooCommerce Magnifier
|
7 |
-
* @version 1.0.
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH WooCommerce Magnifier
|
7 |
+
* @version 1.0.2
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
class.yith-woocompare-frontend.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH Woocommerce Compare
|
7 |
-
* @version 1.0.
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH Woocommerce Compare
|
7 |
+
* @version 1.0.2
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
class.yith-woocompare-helper.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH WooCommerce Compare
|
7 |
-
* @version 1.0.
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH WooCommerce Compare
|
7 |
+
* @version 1.0.2
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
class.yith-woocompare.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH Woocommerce Compare
|
7 |
-
* @version 1.0.
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH Woocommerce Compare
|
7 |
+
* @version 1.0.2
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
functions.yith-woocompare.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH Woocommerce Compare
|
7 |
-
* @version 1.0.
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH Woocommerce Compare
|
7 |
+
* @version 1.0.2
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
init.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: YITH Woocommerce Compare
|
4 |
* Plugin URI: http://yithemes.com/
|
5 |
* Description: YITH Woocommerce Compare allows you to compare more products with woocommerce plugin, through product attributes.
|
6 |
-
* Version: 1.0.
|
7 |
* Author: Your Inspiration Themes
|
8 |
* Author URI: http://yithemes.com/
|
9 |
* Text Domain: yit
|
@@ -11,7 +11,7 @@
|
|
11 |
*
|
12 |
* @author Your Inspiration Themes
|
13 |
* @package YITH Woocommerce Compare
|
14 |
-
* @version 1.0.
|
15 |
*/
|
16 |
/* Copyright 2013 Your Inspiration Themes (email : plugins@yithemes.com)
|
17 |
|
@@ -44,7 +44,7 @@ function yith_woocompare_constructor() {
|
|
44 |
load_plugin_textdomain( 'yit', false, dirname( plugin_basename( __FILE__ ) ). '/languages/' );
|
45 |
|
46 |
define( 'YITH_WOOCOMPARE', true );
|
47 |
-
define( 'YITH_WOOCOMPARE_VERSION', '1.0.
|
48 |
define( 'YITH_WOOCOMPARE_URL', plugin_dir_url( __FILE__ ) );
|
49 |
define( 'YITH_WOOCOMPARE_DIR', plugin_dir_path( __FILE__ ) );
|
50 |
|
3 |
* Plugin Name: YITH Woocommerce Compare
|
4 |
* Plugin URI: http://yithemes.com/
|
5 |
* Description: YITH Woocommerce Compare allows you to compare more products with woocommerce plugin, through product attributes.
|
6 |
+
* Version: 1.0.2
|
7 |
* Author: Your Inspiration Themes
|
8 |
* Author URI: http://yithemes.com/
|
9 |
* Text Domain: yit
|
11 |
*
|
12 |
* @author Your Inspiration Themes
|
13 |
* @package YITH Woocommerce Compare
|
14 |
+
* @version 1.0.2
|
15 |
*/
|
16 |
/* Copyright 2013 Your Inspiration Themes (email : plugins@yithemes.com)
|
17 |
|
44 |
load_plugin_textdomain( 'yit', false, dirname( plugin_basename( __FILE__ ) ). '/languages/' );
|
45 |
|
46 |
define( 'YITH_WOOCOMPARE', true );
|
47 |
+
define( 'YITH_WOOCOMPARE_VERSION', '1.0.2' );
|
48 |
define( 'YITH_WOOCOMPARE_URL', plugin_dir_url( __FILE__ ) );
|
49 |
define( 'YITH_WOOCOMPARE_DIR', plugin_dir_path( __FILE__ ) );
|
50 |
|
templates/compare.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH Woocommerce Compare
|
7 |
-
* @version 1.0.
|
8 |
*/
|
9 |
|
10 |
global $product;
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH Woocommerce Compare
|
7 |
+
* @version 1.0.2
|
8 |
*/
|
9 |
|
10 |
global $product;
|
widgets/class.yith-woocompare-widget.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH WooCommerce Ajax Navigation
|
7 |
-
* @version 1.0.
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH WooCommerce Ajax Navigation
|
7 |
+
* @version 1.0.2
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
yit-common/yit-functions.php
CHANGED
@@ -205,4 +205,27 @@ if( !function_exists('yit_typo_option_to_css') ) {
|
|
205 |
|
206 |
return implode( "\n", $attrs ) . "\n";
|
207 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
}
|
205 |
|
206 |
return implode( "\n", $attrs ) . "\n";
|
207 |
}
|
208 |
+
}
|
209 |
+
|
210 |
+
|
211 |
+
if( !function_exists('yit_curPageURL') ) {
|
212 |
+
/**
|
213 |
+
* Retrieve the current complete url
|
214 |
+
*
|
215 |
+
* @since 1.0
|
216 |
+
*/
|
217 |
+
function yit_curPageURL() {
|
218 |
+
$pageURL = 'http';
|
219 |
+
if ( isset( $_SERVER["HTTPS"] ) AND $_SERVER["HTTPS"] == "on" )
|
220 |
+
$pageURL .= "s";
|
221 |
+
|
222 |
+
$pageURL .= "://";
|
223 |
+
|
224 |
+
if ( isset( $_SERVER["SERVER_PORT"] ) AND $_SERVER["SERVER_PORT"] != "80" )
|
225 |
+
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
|
226 |
+
else
|
227 |
+
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
|
228 |
+
|
229 |
+
return $pageURL;
|
230 |
+
}
|
231 |
}
|
yith-woocompare-options.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH Woocommerce Compare
|
7 |
-
* @version 1.0.
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|
4 |
*
|
5 |
* @author Your Inspiration Themes
|
6 |
* @package YITH Woocommerce Compare
|
7 |
+
* @version 1.0.2
|
8 |
*/
|
9 |
|
10 |
if ( !defined( 'YITH_WOOCOMPARE' ) ) { exit; } // Exit if accessed directly
|