Yasr – Yet Another Stars Rating - Version 2.3.2

Version Description

  • FIXED: Uncaught TypeError randomly shows up in the browser console
  • TWEAKED: removed deprecated multisite function
  • TWEAKED: in tht settings page, the "custom css" textarea is now a text editor
  • TWEAKED: CSS improvment in settings page
  • TWEAKED: minor code cleanup
Download this release

Release Info

Developer Dudo
Plugin Icon 128x128 Yasr – Yet Another Stars Rating
Version 2.3.2
Comparing to
See all releases

Code changes from version 2.3.1 to 2.3.2

admin/css/yasr-admin.css CHANGED
@@ -289,7 +289,7 @@
289
.yasr-settingsdiv {
290
float: left;
291
display: block;
292
- width: 60%;
293
background-color: #FFF;
294
border: 1px solid #DDD;
295
padding-left: 25px;
@@ -301,7 +301,7 @@
301
.yasr-donatedivdx {
302
float: right;
303
display: block !important;
304
- min-width: 290px;
305
width: 15%;
306
margin-bottom: 10px;
307
background-color: #FFF;
289
.yasr-settingsdiv {
290
float: left;
291
display: block;
292
+ width: 65%;
293
background-color: #FFF;
294
border: 1px solid #DDD;
295
padding-left: 25px;
301
.yasr-donatedivdx {
302
float: right;
303
display: block !important;
304
+ min-width: 250px;
305
width: 15%;
306
margin-bottom: 10px;
307
background-color: #FFF;
admin/js/src/yasr-guten-panel.js CHANGED
@@ -9,7 +9,7 @@ const yasrPostExcluded = __('Is this a review?', 'yet-another-stars-rating');
9
const yasrSelectSnippetTitle = __('Select ItemType ', 'yet-another-stars-rating');
10
11
const ContentBelowSidebar = () => {
12
- return <div></div>;
13
};
14
15
@@ -56,7 +56,6 @@ class YasrDivRatingOverall extends React.Component {
56
/>
57
<br />
58
{this.yasrOverallMoreInfo}
59
- <hr />
60
</div>
61
)
62
}
@@ -112,6 +111,7 @@ class YasrSideBarAutoInsert extends React.Component {
112
render () {
113
return (
114
<div className="yasr-guten-block-panel-center">
115
<label><span>{yasrDisableAutoInsert}</span></label>
116
<div className="yasr-onoffswitch-big yasr-onoffswitch-big-center" id="yasr-switcher-disable-auto-insert">
117
<input type="checkbox"
@@ -123,8 +123,8 @@ class YasrSideBarAutoInsert extends React.Component {
123
onChange={this.yasrUpdatePostMetaAutoInsert}
124
/>
125
<label className="yasr-onoffswitch-label" htmlFor="yasr-auto-insert-disabled-switch">
126
- <span className="yasr-onoffswitch-inner"></span>
127
- <span className="yasr-onoffswitch-switch"></span>
128
</label>
129
</div>
130
</div>
9
const yasrSelectSnippetTitle = __('Select ItemType ', 'yet-another-stars-rating');
10
11
const ContentBelowSidebar = () => {
12
+ return <div/>;
13
};
14
15
56
/>
57
<br />
58
{this.yasrOverallMoreInfo}
59
</div>
60
)
61
}
111
render () {
112
return (
113
<div className="yasr-guten-block-panel-center">
114
+ <hr />
115
<label><span>{yasrDisableAutoInsert}</span></label>
116
<div className="yasr-onoffswitch-big yasr-onoffswitch-big-center" id="yasr-switcher-disable-auto-insert">
117
<input type="checkbox"
123
onChange={this.yasrUpdatePostMetaAutoInsert}
124
/>
125
<label className="yasr-onoffswitch-label" htmlFor="yasr-auto-insert-disabled-switch">
126
+ <span className="yasr-onoffswitch-inner"/>
127
+ <span className="yasr-onoffswitch-switch"/>
128
</label>
129
</div>
130
</div>
admin/js/yasr-admin.js CHANGED
@@ -168,6 +168,10 @@ function YasrSettingsPage(activeTab, nMultiSet, autoInsertEnabled, textBeforeSta
168
169
170
if (activeTab === 'style_options') {
171
172
jQuery('#yasr-color-scheme-preview-link').on('click', function () {
173
jQuery('#yasr-color-scheme-preview').toggle('slow');
@@ -293,11 +297,14 @@ jQuery(document).ready(function () {
293
});
294
295
jQuery(document).ajaxComplete(function (event, xhr, settings) {
296
297
- //check if the ajax call is done by yasr with action yasr_change_log_page
298
- var isYasrAjaxCall = settings.data.search("action=yasr_change_log_page");
299
- if (isYasrAjaxCall !== -1) {
300
301
jQuery('.yasr-log-pagenum').on('click', function () {
302
jQuery('#yasr-loader-log-metabox').show();
303
@@ -337,11 +344,13 @@ jQuery(document).ready(function () {
337
});
338
339
jQuery(document).ajaxComplete(function (event, xhr, settings) {
340
341
- //check if the ajax call is done by yasr with action yasr_change_log_page
342
- var isYasrAjaxCall = settings.data.search("action=yasr_change_user_log_page");
343
if (isYasrAjaxCall !== -1) {
344
-
345
jQuery('.yasr-user-log-page-num').on('click', function () {
346
jQuery('#yasr-loader-user-log-metabox').show();
347
168
169
170
if (activeTab === 'style_options') {
171
+ wp.codeEditor.initialize(
172
+ document.getElementById('yasr_style_options_textarea'),
173
+ yasr_cm_settings
174
+ );
175
176
jQuery('#yasr-color-scheme-preview-link').on('click', function () {
177
jQuery('#yasr-color-scheme-preview').toggle('slow');
297
});
298
299
jQuery(document).ajaxComplete(function (event, xhr, settings) {
300
+ var isYasrAjaxCall = true;
301
302
+ if(settings.data !== 'undefined') {
303
+ //check if the ajax call is done by yasr with action yasr_change_log_page
304
+ isYasrAjaxCall = settings.data.search("action=yasr_change_log_page");
305
+ }
306
307
+ if (isYasrAjaxCall !== -1) {
308
jQuery('.yasr-log-pagenum').on('click', function () {
309
jQuery('#yasr-loader-log-metabox').show();
310
344
});
345
346
jQuery(document).ajaxComplete(function (event, xhr, settings) {
347
+ var isYasrAjaxCall = true;
348
349
+ if(settings.data !== 'undefined') {
350
+ //check if the ajax call is done by yasr with action yasr_change_log_page
351
+ isYasrAjaxCall = settings.data.search("action=yasr_change_log_page");
352
+ }
353
if (isYasrAjaxCall !== -1) {
354
jQuery('.yasr-user-log-page-num').on('click', function () {
355
jQuery('#yasr-loader-user-log-metabox').show();
356
admin/js/yasr-guten-panel.js CHANGED
@@ -77,8 +77,7 @@ var YasrDivRatingOverall = function (_React$Component) {
77
}
78
}),
79
React.createElement('br', null),
80
- this.yasrOverallMoreInfo,
81
- React.createElement('hr', null)
82
);
83
}
84
}, {
@@ -141,6 +140,7 @@ var YasrSideBarAutoInsert = function (_React$Component2) {
141
return React.createElement(
142
'div',
143
{ className: 'yasr-guten-block-panel-center' },
144
React.createElement(
145
'label',
146
null,
77
}
78
}),
79
React.createElement('br', null),
80
+ this.yasrOverallMoreInfo
81
);
82
}
83
}, {
140
return React.createElement(
141
'div',
142
{ className: 'yasr-guten-block-panel-center' },
143
+ React.createElement('hr', null),
144
React.createElement(
145
'label',
146
null,
admin/settings/aspect_style/yasr-settings-functions-style.php CHANGED
@@ -43,21 +43,42 @@ function yasr_style_options_init() {
43
//filter $style_options
44
$style_options = apply_filters('yasr_filter_style_options', $style_options);
45
46
- add_settings_section('yasr_style_options_section_id', __('Style Options', 'yet-another-stars-rating'), 'yasr_style_section_callback', 'yasr_style_tab');
47
do_action('yasr_style_options_add_settings_field', $style_options);
48
- add_settings_field('yasr_color_scheme_multiset', __('Which color scheme do you want to use?', 'yet-another-stars-rating'), 'yasr_color_scheme_multiset_callback', 'yasr_style_tab', 'yasr_style_options_section_id', $style_options);
49
- add_settings_field('yasr_style_options_textarea', __('Custom CSS Styles', 'yet-another-stars-rating'), 'yasr_style_options_textarea_callback', 'yasr_style_tab', 'yasr_style_options_section_id', $style_options);
50
51
52
}
53
54
function yasr_style_section_callback() {
55
-
56
}
57
58
59
function yasr_color_scheme_multiset_callback($style_options) {
60
-
61
?>
62
63
<input type='radio' name='yasr_style_options[scheme_color_multiset]' value='light'
@@ -66,7 +87,6 @@ function yasr_color_scheme_multiset_callback($style_options) {
66
} ?> />
67
<?php _e('Light', 'yet-another-stars-rating') ?>
68
69
- &nbsp;&nbsp;&nbsp;
70
71
<input type='radio' name='yasr_style_options[scheme_color_multiset]' value='dark'
72
class='yasr-general-options-scheme-color' <?php if ($style_options['scheme_color_multiset'] === 'dark') {
@@ -110,7 +130,7 @@ function yasr_style_options_textarea_callback($style_options) {
110
rows='17'
111
cols='40'
112
name='yasr_style_options[textarea]'
113
- id='yasr_style_options_textarea'><?php echo $style_options['textarea']?></textarea>
114
115
<?php
116
@@ -122,7 +142,7 @@ function yasr_style_options_sanitize($style_options) {
122
$output = array();
123
124
foreach ($style_options as $key => $value) {
125
- $output[$key] = sanitize_text_field($style_options[$key]);
126
}
127
128
return $output;
43
//filter $style_options
44
$style_options = apply_filters('yasr_filter_style_options', $style_options);
45
46
+ add_settings_section(
47
+ 'yasr_style_options_section_id',
48
+ __('Style Options', 'yet-another-stars-rating'),
49
+ 'yasr_style_section_callback',
50
+ 'yasr_style_tab'
51
+ );
52
+
53
do_action('yasr_style_options_add_settings_field', $style_options);
54
+
55
+ add_settings_field(
56
+ 'yasr_color_scheme_multiset',
57
+ __('Which color scheme do you want to use?', 'yet-another-stars-rating'),
58
+ 'yasr_color_scheme_multiset_callback',
59
+ 'yasr_style_tab',
60
+ 'yasr_style_options_section_id',
61
+ $style_options
62
+ );
63
+
64
+ add_settings_field(
65
+ 'yasr_style_options_textarea',
66
+ __('Custom CSS Styles', 'yet-another-stars-rating'),
67
+ 'yasr_style_options_textarea_callback',
68
+ 'yasr_style_tab',
69
+ 'yasr_style_options_section_id',
70
+ $style_options
71
+ );
72
73
74
}
75
76
function yasr_style_section_callback() {
77
+ return;
78
}
79
80
81
function yasr_color_scheme_multiset_callback($style_options) {
82
?>
83
84
<input type='radio' name='yasr_style_options[scheme_color_multiset]' value='light'
87
} ?> />
88
<?php _e('Light', 'yet-another-stars-rating') ?>
89
90
91
<input type='radio' name='yasr_style_options[scheme_color_multiset]' value='dark'
92
class='yasr-general-options-scheme-color' <?php if ($style_options['scheme_color_multiset'] === 'dark') {
130
rows='17'
131
cols='40'
132
name='yasr_style_options[textarea]'
133
+ id='yasr_style_options_textarea'><?php echo esc_textarea($style_options['textarea']); ?></textarea>
134
135
<?php
136
142
$output = array();
143
144
foreach ($style_options as $key => $value) {
145
+ $output[$key] = sanitize_textarea_field($style_options[$key]);
146
}
147
148
return $output;
admin/settings/yasr-settings-functions-misc.php CHANGED
@@ -14,7 +14,7 @@ function yasr_settings_tabs( $active_tab )
14
}
15
?>">
16
<?php
17
- _e( "General Settings", 'yet-another-stars-rating' );
18
?>
19
</a>
20
@@ -24,7 +24,7 @@ function yasr_settings_tabs( $active_tab )
24
}
25
?>">
26
<?php
27
- _e( "Multi Sets", 'yet-another-stars-rating' );
28
?>
29
</a>
30
@@ -35,7 +35,7 @@ function yasr_settings_tabs( $active_tab )
35
}
36
?>">
37
<?php
38
- _e( "Aspect & Styles", 'yet-another-stars-rating' );
39
?>
40
</a>
41
@@ -217,7 +217,7 @@ function yasr_custom_admin_footer( $text )
217
if ( isset( $_GET['page'] ) ) {
218
$yasr_page = $_GET['page'];
219
220
- if ( $yasr_page == 'yasr_settings_page' ) {
221
$custom_text = ' | <i>';
222
$custom_text .= sprintf(
223
__( 'Thank you for using <a href="%s" target="_blank">Yet Another Stars Rating</a>.
@@ -228,12 +228,10 @@ function yasr_custom_admin_footer( $text )
228
);
229
$custom_text .= '</i>';
230
return $text . $custom_text;
231
- } else {
232
- return $text;
233
}
234
-
235
- } else {
236
return $text;
237
}
238
-
239
}
14
}
15
?>">
16
<?php
17
+ _e( 'General Settings', 'yet-another-stars-rating' );
18
?>
19
</a>
20
24
}
25
?>">
26
<?php
27
+ _e( 'Multi Sets', 'yet-another-stars-rating' );
28
?>
29
</a>
30
35
}
36
?>">
37
<?php
38
+ _e( 'Aspect & Styles', 'yet-another-stars-rating' );
39
?>
40
</a>
41
217
if ( isset( $_GET['page'] ) ) {
218
$yasr_page = $_GET['page'];
219
220
+ if ( $yasr_page === 'yasr_settings_page' ) {
221
$custom_text = ' | <i>';
222
$custom_text .= sprintf(
223
__( 'Thank you for using <a href="%s" target="_blank">Yet Another Stars Rating</a>.
228
);
229
$custom_text .= '</i>';
230
return $text . $custom_text;
231
}
232
+
233
return $text;
234
}
235
+
236
+ return $text;
237
}
admin/settings/yasr-settings-page.php CHANGED
@@ -134,7 +134,7 @@ $n_multi_set = null; //Avoid undefined variable when printed outside multiset ta
134
135
136
<script type="text/javascript">
137
- jQuery(document).ready(function () {
138
var activeTab = <?php echo(json_encode("$active_tab")); ?>;
139
var nMultiSet = <?php echo(json_encode("$n_multi_set")); ?> ;//Null in php is different from javascript NULL
140
var autoInsertEnabled = <?php echo(json_encode(YASR_AUTO_INSERT_ENABLED)); ?>;
134
135
136
<script type="text/javascript">
137
+ document.addEventListener("DOMContentLoaded", function() {
138
var activeTab = <?php echo(json_encode("$active_tab")); ?>;
139
var nMultiSet = <?php echo(json_encode("$n_multi_set")); ?> ;//Null in php is different from javascript NULL
140
var autoInsertEnabled = <?php echo(json_encode(YASR_AUTO_INSERT_ENABLED)); ?>;
admin/yasr-admin-functions.php CHANGED
@@ -23,9 +23,9 @@ if (!defined('ABSPATH')) {
23
} // Exit if accessed directly
24
25
//action is in the main file
26
- function yasr_on_create_blog( $blog_id, $user_id, $domain, $path, $site_id, $meta ) {
27
if (is_plugin_active_for_network( 'yet-another-stars-rating/yet-another-stars-rating.php' )) {
28
- switch_to_blog($blog_id);
29
YasrOnInstall::createTables();
30
restore_current_blog();
31
}
23
} // Exit if accessed directly
24
25
//action is in the main file
26
+ function yasr_on_create_blog(WP_Site $new_site) {
27
if (is_plugin_active_for_network( 'yet-another-stars-rating/yet-another-stars-rating.php' )) {
28
+ switch_to_blog($new_site->blog_id);
29
YasrOnInstall::createTables();
30
restore_current_blog();
31
}
admin/yasr-admin-init.php CHANGED
@@ -83,6 +83,12 @@ function yasr_add_admin_scripts($hook) {
83
);
84
}
85
86
if ($hook === 'index.php' || $hook === 'edit.php' || $hook === 'post.php' || $hook === 'post-new.php' ||
87
$hook === 'edit-comments.php' || $hook === $yasr_settings_page ||
88
$hook === 'yet-another-stars-rating_page_yasr_stats_page'
83
);
84
}
85
86
+ //add this only in yasr setting page (admin.php?page=yasr_settings_page)
87
+ if ($hook === $yasr_settings_page) {
88
+ $cm_settings['codeEditor'] = wp_enqueue_code_editor(array('type' => 'text/css'));
89
+ wp_localize_script('jquery', 'yasr_cm_settings', $cm_settings);
90
+ }
91
+
92
if ($hook === 'index.php' || $hook === 'edit.php' || $hook === 'post.php' || $hook === 'post-new.php' ||
93
$hook === 'edit-comments.php' || $hook === $yasr_settings_page ||
94
$hook === 'yet-another-stars-rating_page_yasr_stats_page'
includes/rest/classes/YasrCustomEndpoint.php CHANGED
@@ -9,7 +9,7 @@ class YasrCustomEndpoint extends WP_REST_Controller {
9
/**
10
* Constructor
11
*/
12
- public function __construct() {
13
add_action('rest_api_init', array( $this, 'customEndpoint'));
14
}
15
@@ -55,7 +55,8 @@ class YasrCustomEndpoint extends WP_REST_Controller {
55
56
/**
57
*
58
- * Return Author Multi Set
59
*
60
* @param WP_REST_Request $request
61
*
@@ -65,7 +66,6 @@ class YasrCustomEndpoint extends WP_REST_Controller {
65
/*
66
* Get cleaned params
67
*/
68
-
69
$set_id = $request['set_id'];
70
$post_id = $request['post_id'];
71
$visitor = $request['visitor'];
@@ -104,6 +104,8 @@ class YasrCustomEndpoint extends WP_REST_Controller {
104
}
105
106
/**
107
* @param $param
108
* @param $request
109
* @param $key
@@ -144,7 +146,6 @@ class YasrCustomEndpoint extends WP_REST_Controller {
144
if($key === 'visitor') {
145
return (int)$param;
146
}
147
-
148
return;
149
}
150
}
9
/**
10
* Constructor
11
*/
12
+ public function restApiInit() {
13
add_action('rest_api_init', array( $this, 'customEndpoint'));
14
}
15
55
56
/**
57
*
58
+ * Returns Author Multi Set
59
+ * must be public
60
*
61
* @param WP_REST_Request $request
62
*
66
/*
67
* Get cleaned params
68
*/
69
$set_id = $request['set_id'];
70
$post_id = $request['post_id'];
71
$visitor = $request['visitor'];
104
}
105
106
/**
107
+ * Sanitizie input, must be public
108
+ *
109
* @param $param
110
* @param $request
111
* @param $key
146
if($key === 'visitor') {
147
return (int)$param;
148
}
149
return;
150
}
151
}
includes/rest/classes/YasrCustomFields.php CHANGED
@@ -7,9 +7,9 @@ if (!defined('ABSPATH')) {
7
class YasrCustomFields extends WP_REST_Controller {
8
9
/**
10
- * Constructor
11
*/
12
- public function __construct() {
13
add_action('rest_api_init', array( $this, 'customFields'));
14
}
15
@@ -19,7 +19,6 @@ class YasrCustomFields extends WP_REST_Controller {
19
* YOURSITE.COM/wp-json/wp/v2/posts
20
*/
21
public function customFields () {
22
-
23
/**
24
* Add <yasr-visitor-votes> in
25
* YOURSITE.COM/wp-json/wp/v2/posts
@@ -30,7 +29,15 @@ class YasrCustomFields extends WP_REST_Controller {
30
}
31
32
/**
33
- * Helper function to return visitorVotes
34
*/
35
private function visitorVotes() {
36
$post_types = yasr_return_all_post_types();
@@ -99,7 +106,9 @@ class YasrCustomFields extends WP_REST_Controller {
99
}
100
101
/**
102
- * Helper function to return supported itemtype
103
*/
104
private function allItemTypes() {
105
$post_types = yasr_return_all_post_types();
@@ -114,7 +123,7 @@ class YasrCustomFields extends WP_REST_Controller {
114
$post_types,
115
'yasr_all_itemtypes',
116
array(
117
- 'get_callback' => function() {return json_decode(YASR_SUPPORTED_SCHEMA_TYPES); },
118
'update_callback' => null,
119
'schema' => $yasr_itemtype_schema
120
)
@@ -122,7 +131,8 @@ class YasrCustomFields extends WP_REST_Controller {
122
}
123
124
/**
125
- * Helper function to return supported itemtype additional info
126
*/
127
private function itemTypesAdditionalFields() {
128
$post_types = yasr_return_all_post_types();
@@ -135,9 +145,9 @@ class YasrCustomFields extends WP_REST_Controller {
135
//Register Visitor Votes
136
register_rest_field(
137
$post_types,
138
- 'yasr_all_itemtypes',
139
array(
140
- 'get_callback' => function() {return json_decode(YASR_SUPPORTED_SCHEMA_TYPES_ADDITIONAL_FIELDS); },
141
'update_callback' => null,
142
'schema' => $yasr_additional_itemtype_schema
143
)
7
class YasrCustomFields extends WP_REST_Controller {
8
9
/**
10
+ * Add in rest_api_init
11
*/
12
+ public function restApiInit() {
13
add_action('rest_api_init', array( $this, 'customFields'));
14
}
15
19
* YOURSITE.COM/wp-json/wp/v2/posts
20
*/
21
public function customFields () {
22
/**
23
* Add <yasr-visitor-votes> in
24
* YOURSITE.COM/wp-json/wp/v2/posts
29
}
30
31
/**
32
+ * Returns a multidimensionalarray like this:
33
+ * "yasr_visitor_votes": {
34
+ * "number_of_votes": int,
35
+ * "sum_votes": int,
36
+ * "stars_attributes": {
37
+ * "read_only": bool,
38
+ * "span_bottom": string
39
+ * }
40
+ * }
41
*/
42
private function visitorVotes() {
43
$post_types = yasr_return_all_post_types();
106
}
107
108
/**
109
+ * Function to returns all supported itemtype
110
+ * (YASR_SUPPORTED_SCHEMA_TYPES)
111
+ * only in the editor screen
112
*/
113
private function allItemTypes() {
114
$post_types = yasr_return_all_post_types();
123
$post_types,
124
'yasr_all_itemtypes',
125
array(
126
+ 'get_callback' => function() {return json_decode( YASR_SUPPORTED_SCHEMA_TYPES, true ); },
127
'update_callback' => null,
128
'schema' => $yasr_itemtype_schema
129
)
131
}
132
133
/**
134
+ * Function that returns YASR_SUPPORTED_SCHEMA_TYPES_ADDITIONAL_FIELDS
135
+ * only in the edit screen (for guteberg editor)
136
*/
137
private function itemTypesAdditionalFields() {
138
$post_types = yasr_return_all_post_types();
145
//Register Visitor Votes
146
register_rest_field(
147
$post_types,
148
+ 'yasr_all_itemtypes_addition_info',
149
array(
150
+ 'get_callback' => static function() {return json_decode(YASR_SUPPORTED_SCHEMA_TYPES_ADDITIONAL_FIELDS, true); },
151
'update_callback' => null,
152
'schema' => $yasr_additional_itemtype_schema
153
)
includes/rest/classes/YasrPostMeta.php CHANGED
@@ -6,10 +6,10 @@ if (!defined('ABSPATH')) {
6
7
class YasrPostMeta {
8
/**
9
- * Constructor
10
*/
11
- public function __construct() {
12
- add_action('init', array( $this, 'postMeta' ));
13
}
14
15
/*
@@ -19,8 +19,7 @@ class YasrPostMeta {
19
* YOURSITE.COM/wp-json/wp/v2/posts/<POSTID>?_field=meta
20
*
21
*/
22
-
23
- public function postMeta () {
24
register_meta(
25
'post',
26
'yasr_overall_rating',
6
7
class YasrPostMeta {
8
/**
9
+ * Load in init
10
*/
11
+ public function init() {
12
+ add_action('init', array( $this, 'registerPostMeta' ));
13
}
14
15
/*
19
* YOURSITE.COM/wp-json/wp/v2/posts/<POSTID>?_field=meta
20
*
21
*/
22
+ public function registerPostMeta () {
23
register_meta(
24
'post',
25
'yasr_overall_rating',
includes/rest/yasr-rest.php CHANGED
@@ -36,3 +36,7 @@ $yasr_custom_fields = new YasrCustomFields();
36
37
//register new route
38
$yasr_custom_endpoint = new YasrCustomEndpoint();
36
37
//register new route
38
$yasr_custom_endpoint = new YasrCustomEndpoint();
39
+
40
+ $yasr_post_meta->init();
41
+ $yasr_custom_fields->restApiInit();
42
+ $yasr_custom_endpoint->restApiInit();
includes/yasr-includes-functions.php CHANGED
@@ -81,7 +81,7 @@ function yasr_rtl_support() {
81
82
83
/****** Translating YASR ******/
84
- add_action('init', 'yasr_translate_option', 110);
85
86
function yasr_translate_option() {
87
load_plugin_textdomain('yet-another-stars-rating', false, YASR_LANG_DIR);
81
82
83
/****** Translating YASR ******/
84
+ add_action('init', 'yasr_translate_option');
85
86
function yasr_translate_option() {
87
load_plugin_textdomain('yet-another-stars-rating', false, YASR_LANG_DIR);
includes/yasr-includes-init.php CHANGED
@@ -175,10 +175,11 @@ if ($multi_set_options) {
175
176
global $wpdb;
177
178
define('YASR_MULTI_SET_NAME_TABLE', $wpdb->prefix . 'yasr_multi_set');
179
define('YASR_MULTI_SET_FIELDS_TABLE', $wpdb->prefix . 'yasr_multi_set_fields');
180
- define('YASR_LOG_MULTI_SET', $wpdb->prefix . 'yasr_log_multi_set');
181
- define('YASR_LOG_TABLE', $wpdb->prefix . 'yasr_log');
182
define('YASR_LOADER_IMAGE', YASR_IMG_DIR . '/loader.gif');
183
184
//Text for button in settings pages
175
176
global $wpdb;
177
178
+ define('YASR_LOG_TABLE', $wpdb->prefix . 'yasr_log');
179
+ define('YASR_LOG_MULTI_SET', $wpdb->prefix . 'yasr_log_multi_set');
180
define('YASR_MULTI_SET_NAME_TABLE', $wpdb->prefix . 'yasr_multi_set');
181
define('YASR_MULTI_SET_FIELDS_TABLE', $wpdb->prefix . 'yasr_multi_set_fields');
182
+
183
define('YASR_LOADER_IMAGE', YASR_IMG_DIR . '/loader.gif');
184
185
//Text for button in settings pages
readme.txt CHANGED
@@ -5,7 +5,7 @@ Requires at least: 4.9.0
5
Contributors: Dudo
6
Tested up to: 5.5
7
Requires PHP: 5.3
8
- Stable tag: 2.3.1
9
License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
11
Boost the way people interact with your site with an easy WordPress stars rating system! With schema.org rich snippets YASR will improve your SEO
@@ -111,12 +111,13 @@ YASR has been tested with:
111
* Wp Rocket
112
113
= Why I don't see stars in google? =
114
- Please be sure that if you use mostly the "yasr_visitor_votes" shortcode, you've to select "Aggregate Rating" to the question "Which rich snippet do you want to use?" in the General Settings.
115
- If, instead, your website use mostly the "yasr_overall_rating" shortcode, you've to select "Review Rating".
116
- Google will need some days to index the stars.
117
- You can use the [Structured Data Testing Tool](https://search.google.com/structured-data/testing-tool/u/0/) to validate your page.
118
If you set up everythings fine, in 99% of cases your stars will appear in a week.
119
- If doesn't, it's suggested to ask in a SEO oriented forum.
120
121
122
== Screenshots ==
@@ -130,6 +131,13 @@ If doesn't, it's suggested to ask in a SEO oriented forum.
130
131
The full changelog can be found in the plugin's directory. Recent entries:
132
133
= 2.3.1 =
134
* Code refactor, according to boilerplate standards
135
5
Contributors: Dudo
6
Tested up to: 5.5
7
Requires PHP: 5.3
8
+ Stable tag: 2.3.2
9
License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
11
Boost the way people interact with your site with an easy WordPress stars rating system! With schema.org rich snippets YASR will improve your SEO
111
* Wp Rocket
112
113
= Why I don't see stars in google? =
114
+ [Read here](https://yetanotherstarsrating.com/docs/rich-snippet/reviewrating-and-aggregaterating/) and find out how to
115
+ set up rich snippets.
116
+ You can use the [Structured Data Testing Tool](https://search.google.com/structured-data/testing-tool/u/0/) to validate
117
+ your pages.
118
+ Also [read this](https://webmasters.googleblog.com/2019/09/making-review-rich-results-more-helpful.html) google announcement.
119
If you set up everythings fine, in 99% of cases your stars will appear in a week.
120
+ If doesn't, you should work on your seo reputation.
121
122
123
== Screenshots ==
131
132
The full changelog can be found in the plugin's directory. Recent entries:
133
134
+ = 2.3.2 =
135
+ * FIXED: Uncaught TypeError randomly shows up in the browser console
136
+ * TWEAKED: removed deprecated multisite function
137
+ * TWEAKED: in tht settings page, the "custom css" textarea is now a text editor
138
+ * TWEAKED: CSS improvment in settings page
139
+ * TWEAKED: minor code cleanup
140
+
141
= 2.3.1 =
142
* Code refactor, according to boilerplate standards
143
yet-another-stars-rating.php CHANGED
@@ -5,7 +5,7 @@
5
* Plugin URI: http://wordpress.org/plugins/yet-another-stars-rating/
6
* Description: Yasr - Yet Another Stars Rating is a powerful way to add SEO-friendly user-generated reviews and
7
* testimonials to your website posts, pages and CPT, without affecting its speed.
8
- * Version: 2.3.1
9
* Author: Dario Curvino
10
* Author URI: https://dariocurvino.it/
11
* Text Domain: yet-another-stars-rating
@@ -77,7 +77,7 @@ if ( !function_exists( 'yasr_fs' ) ) {
77
yasr_fs();
78
// Signal that SDK was initiated.
79
do_action( 'yasr_fs_loaded' );
80
- define( 'YASR_VERSION_NUM', '2.3.1' );
81
//Plugin absolute path
82
//e.g. /var/www/html/plugin_development/wp-content/plugins/yet-another-stars-rating
83
define( 'YASR_ABSOLUTE_PATH', __DIR__ );
@@ -132,7 +132,7 @@ if ( !function_exists( 'yasr_fs' ) ) {
132
133
//this is called when in multisite a new blog is added
134
add_action(
135
- 'wpmu_new_blog',
136
'yasr_on_create_blog',
137
10,
138
6
5
* Plugin URI: http://wordpress.org/plugins/yet-another-stars-rating/
6
* Description: Yasr - Yet Another Stars Rating is a powerful way to add SEO-friendly user-generated reviews and
7
* testimonials to your website posts, pages and CPT, without affecting its speed.
8
+ * Version: 2.3.2
9
* Author: Dario Curvino
10
* Author URI: https://dariocurvino.it/
11
* Text Domain: yet-another-stars-rating
77
yasr_fs();
78
// Signal that SDK was initiated.
79
do_action( 'yasr_fs_loaded' );
80
+ define( 'YASR_VERSION_NUM', '2.3.2' );
81
//Plugin absolute path
82
//e.g. /var/www/html/plugin_development/wp-content/plugins/yet-another-stars-rating
83
define( 'YASR_ABSOLUTE_PATH', __DIR__ );
132
133
//this is called when in multisite a new blog is added
134
add_action(
135
+ 'wp_insert_site',
136
'yasr_on_create_blog',
137
10,
138
6