Version Description
- 2019-07-04
Download this release
Release Info
Developer | codeinwp |
Plugin | WP Product Review Lite |
Version | 3.7.0 |
Comparing to | |
See all releases |
Code changes from version 3.6.1 to 3.7.0
- CHANGELOG.md +7 -0
- assets/css/comments.css +52 -0
- assets/css/rating-amp.css +20 -132
- assets/css/style2.css +1 -1
- assets/css/{upsell.css → support.css} +0 -0
- assets/js/main.js +37 -27
- includes/admin/class-wppr-admin.php +38 -19
- includes/admin/class-wppr-global-settings.php +23 -0
- includes/admin/helpers/class-wppr-html-fields.php +36 -0
- includes/admin/layouts/support-tab.php +14 -0
- includes/admin/layouts/support-tpl.php +43 -0
- includes/admin/layouts/{upsell-tpl.php → upsell-tab.php} +0 -7
- includes/admin/models/class-wppr-schema-model.php +1 -1
- includes/class-wppr.php +3 -1
- includes/functions.php +66 -40
- includes/public/class-wppr-public.php +95 -28
- includes/public/layouts/comment-rating-slider-tpl.php +24 -0
- includes/public/layouts/comment-rating-star-tpl.php +27 -0
- includes/public/layouts/default.php +1 -1
- includes/public/layouts/style1.php +1 -1
- includes/public/layouts/widget/default.php +1 -1
- package-lock.json +126 -147
- readme.md +14 -8
- readme.txt +33 -8
- screenshot-1.png +0 -0
- screenshot-2.png +0 -0
- screenshot-3.png +0 -0
- screenshot-4.png +0 -0
- screenshot-5.png +0 -0
- screenshot-6.png +0 -0
- screenshot-7.png +0 -0
- themeisle-hash.json +1 -1
- vendor/autoload.php +1 -1
- vendor/autoload_52.php +1 -1
- vendor/codeinwp/themeisle-sdk/CHANGELOG.md +24 -0
- vendor/codeinwp/themeisle-sdk/load.php +1 -1
- vendor/codeinwp/themeisle-sdk/src/Modules/Dashboard_widget.php +2 -2
- vendor/codeinwp/themeisle-sdk/src/Modules/Endpoint.php +1 -1
- vendor/codeinwp/themeisle-sdk/src/Modules/Licenser.php +1 -22
- vendor/codeinwp/themeisle-sdk/src/Modules/Uninstall_feedback.php +2 -2
- vendor/codeinwp/themeisle-sdk/src/Product.php +7 -0
- vendor/composer/autoload_real.php +5 -5
- vendor/composer/autoload_real_52.php +3 -3
- vendor/composer/installed.json +6 -6
- wp-product-review.php +3 -2
CHANGELOG.md
CHANGED
@@ -1,4 +1,11 @@
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
### v3.6.1 - 2019-05-22
|
3 |
**Changes:**
|
4 |
* Fix error in structured data
|
1 |
|
2 |
+
### v3.7.0 - 2019-07-04
|
3 |
+
**Changes:**
|
4 |
+
* Add rating scale out of 5
|
5 |
+
* Add star rating
|
6 |
+
* Fix UI for AMP requests
|
7 |
+
* Added filter to disable comments per review
|
8 |
+
|
9 |
### v3.6.1 - 2019-05-22
|
10 |
**Changes:**
|
11 |
* Fix error in structured data
|
assets/css/comments.css
CHANGED
@@ -148,3 +148,55 @@
|
|
148 |
margin: 0 0 20px 0;
|
149 |
}
|
150 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
margin: 0 0 20px 0;
|
149 |
}
|
150 |
}
|
151 |
+
|
152 |
+
|
153 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star {
|
154 |
+
width: 20%;
|
155 |
+
}
|
156 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star > input { display: none; }
|
157 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star > label:before {
|
158 |
+
margin: 5px;
|
159 |
+
font-size: 1.25em;
|
160 |
+
font-family: dashicons;
|
161 |
+
display: inline-block;
|
162 |
+
content: "\f155";
|
163 |
+
}
|
164 |
+
|
165 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star > .half:before {
|
166 |
+
content: "\f459";
|
167 |
+
position: absolute;
|
168 |
+
}
|
169 |
+
|
170 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star.rtl > .half:before {
|
171 |
+
-webkit-transform: rotateY(180deg);
|
172 |
+
-moz-transform: rotateY(180deg);
|
173 |
+
-o-transform: rotateY(180deg);
|
174 |
+
-ms-transform: rotateY(180deg);
|
175 |
+
transform: rotateY(180deg);
|
176 |
+
}
|
177 |
+
|
178 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star > label {
|
179 |
+
color: #ddd;
|
180 |
+
float: right;
|
181 |
+
}
|
182 |
+
|
183 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star.rtl > label {
|
184 |
+
float: left;
|
185 |
+
}
|
186 |
+
|
187 |
+
/***** CSS Magic to Highlight Stars on Hover *****/
|
188 |
+
|
189 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star > input:checked ~ label, /* show gold star when clicked */
|
190 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star:not(:checked) > label:hover, /* hover current star */
|
191 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star:not(:checked) > label:hover ~ label {
|
192 |
+
color: #FFD700;
|
193 |
+
cursor: pointer;
|
194 |
+
} /* hover previous stars in list */
|
195 |
+
|
196 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star > input:checked + label:hover, /* hover current star when changing rating */
|
197 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star > input:checked ~ label:hover,
|
198 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star > label:hover ~ input:checked ~ label, /* lighten current selection */
|
199 |
+
#wppr-comment-rating-stars .wppr-comment-rating-star > input:checked ~ label:hover ~ label {
|
200 |
+
color: #FFED85;
|
201 |
+
cursor: pointer;
|
202 |
+
}
|
assets/css/rating-amp.css
CHANGED
@@ -1,135 +1,3 @@
|
|
1 |
-
.wppr-c100.wppr-p100 .wppr-bar {
|
2 |
-
-webkit-transform: rotate(360deg);
|
3 |
-
-ms-transform: rotate(360deg);
|
4 |
-
transform: rotate(360deg);
|
5 |
-
}
|
6 |
-
|
7 |
-
.wppr-c100.wppr-p80 .wppr-bar,
|
8 |
-
.wppr-c100.wppr-p81 .wppr-bar,
|
9 |
-
.wppr-c100.wppr-p82 .wppr-bar,
|
10 |
-
.wppr-c100.wppr-p83 .wppr-bar,
|
11 |
-
.wppr-c100.wppr-p84 .wppr-bar,
|
12 |
-
.wppr-c100.wppr-p85 .wppr-bar,
|
13 |
-
.wppr-c100.wppr-p86 .wppr-bar,
|
14 |
-
.wppr-c100.wppr-p87 .wppr-bar,
|
15 |
-
.wppr-c100.wppr-p88 .wppr-bar,
|
16 |
-
.wppr-c100.wppr-p89 .wppr-bar,
|
17 |
-
.wppr-c100.wppr-p90 .wppr-bar,
|
18 |
-
.wppr-c100.wppr-p91 .wppr-bar,
|
19 |
-
.wppr-c100.wppr-p92 .wppr-bar,
|
20 |
-
.wppr-c100.wppr-p93 .wppr-bar,
|
21 |
-
.wppr-c100.wppr-p94 .wppr-bar,
|
22 |
-
.wppr-c100.wppr-p95 .wppr-bar,
|
23 |
-
.wppr-c100.wppr-p96 .wppr-bar,
|
24 |
-
.wppr-c100.wppr-p97 .wppr-bar,
|
25 |
-
.wppr-c100.wppr-p98 .wppr-bar,
|
26 |
-
.wppr-c100.wppr-p99 .wppr-bar {
|
27 |
-
-webkit-transform: rotate(324deg);
|
28 |
-
-ms-transform: rotate(324deg);
|
29 |
-
transform: rotate(324deg);
|
30 |
-
}
|
31 |
-
|
32 |
-
.wppr-c100.wppr-p60 .wppr-bar,
|
33 |
-
.wppr-c100.wppr-p62 .wppr-bar,
|
34 |
-
.wppr-c100.wppr-p61 .wppr-bar,
|
35 |
-
.wppr-c100.wppr-p63 .wppr-bar,
|
36 |
-
.wppr-c100.wppr-p64 .wppr-bar,
|
37 |
-
.wppr-c100.wppr-p65 .wppr-bar,
|
38 |
-
.wppr-c100.wppr-p66 .wppr-bar,
|
39 |
-
.wppr-c100.wppr-p67 .wppr-bar,
|
40 |
-
.wppr-c100.wppr-p68 .wppr-bar,
|
41 |
-
.wppr-c100.wppr-p69 .wppr-bar,
|
42 |
-
.wppr-c100.wppr-p70 .wppr-bar,
|
43 |
-
.wppr-c100.wppr-p71 .wppr-bar,
|
44 |
-
.wppr-c100.wppr-p71 .wppr-bar,
|
45 |
-
.wppr-c100.wppr-p72 .wppr-bar,
|
46 |
-
.wppr-c100.wppr-p74 .wppr-bar,
|
47 |
-
.wppr-c100.wppr-p75 .wppr-bar,
|
48 |
-
.wppr-c100.wppr-p76 .wppr-bar,
|
49 |
-
.wppr-c100.wppr-p77 .wppr-bar,
|
50 |
-
.wppr-c100.wppr-p78 .wppr-bar,
|
51 |
-
.wppr-c100.wppr-p79 .wppr-bar {
|
52 |
-
-webkit-transform: rotate(252deg);
|
53 |
-
-ms-transform: rotate(252deg);
|
54 |
-
transform: rotate(252deg);
|
55 |
-
}
|
56 |
-
|
57 |
-
.wppr-c100.wppr-p40 .wppr-bar,
|
58 |
-
.wppr-c100.wppr-p41 .wppr-bar,
|
59 |
-
.wppr-c100.wppr-p42 .wppr-bar,
|
60 |
-
.wppr-c100.wppr-p43 .wppr-bar,
|
61 |
-
.wppr-c100.wppr-p44 .wppr-bar,
|
62 |
-
.wppr-c100.wppr-p45 .wppr-bar,
|
63 |
-
.wppr-c100.wppr-p46 .wppr-bar,
|
64 |
-
.wppr-c100.wppr-p47 .wppr-bar,
|
65 |
-
.wppr-c100.wppr-p48 .wppr-bar,
|
66 |
-
.wppr-c100.wppr-p49 .wppr-bar,
|
67 |
-
.wppr-c100.wppr-p50 .wppr-bar,
|
68 |
-
.wppr-c100.wppr-p51 .wppr-bar,
|
69 |
-
.wppr-c100.wppr-p52 .wppr-bar,
|
70 |
-
.wppr-c100.wppr-p53 .wppr-bar,
|
71 |
-
.wppr-c100.wppr-p54 .wppr-bar,
|
72 |
-
.wppr-c100.wppr-p55 .wppr-bar,
|
73 |
-
.wppr-c100.wppr-p56 .wppr-bar,
|
74 |
-
.wppr-c100.wppr-p57 .wppr-bar,
|
75 |
-
.wppr-c100.wppr-p58 .wppr-bar,
|
76 |
-
.wppr-c100.wppr-p59 .wppr-bar {
|
77 |
-
-webkit-transform: rotate(180deg);
|
78 |
-
-ms-transform: rotate(180deg);
|
79 |
-
transform: rotate(180deg);
|
80 |
-
}
|
81 |
-
|
82 |
-
.wppr-c100.wppr-p20 .wppr-bar,
|
83 |
-
.wppr-c100.wppr-p21 .wppr-bar,
|
84 |
-
.wppr-c100.wppr-p22 .wppr-bar,
|
85 |
-
.wppr-c100.wppr-p23 .wppr-bar,
|
86 |
-
.wppr-c100.wppr-p24 .wppr-bar,
|
87 |
-
.wppr-c100.wppr-p25 .wppr-bar,
|
88 |
-
.wppr-c100.wppr-p26 .wppr-bar,
|
89 |
-
.wppr-c100.wppr-p27 .wppr-bar,
|
90 |
-
.wppr-c100.wppr-p28 .wppr-bar,
|
91 |
-
.wppr-c100.wppr-p29 .wppr-bar,
|
92 |
-
.wppr-c100.wppr-p30 .wppr-bar,
|
93 |
-
.wppr-c100.wppr-p31 .wppr-bar,
|
94 |
-
.wppr-c100.wppr-p32 .wppr-bar,
|
95 |
-
.wppr-c100.wppr-p33 .wppr-bar,
|
96 |
-
.wppr-c100.wppr-p34 .wppr-bar,
|
97 |
-
.wppr-c100.wppr-p35 .wppr-bar,
|
98 |
-
.wppr-c100.wppr-p36 .wppr-bar,
|
99 |
-
.wppr-c100.wppr-p37 .wppr-bar,
|
100 |
-
.wppr-c100.wppr-p38 .wppr-bar,
|
101 |
-
.wppr-c100.wppr-p39 .wppr-bar {
|
102 |
-
-webkit-transform: rotate(108deg);
|
103 |
-
-ms-transform: rotate(108deg);
|
104 |
-
transform: rotate(108deg);
|
105 |
-
}
|
106 |
-
|
107 |
-
.wppr-c100.wppr-p1 .wppr-bar,
|
108 |
-
.wppr-c100.wppr-p2 .wppr-bar,
|
109 |
-
.wppr-c100.wppr-p3 .wppr-bar,
|
110 |
-
.wppr-c100.wppr-p4 .wppr-bar,
|
111 |
-
.wppr-c100.wppr-p5 .wppr-bar,
|
112 |
-
.wppr-c100.wppr-p6 .wppr-bar,
|
113 |
-
.wppr-c100.wppr-p7 .wppr-bar,
|
114 |
-
.wppr-c100.wppr-p6 .wppr-bar,
|
115 |
-
.wppr-c100.wppr-p7 .wppr-bar,
|
116 |
-
.wppr-c100.wppr-p8 .wppr-bar,
|
117 |
-
.wppr-c100.wppr-p9 .wppr-bar,
|
118 |
-
.wppr-c100.wppr-p10 .wppr-bar,
|
119 |
-
.wppr-c100.wppr-p11 .wppr-bar,
|
120 |
-
.wppr-c100.wppr-p12 .wppr-bar,
|
121 |
-
.wppr-c100.wppr-p13 .wppr-bar,
|
122 |
-
.wppr-c100.wppr-p14 .wppr-bar,
|
123 |
-
.wppr-c100.wppr-p15 .wppr-bar,
|
124 |
-
.wppr-c100.wppr-p16 .wppr-bar,
|
125 |
-
.wppr-c100.wppr-p17 .wppr-bar,
|
126 |
-
.wppr-c100.wppr-p18 .wppr-bar,
|
127 |
-
.wppr-c100.wppr-p19 .wppr-bar {
|
128 |
-
-webkit-transform: rotate(36deg);
|
129 |
-
-ms-transform: rotate(36deg);
|
130 |
-
transform: rotate(36deg);
|
131 |
-
}
|
132 |
-
|
133 |
.wppr-inline-pie-chart {
|
134 |
position: relative;
|
135 |
width: 120px;
|
@@ -145,3 +13,23 @@
|
|
145 |
width: 150px;
|
146 |
height: 150px;
|
147 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
.wppr-inline-pie-chart {
|
2 |
position: relative;
|
3 |
width: 120px;
|
13 |
width: 150px;
|
14 |
height: 150px;
|
15 |
}
|
16 |
+
|
17 |
+
|
18 |
+
.wppr-template ul li:before {
|
19 |
+
width: auto !important;
|
20 |
+
position: initial !important;
|
21 |
+
background: none !important;
|
22 |
+
}
|
23 |
+
|
24 |
+
.wppr-template ul li, .wppr-template ol li {
|
25 |
+
position: initial !important;
|
26 |
+
list-style-type: disc;
|
27 |
+
background: none !important;
|
28 |
+
}
|
29 |
+
|
30 |
+
#review-statistics .review-wu-bars ul.wppr-weak li.colored,
|
31 |
+
#review-statistics .review-wu-bars ul.wppr-not-bad li.colored,
|
32 |
+
#review-statistics .review-wu-bars ul.wppr-good li.colored,
|
33 |
+
#review-statistics .review-wu-bars ul.wppr-very-good li.colored {
|
34 |
+
background: none !important;
|
35 |
+
}
|
assets/css/style2.css
CHANGED
@@ -197,7 +197,7 @@ Template 2
|
|
197 |
}
|
198 |
|
199 |
.wppr-template-2 .wppr-review-option-rating li:before {
|
200 |
-
content: "\
|
201 |
}
|
202 |
|
203 |
.wppr-template-2.rtl .affiliate-button a span {
|
197 |
}
|
198 |
|
199 |
.wppr-template-2 .wppr-review-option-rating li:before {
|
200 |
+
content: "\f155";
|
201 |
}
|
202 |
|
203 |
.wppr-template-2.rtl .affiliate-button a span {
|
assets/css/{upsell.css → support.css}
RENAMED
File without changes
|
assets/js/main.js
CHANGED
@@ -2,33 +2,43 @@
|
|
2 |
/**
|
3 |
* Main JavaScript File
|
4 |
*/
|
5 |
-
jQuery(document).ready(function ($) {
|
6 |
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
33 |
}
|
34 |
-
|
|
2 |
/**
|
3 |
* Main JavaScript File
|
4 |
*/
|
|
|
5 |
|
6 |
+
(function($, wppr_config){
|
7 |
+
|
8 |
+
$(document).ready(function(){
|
9 |
+
initAll();
|
10 |
+
});
|
11 |
+
|
12 |
+
function initAll(){
|
13 |
+
$(".wppr-comment-meta-slider").each(function () {
|
14 |
+
var min = 0;
|
15 |
+
var max = 100;
|
16 |
+
var step = wppr_config.scale / 2;
|
17 |
+
if($(this).parent(".wppr-comment-form-meta").hasClass('rtl')){
|
18 |
+
min = -100;
|
19 |
+
max = 0;
|
20 |
+
}
|
21 |
+
var comm_meta_input = $(this).parent(".wppr-comment-form-meta").children("input");
|
22 |
+
$(this).slider({
|
23 |
+
min: min,
|
24 |
+
max: max,
|
25 |
+
value: 0,
|
26 |
+
step: step,
|
27 |
+
slide: function (event, ui) {
|
28 |
+
$(comm_meta_input).val(Math.abs(ui.value) / wppr_config.scale);
|
29 |
+
}
|
30 |
+
});
|
31 |
+
});
|
32 |
|
33 |
+
// Check if review image width is bigger than height.
|
34 |
+
if ( $( '.wppr-template-2' ).length > 0 ) {
|
35 |
+
var reviewImage = $( '.wppr-review-product-image' );
|
36 |
+
if ( reviewImage.length > 0 ) {
|
37 |
+
if ( reviewImage.find('img').width() > reviewImage.find('img').height() ) {
|
38 |
+
reviewImage.addClass('wppr-review-product-image-full');
|
39 |
+
}
|
40 |
+
}
|
41 |
+
}
|
42 |
}
|
43 |
+
|
44 |
+
})(jQuery, wppr_config);
|
includes/admin/class-wppr-admin.php
CHANGED
@@ -82,10 +82,12 @@ class WPPR_Admin {
|
|
82 |
wp_enqueue_style( $this->plugin_name . '-dashboard-css', WPPR_URL . '/assets/css/dashboard_styles.css', array(), $this->version );
|
83 |
wp_enqueue_style( $this->plugin_name . '-admin-css', WPPR_URL . '/assets/css/admin.css', array(), $this->version );
|
84 |
// fall-through
|
85 |
-
case 'product-
|
86 |
-
wp_enqueue_style( $this->plugin_name . '-upsell-css', WPPR_URL . '/assets/css/
|
87 |
break;
|
88 |
case 'post.php':
|
|
|
|
|
89 |
$wp_scripts = wp_scripts();
|
90 |
wp_enqueue_style( $this->plugin_name . '-jquery-ui', sprintf( '//ajax.googleapis.com/ajax/libs/jqueryui/%s/themes/smoothness/jquery-ui.css', $wp_scripts->registered['jquery-ui-core']->ver ), array(), $this->version );
|
91 |
break;
|
@@ -119,6 +121,8 @@ class WPPR_Admin {
|
|
119 |
wp_enqueue_script( $this->plugin_name . '-admin-js', WPPR_URL . '/assets/js/admin.js', array( 'jquery', 'wp-color-picker' ), $this->version );
|
120 |
break;
|
121 |
case 'post.php':
|
|
|
|
|
122 |
wp_enqueue_script( $this->plugin_name . '-post', WPPR_URL . '/assets/js/post.js', array( 'jquery-ui-accordion' ), $this->version );
|
123 |
break;
|
124 |
}
|
@@ -145,20 +149,18 @@ class WPPR_Admin {
|
|
145 |
'dashicons-star-half',
|
146 |
'99.87414'
|
147 |
);
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
);
|
161 |
-
}
|
162 |
}
|
163 |
|
164 |
/**
|
@@ -174,14 +176,14 @@ class WPPR_Admin {
|
|
174 |
}
|
175 |
|
176 |
/**
|
177 |
-
* Method to render
|
178 |
*
|
179 |
* @since 3.0.0
|
180 |
* @access public
|
181 |
*/
|
182 |
-
public function
|
183 |
$render = new WPPR_Admin_Render_Controller( $this->plugin_name, $this->version );
|
184 |
-
$render->retrive_template( '
|
185 |
}
|
186 |
|
187 |
/**
|
@@ -550,4 +552,21 @@ class WPPR_Admin {
|
|
550 |
add_image_size( 'wppr-widget', 50, 50 );
|
551 |
}
|
552 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
553 |
}
|
82 |
wp_enqueue_style( $this->plugin_name . '-dashboard-css', WPPR_URL . '/assets/css/dashboard_styles.css', array(), $this->version );
|
83 |
wp_enqueue_style( $this->plugin_name . '-admin-css', WPPR_URL . '/assets/css/admin.css', array(), $this->version );
|
84 |
// fall-through
|
85 |
+
case 'product-review_page_wppr-support':
|
86 |
+
wp_enqueue_style( $this->plugin_name . '-upsell-css', WPPR_URL . '/assets/css/support.css', array(), $this->version );
|
87 |
break;
|
88 |
case 'post.php':
|
89 |
+
// fall through.
|
90 |
+
case 'post-new.php':
|
91 |
$wp_scripts = wp_scripts();
|
92 |
wp_enqueue_style( $this->plugin_name . '-jquery-ui', sprintf( '//ajax.googleapis.com/ajax/libs/jqueryui/%s/themes/smoothness/jquery-ui.css', $wp_scripts->registered['jquery-ui-core']->ver ), array(), $this->version );
|
93 |
break;
|
121 |
wp_enqueue_script( $this->plugin_name . '-admin-js', WPPR_URL . '/assets/js/admin.js', array( 'jquery', 'wp-color-picker' ), $this->version );
|
122 |
break;
|
123 |
case 'post.php':
|
124 |
+
// fall through.
|
125 |
+
case 'post-new.php':
|
126 |
wp_enqueue_script( $this->plugin_name . '-post', WPPR_URL . '/assets/js/post.js', array( 'jquery-ui-accordion' ), $this->version );
|
127 |
break;
|
128 |
}
|
149 |
'dashicons-star-half',
|
150 |
'99.87414'
|
151 |
);
|
152 |
+
|
153 |
+
add_submenu_page(
|
154 |
+
'wppr',
|
155 |
+
__( 'Support', 'wp-product-review' ),
|
156 |
+
__( 'Support', 'wp-product-review' ) . '<span class="dashicons dashicons-editor-help more-features-icon" style="width: 17px; height: 17px; margin-left: 4px; color: #ffca54; font-size: 17px; vertical-align: -3px;"></span>',
|
157 |
+
'manage_options',
|
158 |
+
'wppr-support',
|
159 |
+
array(
|
160 |
+
$this,
|
161 |
+
'render_support',
|
162 |
+
)
|
163 |
+
);
|
|
|
|
|
164 |
}
|
165 |
|
166 |
/**
|
176 |
}
|
177 |
|
178 |
/**
|
179 |
+
* Method to render support page.
|
180 |
*
|
181 |
* @since 3.0.0
|
182 |
* @access public
|
183 |
*/
|
184 |
+
public function render_support() {
|
185 |
$render = new WPPR_Admin_Render_Controller( $this->plugin_name, $this->version );
|
186 |
+
$render->retrive_template( 'support' );
|
187 |
}
|
188 |
|
189 |
/**
|
552 |
add_image_size( 'wppr-widget', 50, 50 );
|
553 |
}
|
554 |
|
555 |
+
/**
|
556 |
+
* On activation of the plugin
|
557 |
+
*
|
558 |
+
* @access public
|
559 |
+
*/
|
560 |
+
public function on_activation( $plugin ) {
|
561 |
+
if ( defined( 'TI_UNIT_TESTING' ) ) {
|
562 |
+
return;
|
563 |
+
}
|
564 |
+
|
565 |
+
if ( $plugin === WPPR_BASENAME ) {
|
566 |
+
wp_redirect( admin_url( 'admin.php?page=wppr-support&tab=help#shortcode' ) );
|
567 |
+
exit();
|
568 |
+
}
|
569 |
+
}
|
570 |
+
|
571 |
+
|
572 |
}
|
includes/admin/class-wppr-global-settings.php
CHANGED
@@ -100,6 +100,29 @@ class WPPR_Global_Settings {
|
|
100 |
'disabled' => ! self::enable_user_comments(),
|
101 |
'default' => 'no',
|
102 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
'cwppos_infl_userreview' => array(
|
104 |
'id' => 'comment_influence',
|
105 |
'name' => __( 'Visitor Review Influence', 'wp-product-review' ),
|
100 |
'disabled' => ! self::enable_user_comments(),
|
101 |
'default' => 'no',
|
102 |
),
|
103 |
+
'wppr_use_5_rating_scale' => array(
|
104 |
+
'id' => 'use_5_rating_scale',
|
105 |
+
'name' => __( 'Rating scale', 'wp-product-review' ),
|
106 |
+
'description' => __( 'On what scale should reviews be rated?', 'wp-product-review' ),
|
107 |
+
'type' => 'select',
|
108 |
+
'default' => '10',
|
109 |
+
'options' => array(
|
110 |
+
'5' => __( 'On 5', 'wp-product-review' ),
|
111 |
+
'10' => __( 'On 10', 'wp-product-review' ),
|
112 |
+
),
|
113 |
+
),
|
114 |
+
'wppr_comment_rating' => array(
|
115 |
+
'id' => 'comment_rating',
|
116 |
+
'name' => __( 'Comment rating style', 'wp-product-review' ),
|
117 |
+
'description' => __( 'What type of rating style would you like to use?', 'wp-product-review' ),
|
118 |
+
'type' => 'select',
|
119 |
+
'default' => 'slider',
|
120 |
+
'options' => array(
|
121 |
+
'slider' => __( 'Slider', 'wp-product-review' ),
|
122 |
+
'star' => __( 'Star', 'wp-product-review' ),
|
123 |
+
),
|
124 |
+
'disabled' => ! self::enable_user_comments(),
|
125 |
+
),
|
126 |
'cwppos_infl_userreview' => array(
|
127 |
'id' => 'comment_influence',
|
128 |
'name' => __( 'Visitor Review Influence', 'wp-product-review' ),
|
includes/admin/helpers/class-wppr-html-fields.php
CHANGED
@@ -341,4 +341,40 @@ class WPPR_Html_Fields {
|
|
341 |
return apply_filters( 'wppr_field', $output, $args );
|
342 |
}
|
343 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
}
|
341 |
return apply_filters( 'wppr_field', $output, $args );
|
342 |
}
|
343 |
|
344 |
+
/**
|
345 |
+
* Render a textarea string.
|
346 |
+
*
|
347 |
+
* @since ?
|
348 |
+
* @access public
|
349 |
+
* @param array $args The settings of the input.
|
350 |
+
* @return string
|
351 |
+
*/
|
352 |
+
public function textarea( $args ) {
|
353 |
+
$defaults = $this->define_defaults(
|
354 |
+
array(
|
355 |
+
'class' => 'wppr-text-area',
|
356 |
+
)
|
357 |
+
);
|
358 |
+
$args = wp_parse_args( $args, $defaults );
|
359 |
+
$class = $this->validate_class( $args['class'] );
|
360 |
+
$disabled = '';
|
361 |
+
if ( $args['disabled'] ) {
|
362 |
+
$disabled = ' disabled="disabled"';
|
363 |
+
}
|
364 |
+
if ( is_null( $args['id'] ) ) {
|
365 |
+
$args['id'] = $args['name'];
|
366 |
+
}
|
367 |
+
if ( $args['value'] === null ) {
|
368 |
+
$args['value'] = $args['default'];
|
369 |
+
}
|
370 |
+
$rows = isset( $args['rows'] ) ? $args['rows'] : 3;
|
371 |
+
$cols = isset( $args['cols'] ) ? $args['cols'] : 50;
|
372 |
+
$output = '<textarea ' . $disabled . ' name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] ) . '" class="' . $class . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" rows=' . $rows . ' cols=' . $cols . ' />' . esc_textarea( $args['value'] ) . '</textarea>';
|
373 |
+
|
374 |
+
if ( isset( $args['desc'] ) ) {
|
375 |
+
$output .= '<p class="desc">' . $args['desc'] . '</p>';
|
376 |
+
}
|
377 |
+
|
378 |
+
return apply_filters( 'wppr_field', $output, $args );
|
379 |
+
}
|
380 |
}
|
includes/admin/layouts/support-tab.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="pro-feature">
|
2 |
+
<div class="pro-feature-inner">
|
3 |
+
<div class="pro-feature-features">
|
4 |
+
<h2>Welcome to WP Product Review</h2>
|
5 |
+
<p>WPPR makes it easy to create review posts in WordPress. We recommend watching this Getting started video, and then try the plugin for yourself by enabling the review post option in the settings menu - start configuring the plugin <a href="<?php echo admin_url( '/admin.php?page=wppr' ); ?>">here</a></p>
|
6 |
+
<p>You can also read our guide on how to set up and create your first review. Read our documentation <a href="https://docs.themeisle.com/category/754-wp-product-review" target="_new">here</a>.</p>
|
7 |
+
</div>
|
8 |
+
<div class="pro-feature-image">
|
9 |
+
<iframe width="603" height="508" src="https://www.youtube.com/embed/vEBgeIYY8UM" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
10 |
+
</div>
|
11 |
+
<div class="clear"></div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<div class="clear"></div>
|
includes/admin/layouts/support-tpl.php
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="wppr-admin" class="wppr-settings">
|
2 |
+
|
3 |
+
<?php include WPPR_PATH . '/includes/admin/layouts/header-part.php'; ?>
|
4 |
+
|
5 |
+
<?php
|
6 |
+
$active_tab = isset( $_REQUEST['tab'] ) ? sanitize_text_field( $_REQUEST['tab'] ) : 'help';
|
7 |
+
$show_more = ! defined( 'WPPR_PRO_VERSION' );
|
8 |
+
?>
|
9 |
+
|
10 |
+
<h2 class="nav-tab-wrapper">
|
11 |
+
<a href="<?php echo esc_url( admin_url( 'admin.php?page=wppr-support&tab=help' ) ); ?>"
|
12 |
+
class="nav-tab <?php echo $active_tab === 'help' ? 'nav-tab-active' : ''; ?>"><?php _e( 'Support', 'wp-product-review' ); ?></a>
|
13 |
+
<?php
|
14 |
+
if ( $show_more ) {
|
15 |
+
?>
|
16 |
+
<a href="<?php echo esc_url( admin_url( 'admin.php?page=wppr-support&tab=more' ) ); ?>"
|
17 |
+
class="nav-tab <?php echo $active_tab === 'more' ? 'nav-tab-active' : ''; ?>"><?php _e( 'More Features', 'wp-product-review' ); ?></a>
|
18 |
+
<?php
|
19 |
+
}
|
20 |
+
?>
|
21 |
+
</h2>
|
22 |
+
|
23 |
+
<div class="wppr-features-content">
|
24 |
+
<div class="wppr-feature">
|
25 |
+
<div class="wppr-feature-features">
|
26 |
+
<?php
|
27 |
+
switch ( $active_tab ) {
|
28 |
+
case 'help':
|
29 |
+
include WPPR_PATH . '/includes/admin/layouts/support-tab.php';
|
30 |
+
break;
|
31 |
+
case 'more':
|
32 |
+
if ( $show_more ) {
|
33 |
+
include WPPR_PATH . '/includes/admin/layouts/upsell-tab.php';
|
34 |
+
}
|
35 |
+
break;
|
36 |
+
}
|
37 |
+
?>
|
38 |
+
<div class="clear"></div>
|
39 |
+
</div>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
|
43 |
+
</div>
|
includes/admin/layouts/{upsell-tpl.php → upsell-tab.php}
RENAMED
@@ -10,11 +10,6 @@
|
|
10 |
*/
|
11 |
|
12 |
?>
|
13 |
-
<div id="wppr-admin">
|
14 |
-
|
15 |
-
<?php
|
16 |
-
include WPPR_PATH . '/includes/admin/layouts/header-part.php';
|
17 |
-
?>
|
18 |
|
19 |
<div class="pro-feature">
|
20 |
<div class="pro-feature-inner">
|
@@ -78,5 +73,3 @@
|
|
78 |
<div class="clear"></div>
|
79 |
</div>
|
80 |
</div>
|
81 |
-
<div class="clear"></div>
|
82 |
-
</div>
|
10 |
*/
|
11 |
|
12 |
?>
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
<div class="pro-feature">
|
15 |
<div class="pro-feature-inner">
|
73 |
<div class="clear"></div>
|
74 |
</div>
|
75 |
</div>
|
|
|
|
includes/admin/models/class-wppr-schema-model.php
CHANGED
@@ -67,6 +67,7 @@ class WPPR_Schema_Model extends WPPR_Model_Abstract {
|
|
67 |
// good for testing.
|
68 |
// set_time_limit( 0 );
|
69 |
$this->data_types_allowed = apply_filters( 'wppr_schema_data_types_allowed', array( 'schema:Text', 'schema:URL', 'schema:Date', 'schema:Number', 'schema:Boolean', 'schema:DateTime', 'schema:Time', 'schema:Integer', 'schema:Float', 'schema:False', 'schema:True', 'schema:QuantitativeValue', 'schema:Distance' ), $things );
|
|
|
70 |
$types = get_transient( 'wppr_schema_types_' . md5( json_encode( $things ) ) );
|
71 |
if ( $types ) {
|
72 |
$this->types = $types;
|
@@ -74,7 +75,6 @@ class WPPR_Schema_Model extends WPPR_Model_Abstract {
|
|
74 |
}
|
75 |
|
76 |
$types = array();
|
77 |
-
$things = apply_filters( 'wppr_schema_things', $things );
|
78 |
$categories = array();
|
79 |
foreach ( $things as $parent => $type ) {
|
80 |
foreach ( $type as $t ) {
|
67 |
// good for testing.
|
68 |
// set_time_limit( 0 );
|
69 |
$this->data_types_allowed = apply_filters( 'wppr_schema_data_types_allowed', array( 'schema:Text', 'schema:URL', 'schema:Date', 'schema:Number', 'schema:Boolean', 'schema:DateTime', 'schema:Time', 'schema:Integer', 'schema:Float', 'schema:False', 'schema:True', 'schema:QuantitativeValue', 'schema:Distance' ), $things );
|
70 |
+
$things = apply_filters( 'wppr_schema_things', $things );
|
71 |
$types = get_transient( 'wppr_schema_types_' . md5( json_encode( $things ) ) );
|
72 |
if ( $types ) {
|
73 |
$this->types = $types;
|
75 |
}
|
76 |
|
77 |
$types = array();
|
|
|
78 |
$categories = array();
|
79 |
foreach ( $things as $parent => $type ) {
|
80 |
foreach ( $type as $t ) {
|
includes/class-wppr.php
CHANGED
@@ -67,7 +67,7 @@ class WPPR {
|
|
67 |
*/
|
68 |
public function __construct() {
|
69 |
$this->plugin_name = 'wppr';
|
70 |
-
$this->version = '3.
|
71 |
|
72 |
$this->load_dependencies();
|
73 |
$this->set_locale();
|
@@ -140,6 +140,7 @@ class WPPR {
|
|
140 |
$this->loader->add_action( 'wppr_settings_section_upsell', $plugin_admin, 'settings_section_upsell', 10, 1 );
|
141 |
$this->loader->add_action( 'after_setup_theme', $plugin_admin, 'add_image_size' );
|
142 |
$this->loader->add_action( 'wp_ajax_get_categories', $plugin_admin, 'get_categories' );
|
|
|
143 |
|
144 |
$plugin_editor = new WPPR_Editor( $this->get_plugin_name(), $this->get_version() );
|
145 |
$this->loader->add_action( 'add_meta_boxes', $plugin_editor, 'set_editor' );
|
@@ -208,6 +209,7 @@ class WPPR {
|
|
208 |
|
209 |
$this->loader->add_filter( 'wppr_rating_circle_bar_styles', $plugin_public, 'rating_circle_bar_styles', 10, 2 );
|
210 |
$this->loader->add_filter( 'wppr_rating_circle_fill_styles', $plugin_public, 'rating_circle_fill_styles', 10, 2 );
|
|
|
211 |
}
|
212 |
|
213 |
/**
|
67 |
*/
|
68 |
public function __construct() {
|
69 |
$this->plugin_name = 'wppr';
|
70 |
+
$this->version = '3.7.0';
|
71 |
|
72 |
$this->load_dependencies();
|
73 |
$this->set_locale();
|
140 |
$this->loader->add_action( 'wppr_settings_section_upsell', $plugin_admin, 'settings_section_upsell', 10, 1 );
|
141 |
$this->loader->add_action( 'after_setup_theme', $plugin_admin, 'add_image_size' );
|
142 |
$this->loader->add_action( 'wp_ajax_get_categories', $plugin_admin, 'get_categories' );
|
143 |
+
$this->loader->add_action( 'activated_plugin', $plugin_admin, 'on_activation', 10, 1 );
|
144 |
|
145 |
$plugin_editor = new WPPR_Editor( $this->get_plugin_name(), $this->get_version() );
|
146 |
$this->loader->add_action( 'add_meta_boxes', $plugin_editor, 'set_editor' );
|
209 |
|
210 |
$this->loader->add_filter( 'wppr_rating_circle_bar_styles', $plugin_public, 'rating_circle_bar_styles', 10, 2 );
|
211 |
$this->loader->add_filter( 'wppr_rating_circle_fill_styles', $plugin_public, 'rating_circle_fill_styles', 10, 2 );
|
212 |
+
$this->loader->add_action( 'wppr_load_template_css', $plugin_public, 'load_template_css', 10, 1 );
|
213 |
}
|
214 |
|
215 |
/**
|
includes/functions.php
CHANGED
@@ -31,7 +31,6 @@ if ( ! function_exists( 'wppr_display_rating_stars' ) ) {
|
|
31 |
*/
|
32 |
function wppr_display_rating_stars( $template, $review_object, $include_author = true ) {
|
33 |
$review_rating = $review_object->get_rating();
|
34 |
-
$rating_10 = round( $review_rating, 0 ) / 10;
|
35 |
$rating_5 = round( $review_rating / 20, PHP_ROUND_HALF_UP );
|
36 |
?>
|
37 |
<div class="wppr-review-stars <?php echo is_rtl() ? 'rtl' : ''; ?>" style="direction: <?php echo is_rtl() ? 'rtl' : ''; ?>">
|
@@ -132,15 +131,33 @@ if ( ! function_exists( 'wppr_default_get_rating' ) ) {
|
|
132 |
/**
|
133 |
* Display the rating of the given type.
|
134 |
*/
|
135 |
-
function wppr_layout_get_rating( $review_object, $type, $template, $
|
136 |
-
$
|
137 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
|
139 |
switch ( $type ) {
|
140 |
case 'donut':
|
141 |
?>
|
142 |
-
<div class="<?php echo $
|
143 |
-
<div class="review-wu-grade-content">
|
144 |
<div class="wppr-c100 wppr-p<?php echo esc_attr( $rating ) . ' ' . esc_attr( $review_object->get_rating_class() ); ?>">
|
145 |
<span><?php echo esc_html( $rating_10 ); ?></span>
|
146 |
<div class="wppr-slice">
|
@@ -273,35 +290,44 @@ if ( ! function_exists( 'wppr_layout_get_options_ratings' ) ) {
|
|
273 |
* Display the option ratings.
|
274 |
*/
|
275 |
function wppr_layout_get_options_ratings( $review_object, $type ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
switch ( $type ) {
|
277 |
case 'dashes':
|
278 |
?>
|
279 |
<div class="review-wu-bars">
|
280 |
<?php
|
281 |
foreach ( $review_object->get_options() as $option ) {
|
282 |
-
|
283 |
-
|
284 |
<div class="rev-option" data-value="<?php echo $option['value']; ?>">
|
285 |
<div class="cwpr_clearfix">
|
286 |
<span>
|
287 |
<h3><?php echo esc_html( apply_filters( 'wppr_option_name_html', $option['name'] ) ); ?></h3>
|
288 |
</span>
|
289 |
-
<span><?php echo esc_html( number_format( ( $option['value'] /
|
290 |
</div>
|
291 |
<ul class="cwpr_clearfix <?php echo $class_ul; ?>">
|
292 |
-
|
293 |
-
$rating = round( $option['value'] /
|
294 |
-
$start_from = is_rtl() ? (
|
295 |
-
$stop_at = is_rtl() ?
|
296 |
-
|
297 |
-
|
298 |
<li <?php echo $i >= $start_from && $i <= $stop_at ? ' class="colored"' : ''; ?>></li>
|
299 |
<?php
|
300 |
-
|
301 |
?>
|
302 |
</ul>
|
303 |
</div>
|
304 |
-
|
305 |
}
|
306 |
?>
|
307 |
</div>
|
@@ -312,26 +338,26 @@ if ( ! function_exists( 'wppr_layout_get_options_ratings' ) ) {
|
|
312 |
<div class="wppr-review-grade-options <?php echo is_rtl() ? 'rtl' : ''; ?>">
|
313 |
<?php
|
314 |
foreach ( $review_object->get_options() as $option ) {
|
315 |
-
|
316 |
-
|
317 |
<div class="wppr-review-grade-option">
|
318 |
<div class="wppr-review-grade-option-header">
|
319 |
<span><?php echo esc_html( apply_filters( 'wppr_option_name_html', $option['name'] ) ); ?></span>
|
320 |
-
<span><?php echo esc_html( number_format( ( $review_option_rating /
|
321 |
</div>
|
322 |
<div class="wppr-review-grade-option-rating wppr-default <?php echo $review_object->get_rating_class( $review_option_rating ); ?> <?php echo is_rtl() ? 'rtl' : ''; ?>">
|
323 |
<span class="<?php echo $review_object->get_rating_class( $review_option_rating ); ?>" style="
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
"></span>
|
332 |
</div>
|
333 |
</div><!-- end .wppr-review-grade-option -->
|
334 |
-
|
335 |
}
|
336 |
?>
|
337 |
</div><!-- end .wppr-review-grade-options -->
|
@@ -342,26 +368,26 @@ if ( ! function_exists( 'wppr_layout_get_options_ratings' ) ) {
|
|
342 |
<div class="wppr-review-options">
|
343 |
<?php
|
344 |
foreach ( $review_object->get_options() as $option ) {
|
345 |
-
|
346 |
-
|
347 |
<div class="wppr-review-option">
|
348 |
<div class="wppr-review-option-header">
|
349 |
<span><?php echo esc_html( apply_filters( 'wppr_option_name_html', $option['name'] ) ); ?></span>
|
350 |
</div>
|
351 |
<ul class="wppr-review-option-rating <?php echo apply_filters( 'wppr_option_custom_icon', '' ); ?>">
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
?>
|
358 |
<li class="<?php echo $i >= $start_from && $i <= $stop_at ? $review_object->get_rating_class( $option['value'] ) : ' wppr-default'; ?>"></li>
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
</ul>
|
363 |
</div><!-- end .wppr-review-option -->
|
364 |
-
|
365 |
}
|
366 |
?>
|
367 |
</div><!-- end .wppr-review-options -->
|
31 |
*/
|
32 |
function wppr_display_rating_stars( $template, $review_object, $include_author = true ) {
|
33 |
$review_rating = $review_object->get_rating();
|
|
|
34 |
$rating_5 = round( $review_rating / 20, PHP_ROUND_HALF_UP );
|
35 |
?>
|
36 |
<div class="wppr-review-stars <?php echo is_rtl() ? 'rtl' : ''; ?>" style="direction: <?php echo is_rtl() ? 'rtl' : ''; ?>">
|
131 |
/**
|
132 |
* Display the rating of the given type.
|
133 |
*/
|
134 |
+
function wppr_layout_get_rating( $review_object, $type, $template, $div_classes = '', $include_author = false ) {
|
135 |
+
$review_rating = $review_object->get_rating();
|
136 |
+
$rating = round( $review_rating );
|
137 |
+
|
138 |
+
$scale = $review_object->wppr_get_option( 'wppr_use_5_rating_scale' );
|
139 |
+
if ( empty( $scale ) ) {
|
140 |
+
$scale = 10;
|
141 |
+
}
|
142 |
+
// for scale of 10 divide by 10 and for scale of 5 divide by 20.
|
143 |
+
$scale = 10 * ( 10 / $scale );
|
144 |
+
$rating_10 = round( $review_rating, 0 ) / $scale;
|
145 |
+
|
146 |
+
$div_class1 = $div_class2 = '';
|
147 |
+
if ( is_array( $div_classes ) ) {
|
148 |
+
$div_class1 = array_shift( $div_classes );
|
149 |
+
if ( is_array( $div_classes ) ) {
|
150 |
+
$div_class2 = array_shift( $div_classes );
|
151 |
+
}
|
152 |
+
} else {
|
153 |
+
$div_class1 = $div_classes;
|
154 |
+
}
|
155 |
|
156 |
switch ( $type ) {
|
157 |
case 'donut':
|
158 |
?>
|
159 |
+
<div class="<?php echo $div_class1; ?>">
|
160 |
+
<div class="review-wu-grade-content <?php echo $div_class2; ?>">
|
161 |
<div class="wppr-c100 wppr-p<?php echo esc_attr( $rating ) . ' ' . esc_attr( $review_object->get_rating_class() ); ?>">
|
162 |
<span><?php echo esc_html( $rating_10 ); ?></span>
|
163 |
<div class="wppr-slice">
|
290 |
* Display the option ratings.
|
291 |
*/
|
292 |
function wppr_layout_get_options_ratings( $review_object, $type ) {
|
293 |
+
$scale = $review_object->wppr_get_option( 'wppr_use_5_rating_scale' );
|
294 |
+
if ( empty( $scale ) ) {
|
295 |
+
$scale = 10;
|
296 |
+
}
|
297 |
+
$display = round( $scale );
|
298 |
+
|
299 |
+
// for scale of 10 divide by 10 and for scale of 5 divide by 20.
|
300 |
+
$scale = 10 * ( 10 / $scale );
|
301 |
+
|
302 |
switch ( $type ) {
|
303 |
case 'dashes':
|
304 |
?>
|
305 |
<div class="review-wu-bars">
|
306 |
<?php
|
307 |
foreach ( $review_object->get_options() as $option ) {
|
308 |
+
$class_ul = $review_object->get_rating_class( $option['value'] ) . apply_filters( 'wppr_option_custom_icon', '' );
|
309 |
+
?>
|
310 |
<div class="rev-option" data-value="<?php echo $option['value']; ?>">
|
311 |
<div class="cwpr_clearfix">
|
312 |
<span>
|
313 |
<h3><?php echo esc_html( apply_filters( 'wppr_option_name_html', $option['name'] ) ); ?></h3>
|
314 |
</span>
|
315 |
+
<span><?php echo esc_html( number_format( ( $option['value'] / $scale ), 1 ) ); ?>/<?php echo $display; ?></span>
|
316 |
</div>
|
317 |
<ul class="cwpr_clearfix <?php echo $class_ul; ?>">
|
318 |
+
<?php
|
319 |
+
$rating = round( $option['value'] / $scale );
|
320 |
+
$start_from = is_rtl() ? ( $display + 1 - $rating ) : 1;
|
321 |
+
$stop_at = is_rtl() ? $display : $rating;
|
322 |
+
for ( $i = 1; $i <= $display; $i ++ ) {
|
323 |
+
?>
|
324 |
<li <?php echo $i >= $start_from && $i <= $stop_at ? ' class="colored"' : ''; ?>></li>
|
325 |
<?php
|
326 |
+
}
|
327 |
?>
|
328 |
</ul>
|
329 |
</div>
|
330 |
+
<?php
|
331 |
}
|
332 |
?>
|
333 |
</div>
|
338 |
<div class="wppr-review-grade-options <?php echo is_rtl() ? 'rtl' : ''; ?>">
|
339 |
<?php
|
340 |
foreach ( $review_object->get_options() as $option ) {
|
341 |
+
$review_option_rating = $option['value'];
|
342 |
+
?>
|
343 |
<div class="wppr-review-grade-option">
|
344 |
<div class="wppr-review-grade-option-header">
|
345 |
<span><?php echo esc_html( apply_filters( 'wppr_option_name_html', $option['name'] ) ); ?></span>
|
346 |
+
<span><?php echo esc_html( number_format( ( $review_option_rating / $scale ), 1 ) ); ?></span>
|
347 |
</div>
|
348 |
<div class="wppr-review-grade-option-rating wppr-default <?php echo $review_object->get_rating_class( $review_option_rating ); ?> <?php echo is_rtl() ? 'rtl' : ''; ?>">
|
349 |
<span class="<?php echo $review_object->get_rating_class( $review_option_rating ); ?>" style="
|
350 |
+
<?php
|
351 |
+
/**
|
352 |
+
* Adds min-width for amp support.
|
353 |
+
*/
|
354 |
+
echo 'width:' . esc_attr( is_rtl() ? ( 100 - $review_option_rating ) : $review_option_rating ) . '%; ';
|
355 |
+
echo esc_attr( apply_filters( 'wppr_review_option_rating_css', '', $review_option_rating ) );
|
356 |
+
?>
|
357 |
"></span>
|
358 |
</div>
|
359 |
</div><!-- end .wppr-review-grade-option -->
|
360 |
+
<?php
|
361 |
}
|
362 |
?>
|
363 |
</div><!-- end .wppr-review-grade-options -->
|
368 |
<div class="wppr-review-options">
|
369 |
<?php
|
370 |
foreach ( $review_object->get_options() as $option ) {
|
371 |
+
$review_option_rating = $option['value'];
|
372 |
+
?>
|
373 |
<div class="wppr-review-option">
|
374 |
<div class="wppr-review-option-header">
|
375 |
<span><?php echo esc_html( apply_filters( 'wppr_option_name_html', $option['name'] ) ); ?></span>
|
376 |
</div>
|
377 |
<ul class="wppr-review-option-rating <?php echo apply_filters( 'wppr_option_custom_icon', '' ); ?>">
|
378 |
+
<?php
|
379 |
+
$rating = round( $option['value'] / $scale );
|
380 |
+
$start_from = is_rtl() ? ( $display + 1 - $rating ) : 1;
|
381 |
+
$stop_at = is_rtl() ? $display : $rating;
|
382 |
+
for ( $i = 1; $i <= $display; $i ++ ) {
|
383 |
+
?>
|
384 |
<li class="<?php echo $i >= $start_from && $i <= $stop_at ? $review_object->get_rating_class( $option['value'] ) : ' wppr-default'; ?>"></li>
|
385 |
+
<?php
|
386 |
+
}
|
387 |
+
?>
|
388 |
</ul>
|
389 |
</div><!-- end .wppr-review-option -->
|
390 |
+
<?php
|
391 |
}
|
392 |
?>
|
393 |
</div><!-- end .wppr-review-options -->
|
includes/public/class-wppr-public.php
CHANGED
@@ -105,6 +105,12 @@ class Wppr_Public {
|
|
105 |
}
|
106 |
|
107 |
if ( $review->wppr_get_option( 'cwppos_show_userreview' ) === 'yes' ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
wp_enqueue_script( 'jquery-ui-slider' );
|
109 |
wp_enqueue_script( 'jquery-touch-punch' );
|
110 |
wp_enqueue_script(
|
@@ -116,10 +122,23 @@ class Wppr_Public {
|
|
116 |
$this->version,
|
117 |
true
|
118 |
);
|
|
|
|
|
119 |
wp_enqueue_style( $this->plugin_name . 'jqueryui', WPPR_URL . '/assets/css/jquery-ui.css', array(), $this->version );
|
120 |
wp_enqueue_style( $this->plugin_name . 'comments', WPPR_URL . '/assets/css/comments.css', array(), $this->version );
|
121 |
}
|
122 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
wp_enqueue_style( $this->plugin_name . '-' . $review->get_template() . '-stylesheet', WPPR_URL . '/assets/css/' . $review->get_template() . '.css', array(), $this->version );
|
124 |
wp_enqueue_style(
|
125 |
$this->plugin_name . '-percentage-circle',
|
@@ -163,13 +182,12 @@ class Wppr_Public {
|
|
163 |
return;
|
164 |
}
|
165 |
|
166 |
-
/**
|
167 |
-
* Remove any custom icon.
|
168 |
-
*/
|
169 |
-
add_filter( 'wppr_option_custom_icon', '__return_empty_string', 99 );
|
170 |
-
add_action( 'amp_post_template_head', array( $this, 'wppr_amp_add_fa' ), 999 );
|
171 |
-
|
172 |
$model = new WPPR_Query_Model();
|
|
|
|
|
|
|
|
|
|
|
173 |
if ( 'yes' === $model->wppr_get_option( 'wppr_amp' ) ) {
|
174 |
add_filter( 'wppr_review_option_rating_css', array( $this, 'amp_width_support' ), 99, 2 );
|
175 |
add_action( 'amp_post_template_css', array( $this, 'amp_styles' ), 999 );
|
@@ -440,6 +458,16 @@ class Wppr_Public {
|
|
440 |
}
|
441 |
';
|
442 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
443 |
return $style;
|
444 |
}
|
445 |
|
@@ -502,19 +530,19 @@ class Wppr_Public {
|
|
502 |
if ( $this->review->wppr_get_option( 'cwppos_show_userreview' ) !== 'yes' ) {
|
503 |
return '';
|
504 |
}
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
|
|
516 |
}
|
517 |
-
echo '<div id="wppr-slider-comment">' . implode( '', $sliders ) . '<div class="cwpr_clearfix"></div></div>';
|
518 |
|
519 |
}
|
520 |
|
@@ -551,13 +579,27 @@ class Wppr_Public {
|
|
551 |
if ( ! $valid_review ) {
|
552 |
return;
|
553 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
foreach ( $option_names as $k => $value ) {
|
555 |
if ( isset( $_POST[ 'wppr-slider-option-' . $k ] ) ) {
|
556 |
-
|
557 |
$option_value = wp_filter_nohtml_kses( $_POST[ 'wppr-slider-option-' . $k ] );
|
558 |
-
$option_value = empty( $value ) ? 0 : $option_value;
|
559 |
update_comment_meta( $comment_id, 'meta_option_' . $k, $option_value );
|
560 |
-
|
561 |
}
|
562 |
}
|
563 |
$review->update_comments_rating();
|
@@ -584,17 +626,31 @@ class Wppr_Public {
|
|
584 |
|
585 |
global $comment;
|
586 |
|
|
|
|
|
|
|
|
|
587 |
$options = $this->review->get_comment_options( $comment->comment_ID );
|
588 |
if ( empty( $options ) ) {
|
589 |
return $text;
|
590 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
591 |
$return = '';
|
592 |
$return .= '<div class="user-comments-grades">';
|
593 |
foreach ( $options as $k => $option ) {
|
594 |
-
$
|
|
|
|
|
|
|
595 |
$return .= '<div class="comment-meta-option">
|
596 |
<p class="comment-meta-option-name">' . $option['name'] . '</p>
|
597 |
-
<p class="comment-meta-option-grade">' . $
|
598 |
<div class="cwpr_clearfix"></div>
|
599 |
<div class="comment-meta-grade-bar ' . $this->review->get_rating_class( $int_grade ) . '">
|
600 |
<div class="comment-meta-grade" style="width: ' . $int_grade . '%"></div>
|
@@ -623,11 +679,11 @@ class Wppr_Public {
|
|
623 |
* AMP styles for WPPR review amp page.
|
624 |
*/
|
625 |
public function amp_styles() {
|
626 |
-
|
627 |
if ( empty( $this->review ) ) {
|
628 |
return;
|
629 |
}
|
630 |
$template_style = $this->review->get_template();
|
|
|
631 |
$amp_cache_key = '_wppr_amp_css_' . str_replace( '.', '_', $this->version ) . '_' . $template_style;
|
632 |
$output = get_transient( $amp_cache_key );
|
633 |
if ( empty( $output ) ) {
|
@@ -646,8 +702,9 @@ class Wppr_Public {
|
|
646 |
if ( $wp_filesystem->is_readable( WPPR_PATH . '/assets/css/' . $template_style . '.css' ) ) {
|
647 |
$output .= $wp_filesystem->get_contents( WPPR_PATH . '/assets/css/' . $template_style . '.css' );
|
648 |
}
|
649 |
-
$output .= $wp_filesystem->get_contents( WPPR_PATH . '/assets/css/rating-amp.css' );
|
650 |
$output .= $this->generate_styles();
|
|
|
|
|
651 |
$output = $this->minify_amp_css( $output );
|
652 |
|
653 |
set_transient( $amp_cache_key, $output, HOUR_IN_SECONDS );
|
@@ -701,10 +758,20 @@ class Wppr_Public {
|
|
701 |
}
|
702 |
|
703 |
/**
|
704 |
-
* Adding
|
705 |
*/
|
706 |
-
public function
|
707 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
708 |
}
|
709 |
|
710 |
/**
|
105 |
}
|
106 |
|
107 |
if ( $review->wppr_get_option( 'cwppos_show_userreview' ) === 'yes' ) {
|
108 |
+
$scale = $review->wppr_get_option( 'wppr_use_5_rating_scale' );
|
109 |
+
if ( empty( $scale ) ) {
|
110 |
+
$scale = 10;
|
111 |
+
}
|
112 |
+
$scale = 10 * ( 10 / $scale );
|
113 |
+
|
114 |
wp_enqueue_script( 'jquery-ui-slider' );
|
115 |
wp_enqueue_script( 'jquery-touch-punch' );
|
116 |
wp_enqueue_script(
|
122 |
$this->version,
|
123 |
true
|
124 |
);
|
125 |
+
wp_localize_script( $this->plugin_name . '-frontpage-js', 'wppr_config', array( 'scale' => $scale ) );
|
126 |
+
|
127 |
wp_enqueue_style( $this->plugin_name . 'jqueryui', WPPR_URL . '/assets/css/jquery-ui.css', array(), $this->version );
|
128 |
wp_enqueue_style( $this->plugin_name . 'comments', WPPR_URL . '/assets/css/comments.css', array(), $this->version );
|
129 |
}
|
130 |
|
131 |
+
$this->load_template_css( $review );
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Loads the CSS corresponding to the template.
|
136 |
+
*/
|
137 |
+
function load_template_css( $review = null ) {
|
138 |
+
if ( empty( $review ) ) {
|
139 |
+
$review = $this->review;
|
140 |
+
}
|
141 |
+
|
142 |
wp_enqueue_style( $this->plugin_name . '-' . $review->get_template() . '-stylesheet', WPPR_URL . '/assets/css/' . $review->get_template() . '.css', array(), $this->version );
|
143 |
wp_enqueue_style(
|
144 |
$this->plugin_name . '-percentage-circle',
|
182 |
return;
|
183 |
}
|
184 |
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
$model = new WPPR_Query_Model();
|
186 |
+
|
187 |
+
$icon = $model->wppr_get_option( 'cwppos_change_bar_icon' );
|
188 |
+
|
189 |
+
add_action( 'amp_post_template_head', array( $this, 'wppr_amp_add_styles' ), 999 );
|
190 |
+
|
191 |
if ( 'yes' === $model->wppr_get_option( 'wppr_amp' ) ) {
|
192 |
add_filter( 'wppr_review_option_rating_css', array( $this, 'amp_width_support' ), 99, 2 );
|
193 |
add_action( 'amp_post_template_css', array( $this, 'amp_styles' ), 999 );
|
458 |
}
|
459 |
';
|
460 |
|
461 |
+
$scale = $review->wppr_get_option( 'wppr_use_5_rating_scale' );
|
462 |
+
// phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
|
463 |
+
if ( 5 == $scale ) {
|
464 |
+
// change the styles to accommodate fewer icons (out of 5) in the same space.
|
465 |
+
$style .= '
|
466 |
+
#review-statistics .review-wu-bars ul li {
|
467 |
+
width: 18%;
|
468 |
+
}';
|
469 |
+
}
|
470 |
+
|
471 |
return $style;
|
472 |
}
|
473 |
|
530 |
if ( $this->review->wppr_get_option( 'cwppos_show_userreview' ) !== 'yes' ) {
|
531 |
return '';
|
532 |
}
|
533 |
+
|
534 |
+
if ( apply_filters( 'wppr_disable_comments', false, $this->review ) ) {
|
535 |
+
return '';
|
536 |
+
}
|
537 |
+
|
538 |
+
switch ( $this->review->wppr_get_option( 'wppr_comment_rating' ) ) {
|
539 |
+
case 'star':
|
540 |
+
include_once WPPR_PATH . '/includes/public/layouts/comment-rating-star-tpl.php';
|
541 |
+
break;
|
542 |
+
default:
|
543 |
+
include_once WPPR_PATH . '/includes/public/layouts/comment-rating-slider-tpl.php';
|
544 |
+
break;
|
545 |
}
|
|
|
546 |
|
547 |
}
|
548 |
|
579 |
if ( ! $valid_review ) {
|
580 |
return;
|
581 |
}
|
582 |
+
|
583 |
+
$scale = $review->wppr_get_option( 'wppr_use_5_rating_scale' );
|
584 |
+
if ( empty( $scale ) ) {
|
585 |
+
$scale = 10;
|
586 |
+
}
|
587 |
+
|
588 |
+
// for scale of 10 multiply by 1 and for scale of 5 multiply by 2. Store the comment rating as out-of-10 always.
|
589 |
+
$multiplier = ( 10 / $scale );
|
590 |
+
|
591 |
+
switch ( $review->wppr_get_option( 'wppr_comment_rating' ) ) {
|
592 |
+
case 'star':
|
593 |
+
// 5 stars means 1, 1.5, 2, 2.5 ... this means always multiply by 2. Store the comment rating as out-of-10 always.
|
594 |
+
$multiplier = 2;
|
595 |
+
break;
|
596 |
+
}
|
597 |
+
|
598 |
foreach ( $option_names as $k => $value ) {
|
599 |
if ( isset( $_POST[ 'wppr-slider-option-' . $k ] ) ) {
|
|
|
600 |
$option_value = wp_filter_nohtml_kses( $_POST[ 'wppr-slider-option-' . $k ] );
|
601 |
+
$option_value = $multiplier * ( empty( $value ) ? 0 : $option_value );
|
602 |
update_comment_meta( $comment_id, 'meta_option_' . $k, $option_value );
|
|
|
603 |
}
|
604 |
}
|
605 |
$review->update_comments_rating();
|
626 |
|
627 |
global $comment;
|
628 |
|
629 |
+
if ( ! $comment ) {
|
630 |
+
return $text;
|
631 |
+
}
|
632 |
+
|
633 |
$options = $this->review->get_comment_options( $comment->comment_ID );
|
634 |
if ( empty( $options ) ) {
|
635 |
return $text;
|
636 |
}
|
637 |
+
|
638 |
+
// in what scale to display the ratings?
|
639 |
+
$display = $this->review->wppr_get_option( 'wppr_use_5_rating_scale' );
|
640 |
+
if ( empty( $display ) ) {
|
641 |
+
$display = 10;
|
642 |
+
}
|
643 |
+
|
644 |
$return = '';
|
645 |
$return .= '<div class="user-comments-grades">';
|
646 |
foreach ( $options as $k => $option ) {
|
647 |
+
$value = $option['value'];
|
648 |
+
$int_grade = intval( $value * 10 );
|
649 |
+
// decrease the value to the display-scale from scale 10.
|
650 |
+
$value = round( floatval( $value / ( 10 / $display ) ), 2 );
|
651 |
$return .= '<div class="comment-meta-option">
|
652 |
<p class="comment-meta-option-name">' . $option['name'] . '</p>
|
653 |
+
<p class="comment-meta-option-grade">' . $value . '</p>
|
654 |
<div class="cwpr_clearfix"></div>
|
655 |
<div class="comment-meta-grade-bar ' . $this->review->get_rating_class( $int_grade ) . '">
|
656 |
<div class="comment-meta-grade" style="width: ' . $int_grade . '%"></div>
|
679 |
* AMP styles for WPPR review amp page.
|
680 |
*/
|
681 |
public function amp_styles() {
|
|
|
682 |
if ( empty( $this->review ) ) {
|
683 |
return;
|
684 |
}
|
685 |
$template_style = $this->review->get_template();
|
686 |
+
|
687 |
$amp_cache_key = '_wppr_amp_css_' . str_replace( '.', '_', $this->version ) . '_' . $template_style;
|
688 |
$output = get_transient( $amp_cache_key );
|
689 |
if ( empty( $output ) ) {
|
702 |
if ( $wp_filesystem->is_readable( WPPR_PATH . '/assets/css/' . $template_style . '.css' ) ) {
|
703 |
$output .= $wp_filesystem->get_contents( WPPR_PATH . '/assets/css/' . $template_style . '.css' );
|
704 |
}
|
|
|
705 |
$output .= $this->generate_styles();
|
706 |
+
$output .= $wp_filesystem->get_contents( WPPR_PATH . '/assets/css/rating-amp.css' );
|
707 |
+
$output = apply_filters( 'wppr_global_style', $output );
|
708 |
$output = $this->minify_amp_css( $output );
|
709 |
|
710 |
set_transient( $amp_cache_key, $output, HOUR_IN_SECONDS );
|
758 |
}
|
759 |
|
760 |
/**
|
761 |
+
* Adding FontAwesome/Dashicons at the header for AMP.
|
762 |
*/
|
763 |
+
public function wppr_amp_add_styles() {
|
764 |
+
$model = new WPPR_Query_Model();
|
765 |
+
|
766 |
+
$icon = $model->wppr_get_option( 'cwppos_change_bar_icon' );
|
767 |
+
|
768 |
+
// new free and old pro after removing fontawesome with an font awesome icon selected.
|
769 |
+
if ( ! empty( $icon ) ) {
|
770 |
+
if ( defined( 'WPPR_PRO_VERSION' ) && version_compare( WPPR_PRO_VERSION, '2.4', '<' ) && 'style1' !== $this->review->get_template() ) {
|
771 |
+
echo '<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">';
|
772 |
+
}
|
773 |
+
echo '<link rel="stylesheet" href="' . site_url( '/wp-includes/css/dashicons.min.css' ) . '"">';
|
774 |
+
}
|
775 |
}
|
776 |
|
777 |
/**
|
includes/public/layouts/comment-rating-slider-tpl.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$options = $this->review->get_options();
|
3 |
+
$option_names = wp_list_pluck( $options, 'name' );
|
4 |
+
$sliders = array();
|
5 |
+
|
6 |
+
foreach ( $option_names as $k => $value ) {
|
7 |
+
$sliders[] =
|
8 |
+
'<div class="wppr-comment-form-meta ' . ( is_rtl() ? 'rtl' : '' ) . '">
|
9 |
+
<label for="wppr-slider-option-' . $k . '">' . $value . '</label>
|
10 |
+
<input type="text" id="wppr-slider-option-' . $k . '" class="meta_option_input" value="" name="wppr-slider-option-' . $k . '" readonly="readonly">
|
11 |
+
<div class="wppr-comment-meta-slider"></div>
|
12 |
+
<div class="cwpr_clearfix"></div>
|
13 |
+
</div>';
|
14 |
+
}
|
15 |
+
|
16 |
+
$scale = $this->review->wppr_get_option( 'wppr_use_5_rating_scale' );
|
17 |
+
if ( empty( $scale ) ) {
|
18 |
+
$scale = 10;
|
19 |
+
}
|
20 |
+
|
21 |
+
echo '<input type="hidden" name="wppr-scale" value="' . $scale . '">';
|
22 |
+
echo '<div id="wppr-slider-comment">' . implode( '', $sliders ) . '<div class="cwpr_clearfix"></div></div>';
|
23 |
+
|
24 |
+
|
includes/public/layouts/comment-rating-star-tpl.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="wppr-comment-rating-stars">
|
2 |
+
<?php
|
3 |
+
$options = $this->review->get_options();
|
4 |
+
$option_names = wp_list_pluck( $options, 'name' );
|
5 |
+
|
6 |
+
foreach ( $option_names as $k => $name ) {
|
7 |
+
?>
|
8 |
+
<div class="wppr-comment-form-meta">
|
9 |
+
<label for="wppr-star-option-<?php echo $k; ?>"><?php echo $name; ?></label>
|
10 |
+
<div class="wppr-comment-rating-star <?php echo ( is_rtl() ? 'rtl' : '' ); ?> ">
|
11 |
+
<?php
|
12 |
+
$type = 'half';
|
13 |
+
for ( $x = 10; $x > 0; $x-- ) {
|
14 |
+
$value = round( $x / 2, 2 );
|
15 |
+
$type = $type === 'full' ? 'half' : 'full';
|
16 |
+
?>
|
17 |
+
<input type="radio" id="star<?php echo $x; ?><?php echo $k; ?>" name="wppr-slider-option-<?php echo $k; ?>" value="<?php echo $value; ?>" />
|
18 |
+
<label class="<?php echo $type; ?>" for="star<?php echo $x; ?><?php echo $k; ?>"></label>
|
19 |
+
<?php
|
20 |
+
}
|
21 |
+
?>
|
22 |
+
</div>
|
23 |
+
</div>
|
24 |
+
<?php
|
25 |
+
}
|
26 |
+
?>
|
27 |
+
</div>
|
includes/public/layouts/default.php
CHANGED
@@ -31,7 +31,7 @@ $cons = $review_object->get_cons();
|
|
31 |
<?php wppr_layout_get_image( $review_object, 'wppr-default-img', 'photo photo-wrapup wppr-product-image' ); ?>
|
32 |
</div>
|
33 |
|
34 |
-
<?php wppr_layout_get_rating( $review_object, 'donut', 'default', 'review-wu-grade' ); ?>
|
35 |
</div><!-- end .review-wu-left-top -->
|
36 |
|
37 |
<?php wppr_layout_get_options_ratings( $review_object, 'dashes' ); ?>
|
31 |
<?php wppr_layout_get_image( $review_object, 'wppr-default-img', 'photo photo-wrapup wppr-product-image' ); ?>
|
32 |
</div>
|
33 |
|
34 |
+
<?php wppr_layout_get_rating( $review_object, 'donut', 'default', array( 'review-wu-grade' ) ); ?>
|
35 |
</div><!-- end .review-wu-left-top -->
|
36 |
|
37 |
<?php wppr_layout_get_options_ratings( $review_object, 'dashes' ); ?>
|
includes/public/layouts/style1.php
CHANGED
@@ -21,7 +21,7 @@
|
|
21 |
|
22 |
<h2 class="wppr-review-name"><?php echo esc_html( $review_object->get_name() ); ?></h2>
|
23 |
|
24 |
-
<?php wppr_layout_get_rating( $review_object, 'stars', 'style1', false ); ?>
|
25 |
|
26 |
<div class="wppr-review-grade">
|
27 |
<div class="wppr-review-grade-number">
|
21 |
|
22 |
<h2 class="wppr-review-name"><?php echo esc_html( $review_object->get_name() ); ?></h2>
|
23 |
|
24 |
+
<?php wppr_layout_get_rating( $review_object, 'stars', 'style1', '', false ); ?>
|
25 |
|
26 |
<div class="wppr-review-grade">
|
27 |
<div class="wppr-review-grade-number">
|
includes/public/layouts/widget/default.php
CHANGED
@@ -52,7 +52,7 @@ foreach ( $results as $review ) :
|
|
52 |
$review_class = $review_object->get_rating_class();
|
53 |
if ( ! empty( $review_score ) ) {
|
54 |
?>
|
55 |
-
<?php wppr_layout_get_rating( $review_object, 'donut', 'style1-widget', 'review-grade-widget wppr-col' ); ?>
|
56 |
|
57 |
<?php } ?>
|
58 |
</li>
|
52 |
$review_class = $review_object->get_rating_class();
|
53 |
if ( ! empty( $review_score ) ) {
|
54 |
?>
|
55 |
+
<?php wppr_layout_get_rating( $review_object, 'donut', 'style1-widget', array( 'review-grade-widget wppr-col' ) ); ?>
|
56 |
|
57 |
<?php } ?>
|
58 |
</li>
|
package-lock.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
{
|
2 |
"name": "wp-product-review",
|
3 |
-
"version": "3.
|
4 |
"lockfileVersion": 1,
|
5 |
"requires": true,
|
6 |
"dependencies": {
|
@@ -134,7 +134,7 @@
|
|
134 |
"dev": true,
|
135 |
"requires": {
|
136 |
"glob": "7.0.6",
|
137 |
-
"graceful-fs": "4.
|
138 |
"lazystream": "1.0.0",
|
139 |
"lodash": "4.17.11",
|
140 |
"normalize-path": "2.1.1",
|
@@ -265,16 +265,17 @@
|
|
265 |
"dev": true
|
266 |
},
|
267 |
"autoprefixer": {
|
268 |
-
"version": "9.
|
269 |
-
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.
|
270 |
-
"integrity": "sha512-
|
271 |
"dev": true,
|
272 |
"requires": {
|
273 |
-
"browserslist": "4.6.
|
274 |
-
"caniuse-lite": "1.0.
|
|
|
275 |
"normalize-range": "0.1.2",
|
276 |
"num2fraction": "1.2.2",
|
277 |
-
"postcss": "7.0.
|
278 |
"postcss-value-parser": "3.3.1"
|
279 |
}
|
280 |
},
|
@@ -307,7 +308,7 @@
|
|
307 |
"component-emitter": "1.3.0",
|
308 |
"define-property": "1.0.0",
|
309 |
"isobject": "3.0.1",
|
310 |
-
"mixin-deep": "1.3.
|
311 |
"pascalcase": "0.1.1"
|
312 |
},
|
313 |
"dependencies": {
|
@@ -623,13 +624,13 @@
|
|
623 |
"dev": true,
|
624 |
"optional": true,
|
625 |
"requires": {
|
626 |
-
"inherits": "2.0.
|
627 |
}
|
628 |
},
|
629 |
"bluebird": {
|
630 |
-
"version": "3.5.
|
631 |
-
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.
|
632 |
-
"integrity": "sha512-
|
633 |
"dev": true
|
634 |
},
|
635 |
"body": {
|
@@ -690,14 +691,14 @@
|
|
690 |
}
|
691 |
},
|
692 |
"browserslist": {
|
693 |
-
"version": "4.6.
|
694 |
-
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.
|
695 |
-
"integrity": "sha512-
|
696 |
"dev": true,
|
697 |
"requires": {
|
698 |
-
"caniuse-lite": "1.0.
|
699 |
-
"electron-to-chromium": "1.3.
|
700 |
-
"node-releases": "1.1.
|
701 |
}
|
702 |
},
|
703 |
"buffer": {
|
@@ -755,9 +756,9 @@
|
|
755 |
"get-value": "2.0.6",
|
756 |
"has-value": "1.0.0",
|
757 |
"isobject": "3.0.1",
|
758 |
-
"set-value": "2.0.
|
759 |
"to-object-path": "0.3.0",
|
760 |
-
"union-value": "1.0.
|
761 |
"unset-value": "1.0.0"
|
762 |
}
|
763 |
},
|
@@ -767,7 +768,7 @@
|
|
767 |
"integrity": "sha1-HFQaoQilAQb2ML3Zj+HeyLoTP1E=",
|
768 |
"dev": true,
|
769 |
"requires": {
|
770 |
-
"graceful-fs": "4.
|
771 |
"mkdirp": "0.5.1",
|
772 |
"object-assign": "4.1.1",
|
773 |
"rimraf": "2.6.3"
|
@@ -821,9 +822,9 @@
|
|
821 |
}
|
822 |
},
|
823 |
"caniuse-lite": {
|
824 |
-
"version": "1.0.
|
825 |
-
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.
|
826 |
-
"integrity": "sha512-
|
827 |
"dev": true
|
828 |
},
|
829 |
"caseless": {
|
@@ -856,9 +857,9 @@
|
|
856 |
}
|
857 |
},
|
858 |
"chownr": {
|
859 |
-
"version": "1.1.
|
860 |
-
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.
|
861 |
-
"integrity": "sha512-
|
862 |
"dev": true,
|
863 |
"optional": true
|
864 |
},
|
@@ -903,7 +904,7 @@
|
|
903 |
"requires": {
|
904 |
"fs.realpath": "1.0.0",
|
905 |
"inflight": "1.0.6",
|
906 |
-
"inherits": "2.0.
|
907 |
"minimatch": "3.0.4",
|
908 |
"once": "1.4.0",
|
909 |
"path-is-absolute": "1.0.1"
|
@@ -1359,7 +1360,7 @@
|
|
1359 |
"decompress-tarbz2": "4.1.1",
|
1360 |
"decompress-targz": "4.1.1",
|
1361 |
"decompress-unzip": "4.0.1",
|
1362 |
-
"graceful-fs": "4.
|
1363 |
"make-dir": "1.3.0",
|
1364 |
"pify": "2.3.0",
|
1365 |
"strip-dirs": "2.1.0"
|
@@ -1677,9 +1678,9 @@
|
|
1677 |
"dev": true
|
1678 |
},
|
1679 |
"electron-to-chromium": {
|
1680 |
-
"version": "1.3.
|
1681 |
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.
|
1682 |
-
"integrity": "sha512-
|
1683 |
"dev": true
|
1684 |
},
|
1685 |
"encoding": {
|
@@ -2045,7 +2046,7 @@
|
|
2045 |
"integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
|
2046 |
"dev": true,
|
2047 |
"requires": {
|
2048 |
-
"websocket-driver": "0.7.
|
2049 |
}
|
2050 |
},
|
2051 |
"fd-slicer": {
|
@@ -2165,7 +2166,7 @@
|
|
2165 |
"dev": true,
|
2166 |
"requires": {
|
2167 |
"inflight": "1.0.6",
|
2168 |
-
"inherits": "2.0.
|
2169 |
"minimatch": "3.0.4",
|
2170 |
"once": "1.4.0",
|
2171 |
"path-is-absolute": "1.0.1"
|
@@ -2212,7 +2213,7 @@
|
|
2212 |
"dev": true,
|
2213 |
"optional": true,
|
2214 |
"requires": {
|
2215 |
-
"inherits": "2.0.
|
2216 |
"readable-stream": "2.3.6"
|
2217 |
}
|
2218 |
},
|
@@ -2228,7 +2229,7 @@
|
|
2228 |
"integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==",
|
2229 |
"dev": true,
|
2230 |
"requires": {
|
2231 |
-
"graceful-fs": "4.
|
2232 |
"jsonfile": "4.0.0",
|
2233 |
"universalify": "0.1.2"
|
2234 |
}
|
@@ -2245,8 +2246,8 @@
|
|
2245 |
"integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
|
2246 |
"dev": true,
|
2247 |
"requires": {
|
2248 |
-
"graceful-fs": "4.
|
2249 |
-
"inherits": "2.0.
|
2250 |
"mkdirp": "0.5.1",
|
2251 |
"rimraf": "2.6.3"
|
2252 |
}
|
@@ -2331,17 +2332,17 @@
|
|
2331 |
"dev": true,
|
2332 |
"requires": {
|
2333 |
"encoding": "0.1.12",
|
2334 |
-
"readable-stream": "3.
|
2335 |
"safe-buffer": "5.1.2"
|
2336 |
},
|
2337 |
"dependencies": {
|
2338 |
"readable-stream": {
|
2339 |
-
"version": "3.
|
2340 |
-
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.
|
2341 |
-
"integrity": "sha512-
|
2342 |
"dev": true,
|
2343 |
"requires": {
|
2344 |
-
"inherits": "2.0.
|
2345 |
"string_decoder": "1.1.1",
|
2346 |
"util-deprecate": "1.0.2"
|
2347 |
}
|
@@ -2429,7 +2430,7 @@
|
|
2429 |
"requires": {
|
2430 |
"fs.realpath": "1.0.0",
|
2431 |
"inflight": "1.0.6",
|
2432 |
-
"inherits": "2.0.
|
2433 |
"minimatch": "3.0.4",
|
2434 |
"once": "1.4.0",
|
2435 |
"path-is-absolute": "1.0.1"
|
@@ -2485,7 +2486,7 @@
|
|
2485 |
"requires": {
|
2486 |
"fs.realpath": "1.0.0",
|
2487 |
"inflight": "1.0.6",
|
2488 |
-
"inherits": "2.0.
|
2489 |
"minimatch": "3.0.4",
|
2490 |
"once": "1.4.0",
|
2491 |
"path-is-absolute": "1.0.1"
|
@@ -2524,7 +2525,7 @@
|
|
2524 |
"requires": {
|
2525 |
"fs.realpath": "1.0.0",
|
2526 |
"inflight": "1.0.6",
|
2527 |
-
"inherits": "2.0.
|
2528 |
"minimatch": "3.0.4",
|
2529 |
"once": "1.4.0",
|
2530 |
"path-is-absolute": "1.0.1"
|
@@ -2562,9 +2563,9 @@
|
|
2562 |
}
|
2563 |
},
|
2564 |
"graceful-fs": {
|
2565 |
-
"version": "4.
|
2566 |
-
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.
|
2567 |
-
"integrity": "sha512-
|
2568 |
"dev": true
|
2569 |
},
|
2570 |
"graceful-readlink": {
|
@@ -2940,7 +2941,7 @@
|
|
2940 |
"integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
|
2941 |
"dev": true,
|
2942 |
"requires": {
|
2943 |
-
"inherits": "2.0.
|
2944 |
"minimatch": "0.3.0"
|
2945 |
}
|
2946 |
},
|
@@ -3159,7 +3160,7 @@
|
|
3159 |
"version": "github:codeinwp/grunt-plugin-fleet#922540b800fafe8a89d60e82699afb8073c1b7c2",
|
3160 |
"dev": true,
|
3161 |
"requires": {
|
3162 |
-
"autoprefixer": "9.
|
3163 |
"grunt": "1.0.4",
|
3164 |
"grunt-cachebuster": "0.1.7",
|
3165 |
"grunt-checktextdomain": "1.0.1",
|
@@ -3178,11 +3179,11 @@
|
|
3178 |
"grunt-rsync": "3.0.0",
|
3179 |
"grunt-sync": "0.8.1",
|
3180 |
"grunt-text-replace": "0.4.0",
|
3181 |
-
"grunt-version": "1.3.
|
3182 |
"grunt-wp-css": "0.2.1",
|
3183 |
"grunt-wp-i18n": "1.0.3",
|
3184 |
"grunt-wp-readme-to-markdown": "2.0.1",
|
3185 |
-
"ignore": "5.1.
|
3186 |
"time-grunt": "1.4.0"
|
3187 |
}
|
3188 |
},
|
@@ -3238,7 +3239,7 @@
|
|
3238 |
"requires": {
|
3239 |
"fs.realpath": "1.0.0",
|
3240 |
"inflight": "1.0.6",
|
3241 |
-
"inherits": "2.0.
|
3242 |
"minimatch": "3.0.4",
|
3243 |
"once": "1.4.0",
|
3244 |
"path-is-absolute": "1.0.1"
|
@@ -3253,19 +3254,19 @@
|
|
3253 |
"dev": true
|
3254 |
},
|
3255 |
"grunt-version": {
|
3256 |
-
"version": "1.3.
|
3257 |
-
"resolved": "https://registry.npmjs.org/grunt-version/-/grunt-version-1.3.
|
3258 |
-
"integrity": "sha512-
|
3259 |
"dev": true,
|
3260 |
"requires": {
|
3261 |
"grunt": "1.0.4",
|
3262 |
-
"semver": "
|
3263 |
},
|
3264 |
"dependencies": {
|
3265 |
"semver": {
|
3266 |
-
"version": "
|
3267 |
-
"resolved": "https://registry.npmjs.org/semver/-/semver-
|
3268 |
-
"integrity": "
|
3269 |
"dev": true
|
3270 |
}
|
3271 |
}
|
@@ -3463,7 +3464,7 @@
|
|
3463 |
"dev": true,
|
3464 |
"requires": {
|
3465 |
"core-util-is": "1.0.2",
|
3466 |
-
"inherits": "2.0.
|
3467 |
"isarray": "0.0.1",
|
3468 |
"string_decoder": "0.10.31"
|
3469 |
}
|
@@ -3484,9 +3485,9 @@
|
|
3484 |
"optional": true
|
3485 |
},
|
3486 |
"http-parser-js": {
|
3487 |
-
"version": "0.
|
3488 |
-
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.
|
3489 |
-
"integrity": "
|
3490 |
"dev": true
|
3491 |
},
|
3492 |
"http-signature": {
|
@@ -3516,9 +3517,9 @@
|
|
3516 |
"dev": true
|
3517 |
},
|
3518 |
"ignore": {
|
3519 |
-
"version": "5.1.
|
3520 |
-
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.
|
3521 |
-
"integrity": "sha512-
|
3522 |
"dev": true
|
3523 |
},
|
3524 |
"iltorb": {
|
@@ -3636,9 +3637,9 @@
|
|
3636 |
"dev": true
|
3637 |
},
|
3638 |
"inherits": {
|
3639 |
-
"version": "2.0.
|
3640 |
-
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.
|
3641 |
-
"integrity": "
|
3642 |
"dev": true
|
3643 |
},
|
3644 |
"ini": {
|
@@ -4038,7 +4039,7 @@
|
|
4038 |
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
|
4039 |
"dev": true,
|
4040 |
"requires": {
|
4041 |
-
"graceful-fs": "4.
|
4042 |
}
|
4043 |
},
|
4044 |
"jsprim": {
|
@@ -4111,7 +4112,7 @@
|
|
4111 |
"dev": true,
|
4112 |
"requires": {
|
4113 |
"inflight": "1.0.6",
|
4114 |
-
"inherits": "2.0.
|
4115 |
"minimatch": "3.0.4",
|
4116 |
"once": "1.4.0",
|
4117 |
"path-is-absolute": "1.0.1"
|
@@ -4153,7 +4154,7 @@
|
|
4153 |
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
|
4154 |
"dev": true,
|
4155 |
"requires": {
|
4156 |
-
"graceful-fs": "4.
|
4157 |
"parse-json": "2.2.0",
|
4158 |
"pify": "2.3.0",
|
4159 |
"pinkie-promise": "2.0.1",
|
@@ -4374,9 +4375,9 @@
|
|
4374 |
"dev": true
|
4375 |
},
|
4376 |
"mixin-deep": {
|
4377 |
-
"version": "1.3.
|
4378 |
-
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.
|
4379 |
-
"integrity": "sha512-
|
4380 |
"dev": true,
|
4381 |
"requires": {
|
4382 |
"for-in": "1.0.2",
|
@@ -4462,9 +4463,9 @@
|
|
4462 |
"dev": true
|
4463 |
},
|
4464 |
"node-abi": {
|
4465 |
-
"version": "2.
|
4466 |
-
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.
|
4467 |
-
"integrity": "sha512-
|
4468 |
"dev": true,
|
4469 |
"optional": true,
|
4470 |
"requires": {
|
@@ -4480,7 +4481,7 @@
|
|
4480 |
"requires": {
|
4481 |
"fstream": "1.0.12",
|
4482 |
"glob": "7.0.6",
|
4483 |
-
"graceful-fs": "4.
|
4484 |
"mkdirp": "0.5.1",
|
4485 |
"nopt": "3.0.6",
|
4486 |
"npmlog": "4.1.2",
|
@@ -4502,9 +4503,9 @@
|
|
4502 |
}
|
4503 |
},
|
4504 |
"node-releases": {
|
4505 |
-
"version": "1.1.
|
4506 |
-
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.
|
4507 |
-
"integrity": "sha512-
|
4508 |
"dev": true,
|
4509 |
"requires": {
|
4510 |
"semver": "5.7.0"
|
@@ -4522,7 +4523,7 @@
|
|
4522 |
"integrity": "sha512-YMzMcsjXbGYDB9vHyb289CYXAGmXhcNLbeTlOnWgPNkZd9xrovcbRd7cQyKd9BQHOjS7Nw8WCbJ7nvtR7rc0rg==",
|
4523 |
"dev": true,
|
4524 |
"requires": {
|
4525 |
-
"bluebird": "3.5.
|
4526 |
"gettext-parser": "3.1.1",
|
4527 |
"glob": "7.0.6",
|
4528 |
"lodash": "4.17.11",
|
@@ -4554,7 +4555,7 @@
|
|
4554 |
"dev": true,
|
4555 |
"requires": {
|
4556 |
"hosted-git-info": "2.7.1",
|
4557 |
-
"resolve": "1.11.
|
4558 |
"semver": "5.7.0",
|
4559 |
"validate-npm-package-license": "3.0.4"
|
4560 |
}
|
@@ -4939,7 +4940,7 @@
|
|
4939 |
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
|
4940 |
"dev": true,
|
4941 |
"requires": {
|
4942 |
-
"graceful-fs": "4.
|
4943 |
"pify": "2.3.0",
|
4944 |
"pinkie-promise": "2.0.1"
|
4945 |
}
|
@@ -5002,9 +5003,9 @@
|
|
5002 |
"dev": true
|
5003 |
},
|
5004 |
"postcss": {
|
5005 |
-
"version": "7.0.
|
5006 |
-
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.
|
5007 |
-
"integrity": "sha512-
|
5008 |
"dev": true,
|
5009 |
"requires": {
|
5010 |
"chalk": "2.4.2",
|
@@ -5041,7 +5042,7 @@
|
|
5041 |
"github-from-package": "0.0.0",
|
5042 |
"minimist": "1.2.0",
|
5043 |
"mkdirp": "0.5.1",
|
5044 |
-
"node-abi": "2.
|
5045 |
"noop-logger": "0.1.1",
|
5046 |
"npmlog": "4.1.2",
|
5047 |
"os-homedir": "1.0.2",
|
@@ -5095,9 +5096,9 @@
|
|
5095 |
}
|
5096 |
},
|
5097 |
"process-nextick-args": {
|
5098 |
-
"version": "2.0.
|
5099 |
-
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.
|
5100 |
-
"integrity": "sha512-
|
5101 |
"dev": true
|
5102 |
},
|
5103 |
"proto-list": {
|
@@ -5113,9 +5114,9 @@
|
|
5113 |
"dev": true
|
5114 |
},
|
5115 |
"psl": {
|
5116 |
-
"version": "1.
|
5117 |
-
"resolved": "https://registry.npmjs.org/psl/-/psl-1.
|
5118 |
-
"integrity": "sha512
|
5119 |
"dev": true
|
5120 |
},
|
5121 |
"pump": {
|
@@ -5219,9 +5220,9 @@
|
|
5219 |
"dev": true,
|
5220 |
"requires": {
|
5221 |
"core-util-is": "1.0.2",
|
5222 |
-
"inherits": "2.0.
|
5223 |
"isarray": "1.0.0",
|
5224 |
-
"process-nextick-args": "2.0.
|
5225 |
"safe-buffer": "5.1.2",
|
5226 |
"string_decoder": "1.1.1",
|
5227 |
"util-deprecate": "1.0.2"
|
@@ -5330,9 +5331,9 @@
|
|
5330 |
}
|
5331 |
},
|
5332 |
"resolve": {
|
5333 |
-
"version": "1.11.
|
5334 |
-
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.
|
5335 |
-
"integrity": "sha512-
|
5336 |
"dev": true,
|
5337 |
"requires": {
|
5338 |
"path-parse": "1.0.6"
|
@@ -5377,7 +5378,7 @@
|
|
5377 |
"requires": {
|
5378 |
"fs.realpath": "1.0.0",
|
5379 |
"inflight": "1.0.6",
|
5380 |
-
"inherits": "2.0.
|
5381 |
"minimatch": "3.0.4",
|
5382 |
"once": "1.4.0",
|
5383 |
"path-is-absolute": "1.0.1"
|
@@ -5419,7 +5420,7 @@
|
|
5419 |
"dev": true,
|
5420 |
"requires": {
|
5421 |
"editions": "1.3.4",
|
5422 |
-
"graceful-fs": "4.
|
5423 |
}
|
5424 |
},
|
5425 |
"safer-buffer": {
|
@@ -5474,9 +5475,9 @@
|
|
5474 |
"dev": true
|
5475 |
},
|
5476 |
"set-value": {
|
5477 |
-
"version": "2.0.
|
5478 |
-
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.
|
5479 |
-
"integrity": "sha512-
|
5480 |
"dev": true,
|
5481 |
"requires": {
|
5482 |
"extend-shallow": "2.0.1",
|
@@ -5982,7 +5983,7 @@
|
|
5982 |
"requires": {
|
5983 |
"block-stream": "0.0.9",
|
5984 |
"fstream": "1.0.12",
|
5985 |
-
"inherits": "2.0.
|
5986 |
}
|
5987 |
},
|
5988 |
"tar-fs": {
|
@@ -5992,7 +5993,7 @@
|
|
5992 |
"dev": true,
|
5993 |
"optional": true,
|
5994 |
"requires": {
|
5995 |
-
"chownr": "1.1.
|
5996 |
"mkdirp": "0.5.1",
|
5997 |
"pump": "1.0.3",
|
5998 |
"tar-stream": "1.6.2"
|
@@ -6128,13 +6129,13 @@
|
|
6128 |
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
|
6129 |
"dev": true,
|
6130 |
"requires": {
|
6131 |
-
"ms": "2.1.
|
6132 |
}
|
6133 |
},
|
6134 |
"ms": {
|
6135 |
-
"version": "2.1.
|
6136 |
-
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.
|
6137 |
-
"integrity": "sha512-
|
6138 |
"dev": true
|
6139 |
}
|
6140 |
}
|
@@ -6202,7 +6203,7 @@
|
|
6202 |
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
|
6203 |
"dev": true,
|
6204 |
"requires": {
|
6205 |
-
"psl": "1.
|
6206 |
"punycode": "1.4.1"
|
6207 |
},
|
6208 |
"dependencies": {
|
@@ -6292,38 +6293,15 @@
|
|
6292 |
}
|
6293 |
},
|
6294 |
"union-value": {
|
6295 |
-
"version": "1.0.
|
6296 |
-
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.
|
6297 |
-
"integrity": "
|
6298 |
"dev": true,
|
6299 |
"requires": {
|
6300 |
"arr-union": "3.1.0",
|
6301 |
"get-value": "2.0.6",
|
6302 |
"is-extendable": "0.1.1",
|
6303 |
-
"set-value": "0.
|
6304 |
-
},
|
6305 |
-
"dependencies": {
|
6306 |
-
"extend-shallow": {
|
6307 |
-
"version": "2.0.1",
|
6308 |
-
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
6309 |
-
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
6310 |
-
"dev": true,
|
6311 |
-
"requires": {
|
6312 |
-
"is-extendable": "0.1.1"
|
6313 |
-
}
|
6314 |
-
},
|
6315 |
-
"set-value": {
|
6316 |
-
"version": "0.4.3",
|
6317 |
-
"resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
|
6318 |
-
"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
|
6319 |
-
"dev": true,
|
6320 |
-
"requires": {
|
6321 |
-
"extend-shallow": "2.0.1",
|
6322 |
-
"is-extendable": "0.1.1",
|
6323 |
-
"is-plain-object": "2.0.4",
|
6324 |
-
"to-object-path": "0.3.0"
|
6325 |
-
}
|
6326 |
-
}
|
6327 |
}
|
6328 |
},
|
6329 |
"universalify": {
|
@@ -6484,7 +6462,7 @@
|
|
6484 |
"integrity": "sha1-VQb0MRchvMYYx9jboUQYh1AwcHM=",
|
6485 |
"dev": true,
|
6486 |
"requires": {
|
6487 |
-
"inherits": "2.0.
|
6488 |
"minimatch": "0.2.14"
|
6489 |
}
|
6490 |
},
|
@@ -6522,12 +6500,13 @@
|
|
6522 |
"dev": true
|
6523 |
},
|
6524 |
"websocket-driver": {
|
6525 |
-
"version": "0.7.
|
6526 |
-
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.
|
6527 |
-
"integrity": "
|
6528 |
"dev": true,
|
6529 |
"requires": {
|
6530 |
-
"http-parser-js": "0.
|
|
|
6531 |
"websocket-extensions": "0.1.3"
|
6532 |
}
|
6533 |
},
|
1 |
{
|
2 |
"name": "wp-product-review",
|
3 |
+
"version": "3.7.0",
|
4 |
"lockfileVersion": 1,
|
5 |
"requires": true,
|
6 |
"dependencies": {
|
134 |
"dev": true,
|
135 |
"requires": {
|
136 |
"glob": "7.0.6",
|
137 |
+
"graceful-fs": "4.2.0",
|
138 |
"lazystream": "1.0.0",
|
139 |
"lodash": "4.17.11",
|
140 |
"normalize-path": "2.1.1",
|
265 |
"dev": true
|
266 |
},
|
267 |
"autoprefixer": {
|
268 |
+
"version": "9.6.0",
|
269 |
+
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.0.tgz",
|
270 |
+
"integrity": "sha512-kuip9YilBqhirhHEGHaBTZKXL//xxGnzvsD0FtBQa6z+A69qZD6s/BAX9VzDF1i9VKDquTJDQaPLSEhOnL6FvQ==",
|
271 |
"dev": true,
|
272 |
"requires": {
|
273 |
+
"browserslist": "4.6.3",
|
274 |
+
"caniuse-lite": "1.0.30000979",
|
275 |
+
"chalk": "2.4.2",
|
276 |
"normalize-range": "0.1.2",
|
277 |
"num2fraction": "1.2.2",
|
278 |
+
"postcss": "7.0.17",
|
279 |
"postcss-value-parser": "3.3.1"
|
280 |
}
|
281 |
},
|
308 |
"component-emitter": "1.3.0",
|
309 |
"define-property": "1.0.0",
|
310 |
"isobject": "3.0.1",
|
311 |
+
"mixin-deep": "1.3.2",
|
312 |
"pascalcase": "0.1.1"
|
313 |
},
|
314 |
"dependencies": {
|
624 |
"dev": true,
|
625 |
"optional": true,
|
626 |
"requires": {
|
627 |
+
"inherits": "2.0.4"
|
628 |
}
|
629 |
},
|
630 |
"bluebird": {
|
631 |
+
"version": "3.5.5",
|
632 |
+
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
|
633 |
+
"integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
|
634 |
"dev": true
|
635 |
},
|
636 |
"body": {
|
691 |
}
|
692 |
},
|
693 |
"browserslist": {
|
694 |
+
"version": "4.6.3",
|
695 |
+
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.3.tgz",
|
696 |
+
"integrity": "sha512-CNBqTCq22RKM8wKJNowcqihHJ4SkI8CGeK7KOR9tPboXUuS5Zk5lQgzzTbs4oxD8x+6HUshZUa2OyNI9lR93bQ==",
|
697 |
"dev": true,
|
698 |
"requires": {
|
699 |
+
"caniuse-lite": "1.0.30000979",
|
700 |
+
"electron-to-chromium": "1.3.186",
|
701 |
+
"node-releases": "1.1.25"
|
702 |
}
|
703 |
},
|
704 |
"buffer": {
|
756 |
"get-value": "2.0.6",
|
757 |
"has-value": "1.0.0",
|
758 |
"isobject": "3.0.1",
|
759 |
+
"set-value": "2.0.1",
|
760 |
"to-object-path": "0.3.0",
|
761 |
+
"union-value": "1.0.1",
|
762 |
"unset-value": "1.0.0"
|
763 |
}
|
764 |
},
|
768 |
"integrity": "sha1-HFQaoQilAQb2ML3Zj+HeyLoTP1E=",
|
769 |
"dev": true,
|
770 |
"requires": {
|
771 |
+
"graceful-fs": "4.2.0",
|
772 |
"mkdirp": "0.5.1",
|
773 |
"object-assign": "4.1.1",
|
774 |
"rimraf": "2.6.3"
|
822 |
}
|
823 |
},
|
824 |
"caniuse-lite": {
|
825 |
+
"version": "1.0.30000979",
|
826 |
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000979.tgz",
|
827 |
+
"integrity": "sha512-gcu45yfq3B7Y+WB05fOMfr0EiSlq+1u+m6rPHyJli/Wy3PVQNGaU7VA4bZE5qw+AU2UVOBR/N5g1bzADUqdvFw==",
|
828 |
"dev": true
|
829 |
},
|
830 |
"caseless": {
|
857 |
}
|
858 |
},
|
859 |
"chownr": {
|
860 |
+
"version": "1.1.2",
|
861 |
+
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz",
|
862 |
+
"integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==",
|
863 |
"dev": true,
|
864 |
"optional": true
|
865 |
},
|
904 |
"requires": {
|
905 |
"fs.realpath": "1.0.0",
|
906 |
"inflight": "1.0.6",
|
907 |
+
"inherits": "2.0.4",
|
908 |
"minimatch": "3.0.4",
|
909 |
"once": "1.4.0",
|
910 |
"path-is-absolute": "1.0.1"
|
1360 |
"decompress-tarbz2": "4.1.1",
|
1361 |
"decompress-targz": "4.1.1",
|
1362 |
"decompress-unzip": "4.0.1",
|
1363 |
+
"graceful-fs": "4.2.0",
|
1364 |
"make-dir": "1.3.0",
|
1365 |
"pify": "2.3.0",
|
1366 |
"strip-dirs": "2.1.0"
|
1678 |
"dev": true
|
1679 |
},
|
1680 |
"electron-to-chromium": {
|
1681 |
+
"version": "1.3.186",
|
1682 |
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.186.tgz",
|
1683 |
+
"integrity": "sha512-lRyyEUDKenKv/EBVFgfDZDYTDdoAZhzuE+inMUP79+22NDPAA2Ox+f3AShILIjPoUIqRGwvPNbzFcyU8km8g4A==",
|
1684 |
"dev": true
|
1685 |
},
|
1686 |
"encoding": {
|
2046 |
"integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
|
2047 |
"dev": true,
|
2048 |
"requires": {
|
2049 |
+
"websocket-driver": "0.7.3"
|
2050 |
}
|
2051 |
},
|
2052 |
"fd-slicer": {
|
2166 |
"dev": true,
|
2167 |
"requires": {
|
2168 |
"inflight": "1.0.6",
|
2169 |
+
"inherits": "2.0.4",
|
2170 |
"minimatch": "3.0.4",
|
2171 |
"once": "1.4.0",
|
2172 |
"path-is-absolute": "1.0.1"
|
2213 |
"dev": true,
|
2214 |
"optional": true,
|
2215 |
"requires": {
|
2216 |
+
"inherits": "2.0.4",
|
2217 |
"readable-stream": "2.3.6"
|
2218 |
}
|
2219 |
},
|
2229 |
"integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==",
|
2230 |
"dev": true,
|
2231 |
"requires": {
|
2232 |
+
"graceful-fs": "4.2.0",
|
2233 |
"jsonfile": "4.0.0",
|
2234 |
"universalify": "0.1.2"
|
2235 |
}
|
2246 |
"integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
|
2247 |
"dev": true,
|
2248 |
"requires": {
|
2249 |
+
"graceful-fs": "4.2.0",
|
2250 |
+
"inherits": "2.0.4",
|
2251 |
"mkdirp": "0.5.1",
|
2252 |
"rimraf": "2.6.3"
|
2253 |
}
|
2332 |
"dev": true,
|
2333 |
"requires": {
|
2334 |
"encoding": "0.1.12",
|
2335 |
+
"readable-stream": "3.4.0",
|
2336 |
"safe-buffer": "5.1.2"
|
2337 |
},
|
2338 |
"dependencies": {
|
2339 |
"readable-stream": {
|
2340 |
+
"version": "3.4.0",
|
2341 |
+
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
|
2342 |
+
"integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
|
2343 |
"dev": true,
|
2344 |
"requires": {
|
2345 |
+
"inherits": "2.0.4",
|
2346 |
"string_decoder": "1.1.1",
|
2347 |
"util-deprecate": "1.0.2"
|
2348 |
}
|
2430 |
"requires": {
|
2431 |
"fs.realpath": "1.0.0",
|
2432 |
"inflight": "1.0.6",
|
2433 |
+
"inherits": "2.0.4",
|
2434 |
"minimatch": "3.0.4",
|
2435 |
"once": "1.4.0",
|
2436 |
"path-is-absolute": "1.0.1"
|
2486 |
"requires": {
|
2487 |
"fs.realpath": "1.0.0",
|
2488 |
"inflight": "1.0.6",
|
2489 |
+
"inherits": "2.0.4",
|
2490 |
"minimatch": "3.0.4",
|
2491 |
"once": "1.4.0",
|
2492 |
"path-is-absolute": "1.0.1"
|
2525 |
"requires": {
|
2526 |
"fs.realpath": "1.0.0",
|
2527 |
"inflight": "1.0.6",
|
2528 |
+
"inherits": "2.0.4",
|
2529 |
"minimatch": "3.0.4",
|
2530 |
"once": "1.4.0",
|
2531 |
"path-is-absolute": "1.0.1"
|
2563 |
}
|
2564 |
},
|
2565 |
"graceful-fs": {
|
2566 |
+
"version": "4.2.0",
|
2567 |
+
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz",
|
2568 |
+
"integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==",
|
2569 |
"dev": true
|
2570 |
},
|
2571 |
"graceful-readlink": {
|
2941 |
"integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
|
2942 |
"dev": true,
|
2943 |
"requires": {
|
2944 |
+
"inherits": "2.0.4",
|
2945 |
"minimatch": "0.3.0"
|
2946 |
}
|
2947 |
},
|
3160 |
"version": "github:codeinwp/grunt-plugin-fleet#922540b800fafe8a89d60e82699afb8073c1b7c2",
|
3161 |
"dev": true,
|
3162 |
"requires": {
|
3163 |
+
"autoprefixer": "9.6.0",
|
3164 |
"grunt": "1.0.4",
|
3165 |
"grunt-cachebuster": "0.1.7",
|
3166 |
"grunt-checktextdomain": "1.0.1",
|
3179 |
"grunt-rsync": "3.0.0",
|
3180 |
"grunt-sync": "0.8.1",
|
3181 |
"grunt-text-replace": "0.4.0",
|
3182 |
+
"grunt-version": "1.3.1",
|
3183 |
"grunt-wp-css": "0.2.1",
|
3184 |
"grunt-wp-i18n": "1.0.3",
|
3185 |
"grunt-wp-readme-to-markdown": "2.0.1",
|
3186 |
+
"ignore": "5.1.2",
|
3187 |
"time-grunt": "1.4.0"
|
3188 |
}
|
3189 |
},
|
3239 |
"requires": {
|
3240 |
"fs.realpath": "1.0.0",
|
3241 |
"inflight": "1.0.6",
|
3242 |
+
"inherits": "2.0.4",
|
3243 |
"minimatch": "3.0.4",
|
3244 |
"once": "1.4.0",
|
3245 |
"path-is-absolute": "1.0.1"
|
3254 |
"dev": true
|
3255 |
},
|
3256 |
"grunt-version": {
|
3257 |
+
"version": "1.3.1",
|
3258 |
+
"resolved": "https://registry.npmjs.org/grunt-version/-/grunt-version-1.3.1.tgz",
|
3259 |
+
"integrity": "sha512-EIx829NfFSAG3EbBKTAH15rj5SutSnjdZwVr80qWrmuVU4vOqP1S8RB3ghzetBYSiNBozKMNS+zeA6+jhmshUw==",
|
3260 |
"dev": true,
|
3261 |
"requires": {
|
3262 |
"grunt": "1.0.4",
|
3263 |
+
"semver": "6.2.0"
|
3264 |
},
|
3265 |
"dependencies": {
|
3266 |
"semver": {
|
3267 |
+
"version": "6.2.0",
|
3268 |
+
"resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz",
|
3269 |
+
"integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==",
|
3270 |
"dev": true
|
3271 |
}
|
3272 |
}
|
3464 |
"dev": true,
|
3465 |
"requires": {
|
3466 |
"core-util-is": "1.0.2",
|
3467 |
+
"inherits": "2.0.4",
|
3468 |
"isarray": "0.0.1",
|
3469 |
"string_decoder": "0.10.31"
|
3470 |
}
|
3485 |
"optional": true
|
3486 |
},
|
3487 |
"http-parser-js": {
|
3488 |
+
"version": "0.4.10",
|
3489 |
+
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
|
3490 |
+
"integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=",
|
3491 |
"dev": true
|
3492 |
},
|
3493 |
"http-signature": {
|
3517 |
"dev": true
|
3518 |
},
|
3519 |
"ignore": {
|
3520 |
+
"version": "5.1.2",
|
3521 |
+
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.2.tgz",
|
3522 |
+
"integrity": "sha512-vdqWBp7MyzdmHkkRWV5nY+PfGRbYbahfuvsBCh277tq+w9zyNi7h5CYJCK0kmzti9kU+O/cB7sE8HvKv6aXAKQ==",
|
3523 |
"dev": true
|
3524 |
},
|
3525 |
"iltorb": {
|
3637 |
"dev": true
|
3638 |
},
|
3639 |
"inherits": {
|
3640 |
+
"version": "2.0.4",
|
3641 |
+
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
3642 |
+
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
3643 |
"dev": true
|
3644 |
},
|
3645 |
"ini": {
|
4039 |
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
|
4040 |
"dev": true,
|
4041 |
"requires": {
|
4042 |
+
"graceful-fs": "4.2.0"
|
4043 |
}
|
4044 |
},
|
4045 |
"jsprim": {
|
4112 |
"dev": true,
|
4113 |
"requires": {
|
4114 |
"inflight": "1.0.6",
|
4115 |
+
"inherits": "2.0.4",
|
4116 |
"minimatch": "3.0.4",
|
4117 |
"once": "1.4.0",
|
4118 |
"path-is-absolute": "1.0.1"
|
4154 |
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
|
4155 |
"dev": true,
|
4156 |
"requires": {
|
4157 |
+
"graceful-fs": "4.2.0",
|
4158 |
"parse-json": "2.2.0",
|
4159 |
"pify": "2.3.0",
|
4160 |
"pinkie-promise": "2.0.1",
|
4375 |
"dev": true
|
4376 |
},
|
4377 |
"mixin-deep": {
|
4378 |
+
"version": "1.3.2",
|
4379 |
+
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
|
4380 |
+
"integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
|
4381 |
"dev": true,
|
4382 |
"requires": {
|
4383 |
"for-in": "1.0.2",
|
4463 |
"dev": true
|
4464 |
},
|
4465 |
"node-abi": {
|
4466 |
+
"version": "2.9.0",
|
4467 |
+
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.9.0.tgz",
|
4468 |
+
"integrity": "sha512-jmEOvv0eanWjhX8dX1pmjb7oJl1U1oR4FOh0b2GnvALwSYoOdU7sj+kLDSAyjo4pfC9aj/IxkloxdLJQhSSQBA==",
|
4469 |
"dev": true,
|
4470 |
"optional": true,
|
4471 |
"requires": {
|
4481 |
"requires": {
|
4482 |
"fstream": "1.0.12",
|
4483 |
"glob": "7.0.6",
|
4484 |
+
"graceful-fs": "4.2.0",
|
4485 |
"mkdirp": "0.5.1",
|
4486 |
"nopt": "3.0.6",
|
4487 |
"npmlog": "4.1.2",
|
4503 |
}
|
4504 |
},
|
4505 |
"node-releases": {
|
4506 |
+
"version": "1.1.25",
|
4507 |
+
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.25.tgz",
|
4508 |
+
"integrity": "sha512-fI5BXuk83lKEoZDdH3gRhtsNgh05/wZacuXkgbiYkceE7+QIMXOg98n9ZV7mz27B+kFHnqHcUpscZZlGRSmTpQ==",
|
4509 |
"dev": true,
|
4510 |
"requires": {
|
4511 |
"semver": "5.7.0"
|
4523 |
"integrity": "sha512-YMzMcsjXbGYDB9vHyb289CYXAGmXhcNLbeTlOnWgPNkZd9xrovcbRd7cQyKd9BQHOjS7Nw8WCbJ7nvtR7rc0rg==",
|
4524 |
"dev": true,
|
4525 |
"requires": {
|
4526 |
+
"bluebird": "3.5.5",
|
4527 |
"gettext-parser": "3.1.1",
|
4528 |
"glob": "7.0.6",
|
4529 |
"lodash": "4.17.11",
|
4555 |
"dev": true,
|
4556 |
"requires": {
|
4557 |
"hosted-git-info": "2.7.1",
|
4558 |
+
"resolve": "1.11.1",
|
4559 |
"semver": "5.7.0",
|
4560 |
"validate-npm-package-license": "3.0.4"
|
4561 |
}
|
4940 |
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
|
4941 |
"dev": true,
|
4942 |
"requires": {
|
4943 |
+
"graceful-fs": "4.2.0",
|
4944 |
"pify": "2.3.0",
|
4945 |
"pinkie-promise": "2.0.1"
|
4946 |
}
|
5003 |
"dev": true
|
5004 |
},
|
5005 |
"postcss": {
|
5006 |
+
"version": "7.0.17",
|
5007 |
+
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.17.tgz",
|
5008 |
+
"integrity": "sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ==",
|
5009 |
"dev": true,
|
5010 |
"requires": {
|
5011 |
"chalk": "2.4.2",
|
5042 |
"github-from-package": "0.0.0",
|
5043 |
"minimist": "1.2.0",
|
5044 |
"mkdirp": "0.5.1",
|
5045 |
+
"node-abi": "2.9.0",
|
5046 |
"noop-logger": "0.1.1",
|
5047 |
"npmlog": "4.1.2",
|
5048 |
"os-homedir": "1.0.2",
|
5096 |
}
|
5097 |
},
|
5098 |
"process-nextick-args": {
|
5099 |
+
"version": "2.0.1",
|
5100 |
+
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
5101 |
+
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
|
5102 |
"dev": true
|
5103 |
},
|
5104 |
"proto-list": {
|
5114 |
"dev": true
|
5115 |
},
|
5116 |
"psl": {
|
5117 |
+
"version": "1.2.0",
|
5118 |
+
"resolved": "https://registry.npmjs.org/psl/-/psl-1.2.0.tgz",
|
5119 |
+
"integrity": "sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA==",
|
5120 |
"dev": true
|
5121 |
},
|
5122 |
"pump": {
|
5220 |
"dev": true,
|
5221 |
"requires": {
|
5222 |
"core-util-is": "1.0.2",
|
5223 |
+
"inherits": "2.0.4",
|
5224 |
"isarray": "1.0.0",
|
5225 |
+
"process-nextick-args": "2.0.1",
|
5226 |
"safe-buffer": "5.1.2",
|
5227 |
"string_decoder": "1.1.1",
|
5228 |
"util-deprecate": "1.0.2"
|
5331 |
}
|
5332 |
},
|
5333 |
"resolve": {
|
5334 |
+
"version": "1.11.1",
|
5335 |
+
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz",
|
5336 |
+
"integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==",
|
5337 |
"dev": true,
|
5338 |
"requires": {
|
5339 |
"path-parse": "1.0.6"
|
5378 |
"requires": {
|
5379 |
"fs.realpath": "1.0.0",
|
5380 |
"inflight": "1.0.6",
|
5381 |
+
"inherits": "2.0.4",
|
5382 |
"minimatch": "3.0.4",
|
5383 |
"once": "1.4.0",
|
5384 |
"path-is-absolute": "1.0.1"
|
5420 |
"dev": true,
|
5421 |
"requires": {
|
5422 |
"editions": "1.3.4",
|
5423 |
+
"graceful-fs": "4.2.0"
|
5424 |
}
|
5425 |
},
|
5426 |
"safer-buffer": {
|
5475 |
"dev": true
|
5476 |
},
|
5477 |
"set-value": {
|
5478 |
+
"version": "2.0.1",
|
5479 |
+
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
|
5480 |
+
"integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
|
5481 |
"dev": true,
|
5482 |
"requires": {
|
5483 |
"extend-shallow": "2.0.1",
|
5983 |
"requires": {
|
5984 |
"block-stream": "0.0.9",
|
5985 |
"fstream": "1.0.12",
|
5986 |
+
"inherits": "2.0.4"
|
5987 |
}
|
5988 |
},
|
5989 |
"tar-fs": {
|
5993 |
"dev": true,
|
5994 |
"optional": true,
|
5995 |
"requires": {
|
5996 |
+
"chownr": "1.1.2",
|
5997 |
"mkdirp": "0.5.1",
|
5998 |
"pump": "1.0.3",
|
5999 |
"tar-stream": "1.6.2"
|
6129 |
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
|
6130 |
"dev": true,
|
6131 |
"requires": {
|
6132 |
+
"ms": "2.1.2"
|
6133 |
}
|
6134 |
},
|
6135 |
"ms": {
|
6136 |
+
"version": "2.1.2",
|
6137 |
+
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
6138 |
+
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
6139 |
"dev": true
|
6140 |
}
|
6141 |
}
|
6203 |
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
|
6204 |
"dev": true,
|
6205 |
"requires": {
|
6206 |
+
"psl": "1.2.0",
|
6207 |
"punycode": "1.4.1"
|
6208 |
},
|
6209 |
"dependencies": {
|
6293 |
}
|
6294 |
},
|
6295 |
"union-value": {
|
6296 |
+
"version": "1.0.1",
|
6297 |
+
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
|
6298 |
+
"integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
|
6299 |
"dev": true,
|
6300 |
"requires": {
|
6301 |
"arr-union": "3.1.0",
|
6302 |
"get-value": "2.0.6",
|
6303 |
"is-extendable": "0.1.1",
|
6304 |
+
"set-value": "2.0.1"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6305 |
}
|
6306 |
},
|
6307 |
"universalify": {
|
6462 |
"integrity": "sha1-VQb0MRchvMYYx9jboUQYh1AwcHM=",
|
6463 |
"dev": true,
|
6464 |
"requires": {
|
6465 |
+
"inherits": "2.0.4",
|
6466 |
"minimatch": "0.2.14"
|
6467 |
}
|
6468 |
},
|
6500 |
"dev": true
|
6501 |
},
|
6502 |
"websocket-driver": {
|
6503 |
+
"version": "0.7.3",
|
6504 |
+
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",
|
6505 |
+
"integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==",
|
6506 |
"dev": true,
|
6507 |
"requires": {
|
6508 |
+
"http-parser-js": "0.4.10",
|
6509 |
+
"safe-buffer": "5.1.2",
|
6510 |
"websocket-extensions": "0.1.3"
|
6511 |
}
|
6512 |
},
|
readme.md
CHANGED
@@ -39,7 +39,7 @@ Easily turn your basic posts into in-depth reviews with ratings, pros and cons,
|
|
39 |
|
40 |
If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-wordpress-hosting/" rel="nofollow">fastest WordPress hosting</a> or which <a href="http://www.codeinwp.com/blog/15-best-wordpress-review-themes/" rel="nofollow">review themes</a> are playing nice with WP Product review, checkout our blog.
|
41 |
|
42 |
-
= See how WP Product Review can integrate with your website =
|
43 |
|
44 |
* [Default review](https://demo.themeisle.com/wp-product-review/sample-review/)
|
45 |
* [Custom icons ratings](https://demo.themeisle.com/wp-product-review/custom-icons/)
|
@@ -61,12 +61,15 @@ If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-
|
|
61 |
- Add specific user review options to wordpress comments
|
62 |
- Add rich snippet ( schema ) to your posts
|
63 |
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
-
* sk_SK translation by Patrik Žec (PATWIST) of http://patwist.com
|
67 |
-
* fr_FR translation by Jacques Soule of http://wordpress-pour-vous.com/
|
68 |
|
69 |
-
## Changelog ##
|
70 |
### 3.6.1 - 2019-05-22 ###
|
71 |
|
72 |
* Fix error in structured data
|
@@ -763,9 +766,12 @@ https://themeisle.com/contact
|
|
763 |
## Screenshots ##
|
764 |
|
765 |
1. Screenshot 1 Wrap-up review widget that is added at the end of the posts
|
766 |
-
2. Screenshot 2
|
767 |
-
3. Screenshot 3
|
768 |
-
4. Screenshot 4
|
|
|
|
|
|
|
769 |
|
770 |
for more you can check out
|
771 |
|
39 |
|
40 |
If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-wordpress-hosting/" rel="nofollow">fastest WordPress hosting</a> or which <a href="http://www.codeinwp.com/blog/15-best-wordpress-review-themes/" rel="nofollow">review themes</a> are playing nice with WP Product review, checkout our blog.
|
41 |
|
42 |
+
= See how WP Product Review PRO can integrate with your website =
|
43 |
|
44 |
* [Default review](https://demo.themeisle.com/wp-product-review/sample-review/)
|
45 |
* [Custom icons ratings](https://demo.themeisle.com/wp-product-review/custom-icons/)
|
61 |
- Add specific user review options to wordpress comments
|
62 |
- Add rich snippet ( schema ) to your posts
|
63 |
|
64 |
+
## Changelog ##
|
65 |
+
### 3.7.0 - 2019-07-04 ###
|
66 |
+
|
67 |
+
* Add rating scale out of 5
|
68 |
+
* Add star rating
|
69 |
+
* Fix UI for AMP requests
|
70 |
+
* Added filter to disable comments per review
|
71 |
|
|
|
|
|
72 |
|
|
|
73 |
### 3.6.1 - 2019-05-22 ###
|
74 |
|
75 |
* Fix error in structured data
|
766 |
## Screenshots ##
|
767 |
|
768 |
1. Screenshot 1 Wrap-up review widget that is added at the end of the posts
|
769 |
+
2. Screenshot 2 Review comment on a scale of 5 with slider rating
|
770 |
+
3. Screenshot 3 Review comment on a scale of 10 with slider rating
|
771 |
+
4. Screenshot 4 Review comment with star rating
|
772 |
+
5. Screenshot 5 Settings configuration screen
|
773 |
+
6. Screenshot 6 Rich Snippets displayed in Google
|
774 |
+
7. Screenshot 7 How ratings appear as comments
|
775 |
|
776 |
for more you can check out
|
777 |
|
readme.txt
CHANGED
@@ -39,7 +39,7 @@ Easily turn your basic posts into in-depth reviews with ratings, pros and cons,
|
|
39 |
|
40 |
If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-wordpress-hosting/" rel="nofollow">fastest WordPress hosting</a> or which <a href="http://www.codeinwp.com/blog/15-best-wordpress-review-themes/" rel="nofollow">review themes</a> are playing nice with WP Product review, checkout our blog.
|
41 |
|
42 |
-
= See how WP Product Review can integrate with your website =
|
43 |
|
44 |
* [Default review](https://demo.themeisle.com/wp-product-review/sample-review/)
|
45 |
* [Custom icons ratings](https://demo.themeisle.com/wp-product-review/custom-icons/)
|
@@ -61,12 +61,15 @@ If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-
|
|
61 |
- Add specific user review options to wordpress comments
|
62 |
- Add rich snippet ( schema ) to your posts
|
63 |
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
-
* sk_SK translation by Patrik Žec (PATWIST) of http://patwist.com
|
67 |
-
* fr_FR translation by Jacques Soule of http://wordpress-pour-vous.com/
|
68 |
|
69 |
-
== Changelog ==
|
70 |
= 3.6.1 - 2019-05-22 =
|
71 |
|
72 |
* Fix error in structured data
|
@@ -562,6 +565,7 @@ Alternatively you can also follow the following steps to install the WP Product
|
|
562 |
|
563 |
|
564 |
|
|
|
565 |
= How to activate user reviews =
|
566 |
|
567 |
By default user reviews are disabled since not all the themes are compatible with this option due to different designs for the comment box. You can easily activate them from General Settings
|
@@ -755,6 +759,24 @@ https://themeisle.com/contact
|
|
755 |
= How to change the widget image size in WP Product Review =
|
756 |
[https://docs.themeisle.com/article/1056-how-to-change-the-widget-image-size-in-wp-product-review](https://docs.themeisle.com/article/1056-how-to-change-the-widget-image-size-in-wp-product-review)
|
757 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
758 |
== Upgrade Notice ==
|
759 |
|
760 |
= 3.0 =
|
@@ -763,9 +785,12 @@ https://themeisle.com/contact
|
|
763 |
== Screenshots ==
|
764 |
|
765 |
1. Screenshot 1 Wrap-up review widget that is added at the end of the posts
|
766 |
-
2. Screenshot 2
|
767 |
-
3. Screenshot 3
|
768 |
-
4. Screenshot 4
|
|
|
|
|
|
|
769 |
|
770 |
for more you can check out
|
771 |
|
39 |
|
40 |
If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-wordpress-hosting/" rel="nofollow">fastest WordPress hosting</a> or which <a href="http://www.codeinwp.com/blog/15-best-wordpress-review-themes/" rel="nofollow">review themes</a> are playing nice with WP Product review, checkout our blog.
|
41 |
|
42 |
+
= See how WP Product Review PRO can integrate with your website =
|
43 |
|
44 |
* [Default review](https://demo.themeisle.com/wp-product-review/sample-review/)
|
45 |
* [Custom icons ratings](https://demo.themeisle.com/wp-product-review/custom-icons/)
|
61 |
- Add specific user review options to wordpress comments
|
62 |
- Add rich snippet ( schema ) to your posts
|
63 |
|
64 |
+
== Changelog ==
|
65 |
+
= 3.7.0 - 2019-07-04 =
|
66 |
+
|
67 |
+
* Add rating scale out of 5
|
68 |
+
* Add star rating
|
69 |
+
* Fix UI for AMP requests
|
70 |
+
* Added filter to disable comments per review
|
71 |
|
|
|
|
|
72 |
|
|
|
73 |
= 3.6.1 - 2019-05-22 =
|
74 |
|
75 |
* Fix error in structured data
|
565 |
|
566 |
|
567 |
|
568 |
+
|
569 |
= How to activate user reviews =
|
570 |
|
571 |
By default user reviews are disabled since not all the themes are compatible with this option due to different designs for the comment box. You can easily activate them from General Settings
|
759 |
= How to change the widget image size in WP Product Review =
|
760 |
[https://docs.themeisle.com/article/1056-how-to-change-the-widget-image-size-in-wp-product-review](https://docs.themeisle.com/article/1056-how-to-change-the-widget-image-size-in-wp-product-review)
|
761 |
|
762 |
+
= How to make Comment Review option work in any theme =
|
763 |
+
[https://docs.themeisle.com/article/54-why-comment-review-option-is-not-working-with-my-theme](https://docs.themeisle.com/article/54-why-comment-review-option-is-not-working-with-my-theme)
|
764 |
+
|
765 |
+
= Enable user reviews in WP Product Review =
|
766 |
+
[https://docs.themeisle.com/article/759-enable-user-reviews-in-wp-product-revie](https://docs.themeisle.com/article/759-enable-user-reviews-in-wp-product-revie)
|
767 |
+
|
768 |
+
= How to remove Pros/Cons list in WP Product Review =
|
769 |
+
[https://docs.themeisle.com/article/762-how-to-remove-pros-cons-list-in-wp-product-review](https://docs.themeisle.com/article/762-how-to-remove-pros-cons-list-in-wp-product-review)
|
770 |
+
|
771 |
+
= How the before/after/manual review box placement option works =
|
772 |
+
[https://docs.themeisle.com/article/865-how-the-before-after-manual-review-box-placement-works](https://docs.themeisle.com/article/865-how-the-before-after-manual-review-box-placement-works)
|
773 |
+
|
774 |
+
= How to display both the product title and image in the review comparison table =
|
775 |
+
[https://docs.themeisle.com/article/981-how-to-display-product-title-and-image-both-in-review-table](https://docs.themeisle.com/article/981-how-to-display-product-title-and-image-both-in-review-table)
|
776 |
+
|
777 |
+
= Add specific "Service" types for schema.org in WP Product Review =
|
778 |
+
[https://docs.themeisle.com/article/1071-add-specific-service-types-for-schema-org](https://docs.themeisle.com/article/1071-add-specific-service-types-for-schema-org)
|
779 |
+
|
780 |
== Upgrade Notice ==
|
781 |
|
782 |
= 3.0 =
|
785 |
== Screenshots ==
|
786 |
|
787 |
1. Screenshot 1 Wrap-up review widget that is added at the end of the posts
|
788 |
+
2. Screenshot 2 Review comment on a scale of 5 with slider rating
|
789 |
+
3. Screenshot 3 Review comment on a scale of 10 with slider rating
|
790 |
+
4. Screenshot 4 Review comment with star rating
|
791 |
+
5. Screenshot 5 Settings configuration screen
|
792 |
+
6. Screenshot 6 Rich Snippets displayed in Google
|
793 |
+
7. Screenshot 7 How ratings appear as comments
|
794 |
|
795 |
for more you can check out
|
796 |
|
screenshot-1.png
ADDED
Binary file
|
screenshot-2.png
ADDED
Binary file
|
screenshot-3.png
ADDED
Binary file
|
screenshot-4.png
ADDED
Binary file
|
screenshot-5.png
ADDED
Binary file
|
screenshot-6.png
ADDED
Binary file
|
screenshot-7.png
ADDED
Binary file
|
themeisle-hash.json
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"class-wppr-autoloader.php":"c7f7f3dd52445edb5f7367ba7b31281f","class-wppr-recursive-filter.php":"6c74b0e7c04529d797ae9689d9a44c8d","index.php":"c76772901fa1b2b14aa3ba32d7773c8a","uninstall.php":"7c6d36652e8dcf013f2c246f4a289acf","wp-product-review.php":"
|
1 |
+
{"class-wppr-autoloader.php":"c7f7f3dd52445edb5f7367ba7b31281f","class-wppr-recursive-filter.php":"6c74b0e7c04529d797ae9689d9a44c8d","index.php":"c76772901fa1b2b14aa3ba32d7773c8a","uninstall.php":"7c6d36652e8dcf013f2c246f4a289acf","wp-product-review.php":"cac22bd899167a33eff54b7ee5e24063"}
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit352003e57eff9edfc8e33fa4e5fb60d8::getLoader();
|
vendor/autoload_52.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit3dc8fdc09d7bd4b63c06d840df5e9715::getLoader();
|
vendor/codeinwp/themeisle-sdk/CHANGELOG.md
CHANGED
@@ -1,3 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
## [3.0.6](https://github.com/Codeinwp/themeisle-sdk/compare/v3.0.5...v3.0.6) (2019-05-21)
|
2 |
|
3 |
|
1 |
+
## [3.0.9](https://github.com/Codeinwp/themeisle-sdk/compare/v3.0.8...v3.0.9) (2019-06-26)
|
2 |
+
|
3 |
+
|
4 |
+
### Bug Fixes
|
5 |
+
|
6 |
+
* adds new icon for dashboard widget ([de78068](https://github.com/Codeinwp/themeisle-sdk/commit/de78068))
|
7 |
+
* anchor element on license activation message which should link to the license field, fix [#57](https://github.com/Codeinwp/themeisle-sdk/issues/57) ([2e78856](https://github.com/Codeinwp/themeisle-sdk/commit/2e78856))
|
8 |
+
* change uninstall feedback logo with new version, fix [#58](https://github.com/Codeinwp/themeisle-sdk/issues/58) ([2554a4f](https://github.com/Codeinwp/themeisle-sdk/commit/2554a4f))
|
9 |
+
* remove soon to expire notice, fix https://github.com/Codeinwp/themeisle/issues/752 ([a126225](https://github.com/Codeinwp/themeisle-sdk/commit/a126225))
|
10 |
+
|
11 |
+
## [3.0.8](https://github.com/Codeinwp/themeisle-sdk/compare/v3.0.7...v3.0.8) (2019-05-28)
|
12 |
+
|
13 |
+
|
14 |
+
### Bug Fixes
|
15 |
+
|
16 |
+
* undefined class on diff module which should check the class on global namespace ([df6bb12](https://github.com/Codeinwp/themeisle-sdk/commit/df6bb12))
|
17 |
+
|
18 |
+
## [3.0.7](https://github.com/Codeinwp/themeisle-sdk/compare/v3.0.6...v3.0.7) (2019-05-27)
|
19 |
+
|
20 |
+
|
21 |
+
### Bug Fixes
|
22 |
+
|
23 |
+
* change store url with the new domain ([6bdbe1e](https://github.com/Codeinwp/themeisle-sdk/commit/6bdbe1e))
|
24 |
+
|
25 |
## [3.0.6](https://github.com/Codeinwp/themeisle-sdk/compare/v3.0.5...v3.0.6) (2019-05-21)
|
26 |
|
27 |
|
vendor/codeinwp/themeisle-sdk/load.php
CHANGED
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
return;
|
15 |
}
|
16 |
// Current SDK version and path.
|
17 |
-
$themeisle_sdk_version = '3.0.
|
18 |
$themeisle_sdk_path = dirname( __FILE__ );
|
19 |
|
20 |
global $themeisle_sdk_max_version;
|
14 |
return;
|
15 |
}
|
16 |
// Current SDK version and path.
|
17 |
+
$themeisle_sdk_version = '3.0.9';
|
18 |
$themeisle_sdk_path = dirname( __FILE__ );
|
19 |
|
20 |
global $themeisle_sdk_max_version;
|
vendor/codeinwp/themeisle-sdk/src/Modules/Dashboard_widget.php
CHANGED
@@ -127,10 +127,10 @@ class Dashboard_Widget extends Abstract_Module {
|
|
127 |
}
|
128 |
|
129 |
#themeisle h2.hndle {
|
130 |
-
background-image: url('data:image/
|
131 |
background-repeat: no-repeat;
|
132 |
background-position: 92% 50%;
|
133 |
-
background-size:
|
134 |
}
|
135 |
|
136 |
#themeisle .inside {
|
127 |
}
|
128 |
|
129 |
#themeisle h2.hndle {
|
130 |
+
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABbCAMAAADncTNAAAAAtFBMVEVHcEyAgIB/f3+xsbGgoaGBgYGCgoKKioqAgIC1tbW5ubnFx8iAgIDU1taBgYGCgoKAgIC0tLXW19jW2NiAgIC3uLiBgYHLzMy4uLhycnLW19d/f3/T1NW0tLTX19mVlZWvr6+BgYHl5eWKiottbW5JSUnW2Nm5ubnh4eHT1NWVlZVjY2N4eHh9fX6pqqq+v79PT0/39/fu7u7Nzc7Z2ttYWFgBAQHDw8P////JysoZGRk0NTZqJc/sAAAAIXRSTlMA0FL7/oEnEPL6eibivm9gwJya76/enFq2CXI+2lFAyM8GATmPAAADj0lEQVR4Xu2YaW/iOhSGAwRCWDosnXa6znjJvm8svf//f12TuARyhiR2pfnUR6gSEnr0+uT4xK7yRb755pvhHePli5K7Bfpkuhoq8ozRJdMH+WWha6Z3sqYparCSLRJqspjImVbANJU03cNMMpofAwQZCGsmpQYyFvVM0Q00OQ9koMl5IPcCoro+RA1Dt2Ea9n9eZ0+YHJLkgIlkDywQx00wCTyaReiKH8LbNU9ybJOdkchV6QFxyCFLbVvdfaREqgUWg/tx2UbqIcK2Hex2TdGLwFTjIj3XP3YfCZFsb23KRZn/3263oymSFI0/a5S4PqUBjoBIJBDjeEhCN0wxQSRybIxtJ3K5SGzuE/vAwIQc8ZmMMJFAIM4oikZItfEFtorGgoE43FObwqHU68OtPCnOz8KZ2Jbl5LgkSW0Tc7YyIz/EFWmS4jMbiZU5mJOmKRaJpKGGyLZtDJh3iyaNUu/3+xyKnrtFL71EG+FTiMpENhQtxUQ8kSOXCIr2tnCNhg/gTX0SHYFp0t7TCwQZ7U841yoHrW6rtGroUwTWVnLMssxx+H4bgZcSOFf5MYx0Ae8FghomMDyC2EBNImBywPkNTDNqGLQpIg2TjUNU8tBy9DQMo0DAZF16rAi7vJAtFTIYFAHUc6hIRW6OuOhJgaCSwmDEAYK4oa7ro+qIEyJU/US7KTJKPNSFT9tFgVFBu0SF1y7yjX4masRA9Da7EFGj28R/BkQz6xGIOurkx38T/bKs9Uk8aIiMwm/Jw0VP1yLrJwt13xAxvABBgsK4KWLov35DkRF7ZaqgzuZ7MQ8MOntmVYyAqKTwaICKqvSUFnVccMN5sziEP/5+xGDTahbH5Q3ZB76zr8fI+nJtvUUU3t3ml5GKviK/npCg3CGodnuJ4JVkfRFJYGVDBZrqKnn9RLf+CzDTS5PaN5J38+auzX4ykU4Qoj0rdKfcYs5ijfo9OL/uRUgZyQr7NCWtWwiUSLc4arfJa7lpszTA1OJZAQ8w8dXFrR5YHzCWSnS3pZ18tOi4Ps4vl/c7i/6qomjRecN+UubrPyPGn/VEMU3T0UFHkaPzpgjxmJsnjmrtionlMDZiog0TsY/DPtn8SXtlBvbtxKtwopy7lqW3smQO+yoGE1Uu55GJ3pmI8ygoejZNnqj0vnIRCyTKfLstRdtStGQi09myUsvwvlkuzSUXbV+Xz5ryBebV33fln/A/moud69FZiEYAAAAASUVORK5CYII=');
|
131 |
background-repeat: no-repeat;
|
132 |
background-position: 92% 50%;
|
133 |
+
background-size: 25px;
|
134 |
}
|
135 |
|
136 |
#themeisle .inside {
|
vendor/codeinwp/themeisle-sdk/src/Modules/Endpoint.php
CHANGED
@@ -273,7 +273,7 @@ class Endpoint extends Abstract_Module {
|
|
273 |
|
274 |
// fetch the calculated hashes.
|
275 |
if ( ! $wp_filesystem->is_readable( $path . '/' . self::HASH_FILE ) ) {
|
276 |
-
return new WP_Error( 'themeisle_sdk_hash_not_found', sprintf( '%s not found', self::HASH_FILE ) );
|
277 |
}
|
278 |
|
279 |
$hashes = json_decode( $wp_filesystem->get_contents( $path . '/' . self::HASH_FILE ), true );
|
273 |
|
274 |
// fetch the calculated hashes.
|
275 |
if ( ! $wp_filesystem->is_readable( $path . '/' . self::HASH_FILE ) ) {
|
276 |
+
return new \WP_Error( 'themeisle_sdk_hash_not_found', sprintf( '%s not found', self::HASH_FILE ) );
|
277 |
}
|
278 |
|
279 |
$hashes = json_decode( $wp_filesystem->get_contents( $path . '/' . self::HASH_FILE ), true );
|
vendor/codeinwp/themeisle-sdk/src/Modules/Licenser.php
CHANGED
@@ -169,7 +169,6 @@ class Licenser extends Abstract_Module {
|
|
169 |
$status = $this->get_license_status();
|
170 |
$no_activations_string = apply_filters( $this->product->get_key() . '_lc_no_activations_string', 'No activations left for %s !!!. You need to upgrade your plan in order to use %s on more websites. Please ask the %s Staff for more details.' );
|
171 |
$no_valid_string = apply_filters( $this->product->get_key() . '_lc_no_valid_string', 'In order to benefit from updates and support for %s, please add your license code from your <a href="%s" target="_blank">purchase history</a> and validate it <a href="%s">here</a>. ' );
|
172 |
-
$expiration_string = apply_filters( $this->product->get_key() . '_lc_expiration_string', 'Your license is about to expire for %s. You can go to %s and renew it ' );
|
173 |
|
174 |
// No activations left for this license.
|
175 |
if ( 'valid' != $status && $this->check_activation() ) {
|
@@ -195,7 +194,7 @@ class Licenser extends Abstract_Module {
|
|
195 |
?>
|
196 |
<div class="error">
|
197 |
<p>
|
198 |
-
<strong><?php echo sprintf( $no_valid_string, $this->product->get_name() . ' ' . $this->product->get_type(), $this->get_api_url(), admin_url( 'options-general.php' ) . '#' . $this->product->get_key() ); ?> </strong>
|
199 |
</p>
|
200 |
</div>
|
201 |
<?php
|
@@ -203,26 +202,6 @@ class Licenser extends Abstract_Module {
|
|
203 |
return false;
|
204 |
}
|
205 |
|
206 |
-
// Expired and soon to expire license.
|
207 |
-
if ( 'valid' == $status && $this->check_expiration() ) {
|
208 |
-
?>
|
209 |
-
<div class="update-nag">
|
210 |
-
<p>
|
211 |
-
<strong>
|
212 |
-
<?php
|
213 |
-
echo sprintf(
|
214 |
-
$expiration_string,
|
215 |
-
$this->product->get_name() . ' ' . $this->product->get_type(),
|
216 |
-
'<a href="' . $this->renew_url() . '" target="_blank">' . $this->get_distributor_name() . '</a>'
|
217 |
-
);
|
218 |
-
?>
|
219 |
-
</strong>
|
220 |
-
</p>
|
221 |
-
</div>
|
222 |
-
<?php
|
223 |
-
return false;
|
224 |
-
}
|
225 |
-
|
226 |
return true;
|
227 |
}
|
228 |
|
169 |
$status = $this->get_license_status();
|
170 |
$no_activations_string = apply_filters( $this->product->get_key() . '_lc_no_activations_string', 'No activations left for %s !!!. You need to upgrade your plan in order to use %s on more websites. Please ask the %s Staff for more details.' );
|
171 |
$no_valid_string = apply_filters( $this->product->get_key() . '_lc_no_valid_string', 'In order to benefit from updates and support for %s, please add your license code from your <a href="%s" target="_blank">purchase history</a> and validate it <a href="%s">here</a>. ' );
|
|
|
172 |
|
173 |
// No activations left for this license.
|
174 |
if ( 'valid' != $status && $this->check_activation() ) {
|
194 |
?>
|
195 |
<div class="error">
|
196 |
<p>
|
197 |
+
<strong><?php echo sprintf( $no_valid_string, $this->product->get_name() . ' ' . $this->product->get_type(), $this->get_api_url(), admin_url( 'options-general.php' ) . '#' . $this->product->get_key() . '_license' ); ?> </strong>
|
198 |
</p>
|
199 |
</div>
|
200 |
<?php
|
202 |
return false;
|
203 |
}
|
204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
return true;
|
206 |
}
|
207 |
|
vendor/codeinwp/themeisle-sdk/src/Modules/Uninstall_feedback.php
CHANGED
@@ -154,7 +154,7 @@ class Uninstall_Feedback extends Abstract_Module {
|
|
154 |
$suffix = Product::THEME_TYPE === $type ? 'theme-install-php' : 'plugins-php';
|
155 |
$icon = esc_attr( apply_filters( $this->product->get_slug() . '_uninstall_feedback_icon', '' ) );
|
156 |
if ( empty( $icon ) ) {
|
157 |
-
$icon = 'data:image/png;base64,
|
158 |
}
|
159 |
?>
|
160 |
<style type="text/css" id="<?php echo $key; ?>ti-deactivate-css">
|
@@ -171,7 +171,7 @@ class Uninstall_Feedback extends Abstract_Module {
|
|
171 |
}
|
172 |
|
173 |
body.<?php echo $suffix; ?> .<?php echo $key; ?>-container #TB_title {
|
174 |
-
background: url('<?php echo $icon; ?>')
|
175 |
border: none;
|
176 |
box-sizing: border-box;
|
177 |
color: #373e40;
|
154 |
$suffix = Product::THEME_TYPE === $type ? 'theme-install-php' : 'plugins-php';
|
155 |
$icon = esc_attr( apply_filters( $this->product->get_slug() . '_uninstall_feedback_icon', '' ) );
|
156 |
if ( empty( $icon ) ) {
|
157 |
+
$icon = 'data:image/png;base64,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';
|
158 |
}
|
159 |
?>
|
160 |
<style type="text/css" id="<?php echo $key; ?>ti-deactivate-css">
|
171 |
}
|
172 |
|
173 |
body.<?php echo $suffix; ?> .<?php echo $key; ?>-container #TB_title {
|
174 |
+
background: url('<?php echo $icon; ?>') 23px 0px no-repeat;
|
175 |
border: none;
|
176 |
box-sizing: border-box;
|
177 |
color: #373e40;
|
vendor/codeinwp/themeisle-sdk/src/Product.php
CHANGED
@@ -200,6 +200,7 @@ class Product {
|
|
200 |
public function get_key() {
|
201 |
return $this->key;
|
202 |
}
|
|
|
203 |
/**
|
204 |
* Check if the product is either theme or plugin.
|
205 |
*
|
@@ -342,6 +343,11 @@ class Product {
|
|
342 |
* @return string The store url.
|
343 |
*/
|
344 |
public function get_store_url() {
|
|
|
|
|
|
|
|
|
|
|
345 |
return $this->store_url;
|
346 |
}
|
347 |
|
@@ -362,6 +368,7 @@ class Product {
|
|
362 |
public function get_file() {
|
363 |
return $this->file;
|
364 |
}
|
|
|
365 |
/**
|
366 |
* Returns the pro slug, if available.
|
367 |
*
|
200 |
public function get_key() {
|
201 |
return $this->key;
|
202 |
}
|
203 |
+
|
204 |
/**
|
205 |
* Check if the product is either theme or plugin.
|
206 |
*
|
343 |
* @return string The store url.
|
344 |
*/
|
345 |
public function get_store_url() {
|
346 |
+
|
347 |
+
if ( strpos( $this->store_url, '/themeisle.com' ) !== false ) {
|
348 |
+
return 'https://store.themeisle.com';
|
349 |
+
}
|
350 |
+
|
351 |
return $this->store_url;
|
352 |
}
|
353 |
|
368 |
public function get_file() {
|
369 |
return $this->file;
|
370 |
}
|
371 |
+
|
372 |
/**
|
373 |
* Returns the pro slug, if available.
|
374 |
*
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitd92b26667373154eae939dd431e7cf9e
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
foreach ($map as $namespace => $path) {
|
@@ -42,14 +42,14 @@ class ComposerAutoloaderInitd92b26667373154eae939dd431e7cf9e
|
|
42 |
|
43 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
45 |
-
|
46 |
}
|
47 |
|
48 |
return $loader;
|
49 |
}
|
50 |
}
|
51 |
|
52 |
-
function
|
53 |
{
|
54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
55 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit352003e57eff9edfc8e33fa4e5fb60d8
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit352003e57eff9edfc8e33fa4e5fb60d8', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit352003e57eff9edfc8e33fa4e5fb60d8', 'loadClassLoader'));
|
25 |
|
26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
foreach ($map as $namespace => $path) {
|
42 |
|
43 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
45 |
+
composerRequire352003e57eff9edfc8e33fa4e5fb60d8($fileIdentifier, $file);
|
46 |
}
|
47 |
|
48 |
return $loader;
|
49 |
}
|
50 |
}
|
51 |
|
52 |
+
function composerRequire352003e57eff9edfc8e33fa4e5fb60d8($fileIdentifier, $file)
|
53 |
{
|
54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
55 |
require $file;
|
vendor/composer/autoload_real_52.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
-
class
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInite59a58ce7cf5d08b22a8dfd7581012eb {
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
+
class ComposerAutoloaderInit3dc8fdc09d7bd4b63c06d840df5e9715 {
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit3dc8fdc09d7bd4b63c06d840df5e9715', 'loadClassLoader'), true /*, true */);
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit3dc8fdc09d7bd4b63c06d840df5e9715', 'loadClassLoader'));
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
vendor/composer/installed.json
CHANGED
@@ -34,17 +34,17 @@
|
|
34 |
},
|
35 |
{
|
36 |
"name": "codeinwp/themeisle-sdk",
|
37 |
-
"version": "3.0.
|
38 |
-
"version_normalized": "3.0.
|
39 |
"source": {
|
40 |
"type": "git",
|
41 |
"url": "https://github.com/Codeinwp/themeisle-sdk.git",
|
42 |
-
"reference": "
|
43 |
},
|
44 |
"dist": {
|
45 |
"type": "zip",
|
46 |
-
"url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/
|
47 |
-
"reference": "
|
48 |
"shasum": ""
|
49 |
},
|
50 |
"require-dev": {
|
@@ -52,7 +52,7 @@
|
|
52 |
"squizlabs/php_codesniffer": "^3.1",
|
53 |
"wp-coding-standards/wpcs": "^1.0.0"
|
54 |
},
|
55 |
-
"time": "2019-
|
56 |
"type": "library",
|
57 |
"installation-source": "dist",
|
58 |
"notification-url": "https://packagist.org/downloads/",
|
34 |
},
|
35 |
{
|
36 |
"name": "codeinwp/themeisle-sdk",
|
37 |
+
"version": "3.0.9",
|
38 |
+
"version_normalized": "3.0.9.0",
|
39 |
"source": {
|
40 |
"type": "git",
|
41 |
"url": "https://github.com/Codeinwp/themeisle-sdk.git",
|
42 |
+
"reference": "259e2afb33bd523f9807e04ace921f8690350a31"
|
43 |
},
|
44 |
"dist": {
|
45 |
"type": "zip",
|
46 |
+
"url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/259e2afb33bd523f9807e04ace921f8690350a31",
|
47 |
+
"reference": "259e2afb33bd523f9807e04ace921f8690350a31",
|
48 |
"shasum": ""
|
49 |
},
|
50 |
"require-dev": {
|
52 |
"squizlabs/php_codesniffer": "^3.1",
|
53 |
"wp-coding-standards/wpcs": "^1.0.0"
|
54 |
},
|
55 |
+
"time": "2019-06-26 14:38:00",
|
56 |
"type": "library",
|
57 |
"installation-source": "dist",
|
58 |
"notification-url": "https://packagist.org/downloads/",
|
wp-product-review.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
* Plugin Name: WP Product Review Lite
|
16 |
* Plugin URI: https://themeisle.com/plugins/wp-product-review/
|
17 |
* Description: The highest rated and most complete review plugin, now with rich snippets support. Easily turn your basic posts into in-depth reviews.
|
18 |
-
* Version: 3.
|
19 |
* Author: ThemeIsle
|
20 |
* Author URI: https://themeisle.com/
|
21 |
* Requires at least: 3.5
|
@@ -67,12 +67,13 @@ register_deactivation_hook( __FILE__, 'deactivate_wppr' );
|
|
67 |
*/
|
68 |
function run_wppr() {
|
69 |
|
70 |
-
define( 'WPPR_LITE_VERSION', '3.
|
71 |
define( 'WPPR_PATH', dirname( __FILE__ ) );
|
72 |
define( 'WPPR_SLUG', 'wppr' );
|
73 |
define( 'WPPR_UPSELL_LINK', 'https://themeisle.com/plugins/wp-product-review/' );
|
74 |
define( 'WPPR_URL', untrailingslashit( plugins_url( '/', __FILE__ ) ) );
|
75 |
define( 'WPPR_CACHE_DISABLED', false );
|
|
|
76 |
|
77 |
$plugin = new WPPR();
|
78 |
$plugin->run();
|
15 |
* Plugin Name: WP Product Review Lite
|
16 |
* Plugin URI: https://themeisle.com/plugins/wp-product-review/
|
17 |
* Description: The highest rated and most complete review plugin, now with rich snippets support. Easily turn your basic posts into in-depth reviews.
|
18 |
+
* Version: 3.7.0
|
19 |
* Author: ThemeIsle
|
20 |
* Author URI: https://themeisle.com/
|
21 |
* Requires at least: 3.5
|
67 |
*/
|
68 |
function run_wppr() {
|
69 |
|
70 |
+
define( 'WPPR_LITE_VERSION', '3.7.0' );
|
71 |
define( 'WPPR_PATH', dirname( __FILE__ ) );
|
72 |
define( 'WPPR_SLUG', 'wppr' );
|
73 |
define( 'WPPR_UPSELL_LINK', 'https://themeisle.com/plugins/wp-product-review/' );
|
74 |
define( 'WPPR_URL', untrailingslashit( plugins_url( '/', __FILE__ ) ) );
|
75 |
define( 'WPPR_CACHE_DISABLED', false );
|
76 |
+
define( 'WPPR_BASENAME', plugin_basename( __FILE__ ) );
|
77 |
|
78 |
$plugin = new WPPR();
|
79 |
$plugin->run();
|