Version Description
- 2017-09-01
Download this release
Release Info
| Developer | codeinwp |
| Plugin | |
| Version | 3.0.8 |
| Comparing to | |
| See all releases | |
Code changes from version 3.0.7 to 3.0.8
- CHANGELOG.md +7 -0
- assets/css/frontpage.css +1 -1
- includes/admin/helpers/class-wppr-logger.php +32 -22
- includes/admin/models/abstract/class-wppr-model-abstract.php +10 -0
- includes/admin/models/class-wppr-editor-model.php +10 -7
- includes/class-wppr.php +1 -1
- includes/legacy.php +13 -0
- includes/public/layouts/rich-json-ld.php +2 -2
- readme.txt +8 -0
- vendor/autoload.php +1 -1
- vendor/autoload_52.php +1 -1
- vendor/composer/autoload_real.php +5 -5
- vendor/composer/autoload_real_52.php +3 -3
- wp-product-review.php +2 -2
CHANGELOG.md
CHANGED
|
@@ -1,4 +1,11 @@
|
|
| 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
### v3.0.7 - 2017-08-29
|
| 3 |
**Changes:**
|
| 4 |
* Fixed empty links for reviews.
|
| 1 |
|
| 2 |
+
### v3.0.8 - 2017-09-01
|
| 3 |
+
**Changes:**
|
| 4 |
+
* Fix for out of memory errors.
|
| 5 |
+
* Fix for options saving when there is no value for each option.
|
| 6 |
+
* Fix for compatibility with Bookrev.
|
| 7 |
+
* Fix for rich snippet reviewer author.
|
| 8 |
+
|
| 9 |
### v3.0.7 - 2017-08-29
|
| 10 |
**Changes:**
|
| 11 |
* Fixed empty links for reviews.
|
assets/css/frontpage.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
/*
|
| 2 |
-
Version: 3.0.
|
| 3 |
*/
|
| 4 |
#review-statistics {
|
| 5 |
width: 100%;
|
| 1 |
/*
|
| 2 |
+
Version: 3.0.8
|
| 3 |
*/
|
| 4 |
#review-statistics {
|
| 5 |
width: 100%;
|
includes/admin/helpers/class-wppr-logger.php
CHANGED
|
@@ -19,17 +19,48 @@ class WPPR_Logger {
|
|
| 19 |
*
|
| 20 |
* @since 3.0.0
|
| 21 |
* @access public
|
|
|
|
| 22 |
* @param string $msg The message to report.
|
| 23 |
*/
|
| 24 |
public function warning( $msg = '' ) {
|
| 25 |
$this->message( $msg, 'warning' );
|
| 26 |
}
|
| 27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
/**
|
| 29 |
* The error msg to report.
|
| 30 |
*
|
| 31 |
* @since 3.0.0
|
| 32 |
* @access public
|
|
|
|
| 33 |
* @param string $msg The error msg.
|
| 34 |
*/
|
| 35 |
public function error( $msg = '' ) {
|
|
@@ -41,31 +72,10 @@ class WPPR_Logger {
|
|
| 41 |
*
|
| 42 |
* @since 3.0.0
|
| 43 |
* @access public
|
|
|
|
| 44 |
* @param string $msg The message to report as notice.
|
| 45 |
*/
|
| 46 |
public function notice( $msg = '' ) {
|
| 47 |
$this->message( $msg, 'notice' );
|
| 48 |
}
|
| 49 |
-
|
| 50 |
-
/**
|
| 51 |
-
* Report a message as error|warning|notice.
|
| 52 |
-
*
|
| 53 |
-
* @since 3.0.0
|
| 54 |
-
* @access private
|
| 55 |
-
* @param string $msg The message.
|
| 56 |
-
* @param string $type The type of the message.
|
| 57 |
-
*/
|
| 58 |
-
private function message( $msg, $type ) {
|
| 59 |
-
$type = strtoupper( $type );
|
| 60 |
-
$msg = $type . ' : ' . $msg;
|
| 61 |
-
$bt = debug_backtrace();
|
| 62 |
-
$caller = array_shift( $bt );
|
| 63 |
-
$caller = array_shift( $bt );
|
| 64 |
-
$caller = array_shift( $bt );
|
| 65 |
-
$msg = $msg . ' [ ' . $caller['file'];
|
| 66 |
-
$msg = $msg . ' : ' . $caller['line'] . ' ]';
|
| 67 |
-
if ( defined( 'WPPR_DEBUG' ) && WPPR_DEBUG ) {
|
| 68 |
-
error_log( $msg );
|
| 69 |
-
}
|
| 70 |
-
}
|
| 71 |
}
|
| 19 |
*
|
| 20 |
* @since 3.0.0
|
| 21 |
* @access public
|
| 22 |
+
*
|
| 23 |
* @param string $msg The message to report.
|
| 24 |
*/
|
| 25 |
public function warning( $msg = '' ) {
|
| 26 |
$this->message( $msg, 'warning' );
|
| 27 |
}
|
| 28 |
|
| 29 |
+
/**
|
| 30 |
+
* Report a message as error|warning|notice.
|
| 31 |
+
*
|
| 32 |
+
* @since 3.0.0
|
| 33 |
+
* @access private
|
| 34 |
+
*
|
| 35 |
+
* @param string $msg The message.
|
| 36 |
+
* @param string $type The type of the message.
|
| 37 |
+
*/
|
| 38 |
+
private function message( $msg, $type ) {
|
| 39 |
+
|
| 40 |
+
if ( ! defined( 'WPPR_DEBUG' ) ) {
|
| 41 |
+
return;
|
| 42 |
+
}
|
| 43 |
+
if ( ! WPPR_DEBUG ) {
|
| 44 |
+
return;
|
| 45 |
+
}
|
| 46 |
+
$type = strtoupper( $type );
|
| 47 |
+
$msg = $type . ' : ' . $msg;
|
| 48 |
+
$bt = debug_backtrace();
|
| 49 |
+
$caller = array_shift( $bt );
|
| 50 |
+
$caller = array_shift( $bt );
|
| 51 |
+
$caller = array_shift( $bt );
|
| 52 |
+
$msg = $msg . ' [ ' . $caller['file'];
|
| 53 |
+
$msg = $msg . ' : ' . $caller['line'] . ' ]';
|
| 54 |
+
error_log( $msg );
|
| 55 |
+
|
| 56 |
+
}
|
| 57 |
+
|
| 58 |
/**
|
| 59 |
* The error msg to report.
|
| 60 |
*
|
| 61 |
* @since 3.0.0
|
| 62 |
* @access public
|
| 63 |
+
*
|
| 64 |
* @param string $msg The error msg.
|
| 65 |
*/
|
| 66 |
public function error( $msg = '' ) {
|
| 72 |
*
|
| 73 |
* @since 3.0.0
|
| 74 |
* @access public
|
| 75 |
+
*
|
| 76 |
* @param string $msg The message to report as notice.
|
| 77 |
*/
|
| 78 |
public function notice( $msg = '' ) {
|
| 79 |
$this->message( $msg, 'notice' );
|
| 80 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 81 |
}
|
includes/admin/models/abstract/class-wppr-model-abstract.php
CHANGED
|
@@ -81,6 +81,7 @@ class WPPR_Model_Abstract {
|
|
| 81 |
return apply_filters( 'wppr_get_old_option', $this->options[ $key ], $key );
|
| 82 |
}
|
| 83 |
$default = $this->get_default( $key );
|
|
|
|
| 84 |
return apply_filters( 'wppr_get_old_option', $default, $key );
|
| 85 |
}
|
| 86 |
|
|
@@ -107,6 +108,15 @@ class WPPR_Model_Abstract {
|
|
| 107 |
return $all[ $key ]['default'];
|
| 108 |
}
|
| 109 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
/**
|
| 111 |
* Update a global wppr option.
|
| 112 |
*
|
| 81 |
return apply_filters( 'wppr_get_old_option', $this->options[ $key ], $key );
|
| 82 |
}
|
| 83 |
$default = $this->get_default( $key );
|
| 84 |
+
|
| 85 |
return apply_filters( 'wppr_get_old_option', $default, $key );
|
| 86 |
}
|
| 87 |
|
| 108 |
return $all[ $key ]['default'];
|
| 109 |
}
|
| 110 |
|
| 111 |
+
/**
|
| 112 |
+
* Return all options.
|
| 113 |
+
*
|
| 114 |
+
* @return array All options.
|
| 115 |
+
*/
|
| 116 |
+
public function get_all() {
|
| 117 |
+
return $this->options;
|
| 118 |
+
}
|
| 119 |
+
|
| 120 |
/**
|
| 121 |
* Update a global wppr option.
|
| 122 |
*
|
includes/admin/models/class-wppr-editor-model.php
CHANGED
|
@@ -59,6 +59,7 @@ class WPPR_Editor_Model extends WPPR_Model_Abstract {
|
|
| 59 |
*
|
| 60 |
* @since 3.0.0
|
| 61 |
* @access public
|
|
|
|
| 62 |
* @param WP_Post $post The post object.
|
| 63 |
*/
|
| 64 |
public function __construct( $post ) {
|
|
@@ -92,7 +93,9 @@ class WPPR_Editor_Model extends WPPR_Model_Abstract {
|
|
| 92 |
*
|
| 93 |
* @since 3.0.0
|
| 94 |
* @access public
|
|
|
|
| 95 |
* @param string $key The field name.
|
|
|
|
| 96 |
* @return string
|
| 97 |
*/
|
| 98 |
public function get_value( $key ) {
|
|
@@ -192,10 +195,10 @@ class WPPR_Editor_Model extends WPPR_Model_Abstract {
|
|
| 192 |
$cons = isset( $data['wppr-editor-cons'] ) ? $data['wppr-editor-cons'] : array();
|
| 193 |
$options = array();
|
| 194 |
foreach ( $options_names as $k => $op_name ) {
|
| 195 |
-
if (
|
| 196 |
$options[] = array(
|
| 197 |
'name' => sanitize_text_field( $op_name ),
|
| 198 |
-
'value' => sanitize_text_field( $options_values[ $k ] ),
|
| 199 |
);
|
| 200 |
|
| 201 |
}
|
|
@@ -246,17 +249,17 @@ class WPPR_Editor_Model extends WPPR_Model_Abstract {
|
|
| 246 |
$assets = array(
|
| 247 |
'css' => array(
|
| 248 |
'dashboard-styles' => array(
|
| 249 |
-
'path'
|
| 250 |
'required' => array(),
|
| 251 |
),
|
| 252 |
-
'default-editor'
|
| 253 |
-
'path'
|
| 254 |
'required' => array(),
|
| 255 |
),
|
| 256 |
),
|
| 257 |
-
'js'
|
| 258 |
'default-editor' => array(
|
| 259 |
-
'path'
|
| 260 |
'required' => array( 'jquery' ),
|
| 261 |
),
|
| 262 |
),
|
| 59 |
*
|
| 60 |
* @since 3.0.0
|
| 61 |
* @access public
|
| 62 |
+
*
|
| 63 |
* @param WP_Post $post The post object.
|
| 64 |
*/
|
| 65 |
public function __construct( $post ) {
|
| 93 |
*
|
| 94 |
* @since 3.0.0
|
| 95 |
* @access public
|
| 96 |
+
*
|
| 97 |
* @param string $key The field name.
|
| 98 |
+
*
|
| 99 |
* @return string
|
| 100 |
*/
|
| 101 |
public function get_value( $key ) {
|
| 195 |
$cons = isset( $data['wppr-editor-cons'] ) ? $data['wppr-editor-cons'] : array();
|
| 196 |
$options = array();
|
| 197 |
foreach ( $options_names as $k => $op_name ) {
|
| 198 |
+
if ( ! empty( $op_name ) ) {
|
| 199 |
$options[] = array(
|
| 200 |
'name' => sanitize_text_field( $op_name ),
|
| 201 |
+
'value' => sanitize_text_field( isset( $options_values[ $k ] ) ? ( empty( $options_values[ $k ] ) ? 0 : $options_values[ $k ] ) : 0 ),
|
| 202 |
);
|
| 203 |
|
| 204 |
}
|
| 249 |
$assets = array(
|
| 250 |
'css' => array(
|
| 251 |
'dashboard-styles' => array(
|
| 252 |
+
'path' => WPPR_URL . '/assets/css/dashboard_styles.css',
|
| 253 |
'required' => array(),
|
| 254 |
),
|
| 255 |
+
'default-editor' => array(
|
| 256 |
+
'path' => WPPR_URL . '/assets/css/editor.css',
|
| 257 |
'required' => array(),
|
| 258 |
),
|
| 259 |
),
|
| 260 |
+
'js' => array(
|
| 261 |
'default-editor' => array(
|
| 262 |
+
'path' => WPPR_URL . '/assets/js/admin-review.js',
|
| 263 |
'required' => array( 'jquery' ),
|
| 264 |
),
|
| 265 |
),
|
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.0.
|
| 71 |
|
| 72 |
$this->load_dependencies();
|
| 73 |
$this->set_locale();
|
| 67 |
*/
|
| 68 |
public function __construct() {
|
| 69 |
$this->plugin_name = 'wppr';
|
| 70 |
+
$this->version = '3.0.8';
|
| 71 |
|
| 72 |
$this->load_dependencies();
|
| 73 |
$this->set_locale();
|
includes/legacy.php
CHANGED
|
@@ -35,3 +35,16 @@ function cwppos_show_review( $post_id ) {
|
|
| 35 |
|
| 36 |
return $output;
|
| 37 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
|
| 36 |
return $output;
|
| 37 |
}
|
| 38 |
+
|
| 39 |
+
/**
|
| 40 |
+
* Legacy functions for return all the options.
|
| 41 |
+
*
|
| 42 |
+
* @deprecated
|
| 43 |
+
*
|
| 44 |
+
* @return mixed Array of global options.
|
| 45 |
+
*/
|
| 46 |
+
function cwppos() {
|
| 47 |
+
$options = new WPPR_Options_Model();
|
| 48 |
+
|
| 49 |
+
return $options->get_all();
|
| 50 |
+
}
|
includes/public/layouts/rich-json-ld.php
CHANGED
|
@@ -52,8 +52,8 @@ if ( $review_object->wppr_get_option( 'wppr_rich_snippet' ) == 'yes' ) {
|
|
| 52 |
"price": "' . number_format( $review_object->get_price(), 2 ) . '",
|
| 53 |
"priceCurrency": "' . $review_object->get_currency() . '",
|
| 54 |
"seller": {
|
| 55 |
-
"@type": "
|
| 56 |
-
|
| 57 |
}
|
| 58 |
}
|
| 59 |
}</script>';
|
| 52 |
"price": "' . number_format( $review_object->get_price(), 2 ) . '",
|
| 53 |
"priceCurrency": "' . $review_object->get_currency() . '",
|
| 54 |
"seller": {
|
| 55 |
+
"@type": "Person",
|
| 56 |
+
"name": "' . get_the_author() . '"
|
| 57 |
}
|
| 58 |
}
|
| 59 |
}</script>';
|
readme.txt
CHANGED
|
@@ -67,6 +67,14 @@ If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-
|
|
| 67 |
* fr_FR translation by Jacques Soule of http://wordpress-pour-vous.com/
|
| 68 |
|
| 69 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
= 3.0.7 - 2017-08-29 =
|
| 71 |
|
| 72 |
* Fixed empty links for reviews.
|
| 67 |
* fr_FR translation by Jacques Soule of http://wordpress-pour-vous.com/
|
| 68 |
|
| 69 |
== Changelog ==
|
| 70 |
+
= 3.0.8 - 2017-09-01 =
|
| 71 |
+
|
| 72 |
+
* Fix for out of memory errors.
|
| 73 |
+
* Fix for options saving when there is no value for each option.
|
| 74 |
+
* Fix for compatibility with Bookrev.
|
| 75 |
+
* Fix for rich snippet reviewer author.
|
| 76 |
+
|
| 77 |
+
|
| 78 |
= 3.0.7 - 2017-08-29 =
|
| 79 |
|
| 80 |
* Fixed empty links for reviews.
|
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 ComposerAutoloaderInit5d80c55356a9df28e3bba37cae15e986::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 ComposerAutoloaderInit9bbe254b12d96f4e2a2fc88cd8d107f3::getLoader();
|
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 ComposerAutoloaderInit86d46abce0bdea91457932424bfa7b78
|
|
| 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 ComposerAutoloaderInit86d46abce0bdea91457932424bfa7b78
|
|
| 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 ComposerAutoloaderInit5d80c55356a9df28e3bba37cae15e986
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit5d80c55356a9df28e3bba37cae15e986', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit5d80c55356a9df28e3bba37cae15e986', '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 |
+
composerRequire5d80c55356a9df28e3bba37cae15e986($fileIdentifier, $file);
|
| 46 |
}
|
| 47 |
|
| 48 |
return $loader;
|
| 49 |
}
|
| 50 |
}
|
| 51 |
|
| 52 |
+
function composerRequire5d80c55356a9df28e3bba37cae15e986($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 ComposerAutoloaderInit9eaef6f6e70aef395c1322c733506e0c {
|
|
| 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 ComposerAutoloaderInit9bbe254b12d96f4e2a2fc88cd8d107f3 {
|
| 6 |
private static $loader;
|
| 7 |
|
| 8 |
public static function loadClassLoader($class) {
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit9bbe254b12d96f4e2a2fc88cd8d107f3', 'loadClassLoader'), true /*, true */);
|
| 23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit9bbe254b12d96f4e2a2fc88cd8d107f3', 'loadClassLoader'));
|
| 25 |
|
| 26 |
$vendorDir = dirname(dirname(__FILE__));
|
| 27 |
$baseDir = dirname($vendorDir);
|
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.0.
|
| 19 |
* Author: ThemeIsle
|
| 20 |
* Author URI: https://themeisle.com/
|
| 21 |
* Requires at least: 3.5
|
|
@@ -67,7 +67,7 @@ register_deactivation_hook( __FILE__, 'deactivate_wppr' );
|
|
| 67 |
*/
|
| 68 |
function run_wppr() {
|
| 69 |
|
| 70 |
-
define( 'WPPR_LITE_VERSION', '3.0.
|
| 71 |
define( 'WPPR_PATH', dirname( __FILE__ ) );
|
| 72 |
define( 'WPPR_SLUG', 'wppr' );
|
| 73 |
define( 'WPPR_UPSELL_LINK', 'https://themeisle.com/plugins/wp-product-review/' );
|
| 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.0.8
|
| 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.0.8' );
|
| 71 |
define( 'WPPR_PATH', dirname( __FILE__ ) );
|
| 72 |
define( 'WPPR_SLUG', 'wppr' );
|
| 73 |
define( 'WPPR_UPSELL_LINK', 'https://themeisle.com/plugins/wp-product-review/' );
|
