Version Description
Added priceSpecification type to the JSON-LD structured data Fixed a bug where reviews were removed from the structured data
Download this release
Release Info
Developer | jorisverwater |
Plugin | Product Feed PRO for WooCommerce |
Version | 7.5.9 |
Comparing to | |
See all releases |
Code changes from version 7.5.8 to 7.5.9
- js/woosea_key.js +1 -1
- readme.txt +9 -1
- woocommerce-sea.php +102 -5
js/woosea_key.js
CHANGED
@@ -27,7 +27,7 @@ jQuery(document).ready(function($) {
|
|
27 |
var license_key = $('#license-key').val();
|
28 |
|
29 |
jQuery.ajax({
|
30 |
-
url: 'https://www.adtribes.io/check/license.php?key=' + license_key + '&email=' + license_email + '&domain=' + root_domain + '&version=7.5.
|
31 |
jsonp: 'callback',
|
32 |
dataType: 'jsonp',
|
33 |
type: 'GET',
|
27 |
var license_key = $('#license-key').val();
|
28 |
|
29 |
jQuery.ajax({
|
30 |
+
url: 'https://www.adtribes.io/check/license.php?key=' + license_key + '&email=' + license_email + '&domain=' + root_domain + '&version=7.5.9',
|
31 |
jsonp: 'callback',
|
32 |
dataType: 'jsonp',
|
33 |
type: 'GET',
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ License URI: http://www.gnu.org/licenses/gpl.html
|
|
5 |
Tags: Product Feed, Google Shopping, Google Shopping Feed, WooCommerce Product Feed, WooCommerce Product Feed PRO, Bing Shopping, Bing product feed, Bing remarking, Google Merchant Feed, Google DRM Feed, Google Dynamic Remarketing Feed, Facebook feed, Google feed, Bing feed, Facebook Product Feed, Facebook Dynamic remarketing, Data Feed, WooCommerce Feed, XML product feed, CSV product feed, TSV, TXT product feed, comparison shopping engines, comparison shopping websites, vergelijk.nl, vergelijk.be, vertaa.fi, beslist.nl, kieskeurig.nl, bol.com, raketten, pricerunner, pricegrabber, Buy, leGuide, Kelkoo, Twenga, Yandex, Etsy, Dealtime, Shopzilla, Billiger, Google Product Review feed
|
6 |
Requires at least: 4.5
|
7 |
Tested up to: 5.3
|
8 |
-
Stable tag: 7.5.
|
9 |
|
10 |
== Description ==
|
11 |
|
@@ -312,6 +312,10 @@ Questions left or unanswered? Please do not hesitate to contact us at support@ad
|
|
312 |
|
313 |
=== Changelog ===
|
314 |
|
|
|
|
|
|
|
|
|
315 |
= 7.5.8 (2020-02-28) =
|
316 |
* Adding Brand and MPN to product JSON-LD when woosea values are set for products;
|
317 |
* When a variation SKU has been filled in that will show in the structured data SKU instead of the parent variable SKU;
|
@@ -2413,6 +2417,10 @@ Questions left or unanswered? Please do not hesitate to contact us at support@ad
|
|
2413 |
|
2414 |
== Upgrade Notice ==
|
2415 |
|
|
|
|
|
|
|
|
|
2416 |
= 7.5.8 =
|
2417 |
Adding Brand and MPN to product JSON-LD when woosea values are set for products;
|
2418 |
When a variation SKU has been filled in that will show in the structured data SKU instead of the parent variable SKU;
|
5 |
Tags: Product Feed, Google Shopping, Google Shopping Feed, WooCommerce Product Feed, WooCommerce Product Feed PRO, Bing Shopping, Bing product feed, Bing remarking, Google Merchant Feed, Google DRM Feed, Google Dynamic Remarketing Feed, Facebook feed, Google feed, Bing feed, Facebook Product Feed, Facebook Dynamic remarketing, Data Feed, WooCommerce Feed, XML product feed, CSV product feed, TSV, TXT product feed, comparison shopping engines, comparison shopping websites, vergelijk.nl, vergelijk.be, vertaa.fi, beslist.nl, kieskeurig.nl, bol.com, raketten, pricerunner, pricegrabber, Buy, leGuide, Kelkoo, Twenga, Yandex, Etsy, Dealtime, Shopzilla, Billiger, Google Product Review feed
|
6 |
Requires at least: 4.5
|
7 |
Tested up to: 5.3
|
8 |
+
Stable tag: 7.5.9
|
9 |
|
10 |
== Description ==
|
11 |
|
312 |
|
313 |
=== Changelog ===
|
314 |
|
315 |
+
= 7.5.9 (2020-02-29) =
|
316 |
+
* Added priceSpecification type to the JSON-LD structured data
|
317 |
+
* Fixed a bug where reviews were removed from the structured data
|
318 |
+
|
319 |
= 7.5.8 (2020-02-28) =
|
320 |
* Adding Brand and MPN to product JSON-LD when woosea values are set for products;
|
321 |
* When a variation SKU has been filled in that will show in the structured data SKU instead of the parent variable SKU;
|
2417 |
|
2418 |
== Upgrade Notice ==
|
2419 |
|
2420 |
+
= 7.5.9 =
|
2421 |
+
Added priceSpecification type to the JSON-LD structured data
|
2422 |
+
Fixed a bug where reviews were removed from the structured data
|
2423 |
+
|
2424 |
= 7.5.8 =
|
2425 |
Adding Brand and MPN to product JSON-LD when woosea values are set for products;
|
2426 |
When a variation SKU has been filled in that will show in the structured data SKU instead of the parent variable SKU;
|
woocommerce-sea.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Plugin Name: Product Feed PRO for WooCommerce
|
4 |
-
* Version: 7.5.
|
5 |
* Plugin URI: https://www.adtribes.io/support/?utm_source=wpadmin&utm_medium=plugin&utm_campaign=woosea_product_feed_pro
|
6 |
* Description: Configure and maintain your WooCommerce product feeds for Google Shopping, Facebook, Remarketing, Bing, Yandex, Comparison shopping websites and over a 100 channels more.
|
7 |
* Author: AdTribes.io
|
@@ -48,7 +48,7 @@ if (!defined('ABSPATH')) {
|
|
48 |
* Plugin versionnumber, please do not override.
|
49 |
* Define some constants
|
50 |
*/
|
51 |
-
define( 'WOOCOMMERCESEA_PLUGIN_VERSION', '7.5.
|
52 |
define( 'WOOCOMMERCESEA_PLUGIN_NAME', 'woocommerce-product-feed-pro' );
|
53 |
define( 'WOOCOMMERCESEA_PLUGIN_NAME_SHORT', 'woo-product-feed-pro' );
|
54 |
|
@@ -1335,7 +1335,8 @@ function woosea_product_delete_meta_price( $product = null ) {
|
|
1335 |
'price' => $product_price,
|
1336 |
'priceValidUntil' => $price_valid_until,
|
1337 |
'priceSpecification' => array(
|
1338 |
-
|
|
|
1339 |
'priceCurrency' => $shop_currency,
|
1340 |
'valueAddedTaxIncluded' => wc_prices_include_tax() ? 'true' : 'false',
|
1341 |
),
|
@@ -1364,6 +1365,7 @@ function woosea_product_delete_meta_price( $product = null ) {
|
|
1364 |
'price' => wc_format_decimal( $lowest, wc_get_price_decimals() ),
|
1365 |
'priceCurrency' => $shop_currency,
|
1366 |
'priceSpecification' => array(
|
|
|
1367 |
'price' => wc_format_decimal( $lowest, wc_get_price_decimals() ),
|
1368 |
'priceCurrency' => $shop_currency,
|
1369 |
'valueAddedTaxIncluded' => wc_prices_include_tax() ? 'true' : 'false',
|
@@ -1618,7 +1620,7 @@ function woosea_product_fix_structured_data( $product = null ) {
|
|
1618 |
'@id' => $link . '#product', // Append '#product' to differentiate between this @id and the @id generated for the Breadcrumblist.
|
1619 |
'name' => $variable_product->get_name(),
|
1620 |
'url' => $link,
|
1621 |
-
|
1622 |
);
|
1623 |
$image = wp_get_attachment_url( $variable_product->get_image_id() );
|
1624 |
if ( $image ) {
|
@@ -1646,6 +1648,53 @@ function woosea_product_fix_structured_data( $product = null ) {
|
|
1646 |
} else {
|
1647 |
$markup['sku'] = $variable_product->get_id();
|
1648 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1649 |
}
|
1650 |
} else {
|
1651 |
// This is a simple product
|
@@ -1683,6 +1732,54 @@ function woosea_product_fix_structured_data( $product = null ) {
|
|
1683 |
} else {
|
1684 |
$markup['sku'] = $product->get_id();
|
1685 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1686 |
}
|
1687 |
} else {
|
1688 |
// Structured data fix is not enabled
|
@@ -4052,7 +4149,7 @@ function woosea_license_valid(){
|
|
4052 |
|
4053 |
if(!empty($license_information['license_key'])){
|
4054 |
$curl = curl_init();
|
4055 |
-
$url = "https://www.adtribes.io/check/license.php?key=$license_information[license_key]&email=$license_information[license_email]&domain=$domain&version=7.5.
|
4056 |
|
4057 |
curl_setopt_array($curl, array(
|
4058 |
CURLOPT_RETURNTRANSFER => 1,
|
1 |
<?php
|
2 |
/**
|
3 |
* Plugin Name: Product Feed PRO for WooCommerce
|
4 |
+
* Version: 7.5.9
|
5 |
* Plugin URI: https://www.adtribes.io/support/?utm_source=wpadmin&utm_medium=plugin&utm_campaign=woosea_product_feed_pro
|
6 |
* Description: Configure and maintain your WooCommerce product feeds for Google Shopping, Facebook, Remarketing, Bing, Yandex, Comparison shopping websites and over a 100 channels more.
|
7 |
* Author: AdTribes.io
|
48 |
* Plugin versionnumber, please do not override.
|
49 |
* Define some constants
|
50 |
*/
|
51 |
+
define( 'WOOCOMMERCESEA_PLUGIN_VERSION', '7.5.9' );
|
52 |
define( 'WOOCOMMERCESEA_PLUGIN_NAME', 'woocommerce-product-feed-pro' );
|
53 |
define( 'WOOCOMMERCESEA_PLUGIN_NAME_SHORT', 'woo-product-feed-pro' );
|
54 |
|
1335 |
'price' => $product_price,
|
1336 |
'priceValidUntil' => $price_valid_until,
|
1337 |
'priceSpecification' => array(
|
1338 |
+
'@type' => 'PriceSpecification',
|
1339 |
+
'price' => $product_price,
|
1340 |
'priceCurrency' => $shop_currency,
|
1341 |
'valueAddedTaxIncluded' => wc_prices_include_tax() ? 'true' : 'false',
|
1342 |
),
|
1365 |
'price' => wc_format_decimal( $lowest, wc_get_price_decimals() ),
|
1366 |
'priceCurrency' => $shop_currency,
|
1367 |
'priceSpecification' => array(
|
1368 |
+
'@type' => 'PriceSpecification',
|
1369 |
'price' => wc_format_decimal( $lowest, wc_get_price_decimals() ),
|
1370 |
'priceCurrency' => $shop_currency,
|
1371 |
'valueAddedTaxIncluded' => wc_prices_include_tax() ? 'true' : 'false',
|
1620 |
'@id' => $link . '#product', // Append '#product' to differentiate between this @id and the @id generated for the Breadcrumblist.
|
1621 |
'name' => $variable_product->get_name(),
|
1622 |
'url' => $link,
|
1623 |
+
'description' => wp_strip_all_tags( do_shortcode( $product->get_short_description() ? $product->get_short_description() : $product->get_description() ) ),
|
1624 |
);
|
1625 |
$image = wp_get_attachment_url( $variable_product->get_image_id() );
|
1626 |
if ( $image ) {
|
1648 |
} else {
|
1649 |
$markup['sku'] = $variable_product->get_id();
|
1650 |
}
|
1651 |
+
|
1652 |
+
if ( $product->get_rating_count() && wc_review_ratings_enabled() ) {
|
1653 |
+
$markup['aggregateRating'] = array(
|
1654 |
+
'@type' => 'AggregateRating',
|
1655 |
+
'ratingValue' => $product->get_average_rating(),
|
1656 |
+
'reviewCount' => $product->get_review_count(),
|
1657 |
+
);
|
1658 |
+
|
1659 |
+
// Markup 5 most recent rating/review.
|
1660 |
+
$comments = get_comments(
|
1661 |
+
array(
|
1662 |
+
'number' => 5,
|
1663 |
+
'post_id' => $product->get_id(),
|
1664 |
+
'status' => 'approve',
|
1665 |
+
'post_status' => 'publish',
|
1666 |
+
'post_type' => 'product',
|
1667 |
+
'parent' => 0,
|
1668 |
+
'meta_query' => array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query
|
1669 |
+
array(
|
1670 |
+
'key' => 'rating',
|
1671 |
+
'type' => 'NUMERIC',
|
1672 |
+
'compare' => '>',
|
1673 |
+
'value' => 0,
|
1674 |
+
),
|
1675 |
+
),
|
1676 |
+
)
|
1677 |
+
);
|
1678 |
+
|
1679 |
+
if ( $comments ) {
|
1680 |
+
$markup['review'] = array();
|
1681 |
+
foreach ( $comments as $comment ) {
|
1682 |
+
$markup['review'][] = array(
|
1683 |
+
'@type' => 'Review',
|
1684 |
+
'reviewRating' => array(
|
1685 |
+
'@type' => 'Rating',
|
1686 |
+
'ratingValue' => get_comment_meta( $comment->comment_ID, 'rating', true ),
|
1687 |
+
),
|
1688 |
+
'author' => array(
|
1689 |
+
'@type' => 'Person',
|
1690 |
+
'name' => get_comment_author( $comment ),
|
1691 |
+
),
|
1692 |
+
'reviewBody' => get_comment_text( $comment ),
|
1693 |
+
'datePublished' => get_comment_date( 'c', $comment ),
|
1694 |
+
);
|
1695 |
+
}
|
1696 |
+
}
|
1697 |
+
}
|
1698 |
}
|
1699 |
} else {
|
1700 |
// This is a simple product
|
1732 |
} else {
|
1733 |
$markup['sku'] = $product->get_id();
|
1734 |
}
|
1735 |
+
|
1736 |
+
if ( $product->get_rating_count() && wc_review_ratings_enabled() ) {
|
1737 |
+
$markup['aggregateRating'] = array(
|
1738 |
+
'@type' => 'AggregateRating',
|
1739 |
+
'ratingValue' => $product->get_average_rating(),
|
1740 |
+
'reviewCount' => $product->get_review_count(),
|
1741 |
+
);
|
1742 |
+
|
1743 |
+
// Markup 5 most recent rating/review.
|
1744 |
+
$comments = get_comments(
|
1745 |
+
array(
|
1746 |
+
'number' => 5,
|
1747 |
+
'post_id' => $product->get_id(),
|
1748 |
+
'status' => 'approve',
|
1749 |
+
'post_status' => 'publish',
|
1750 |
+
'post_type' => 'product',
|
1751 |
+
'parent' => 0,
|
1752 |
+
'meta_query' => array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query
|
1753 |
+
array(
|
1754 |
+
'key' => 'rating',
|
1755 |
+
'type' => 'NUMERIC',
|
1756 |
+
'compare' => '>',
|
1757 |
+
'value' => 0,
|
1758 |
+
),
|
1759 |
+
),
|
1760 |
+
)
|
1761 |
+
);
|
1762 |
+
|
1763 |
+
if ( $comments ) {
|
1764 |
+
$markup['review'] = array();
|
1765 |
+
foreach ( $comments as $comment ) {
|
1766 |
+
$markup['review'][] = array(
|
1767 |
+
'@type' => 'Review',
|
1768 |
+
'reviewRating' => array(
|
1769 |
+
'@type' => 'Rating',
|
1770 |
+
'ratingValue' => get_comment_meta( $comment->comment_ID, 'rating', true ),
|
1771 |
+
),
|
1772 |
+
'author' => array(
|
1773 |
+
'@type' => 'Person',
|
1774 |
+
'name' => get_comment_author( $comment ),
|
1775 |
+
),
|
1776 |
+
'reviewBody' => get_comment_text( $comment ),
|
1777 |
+
'datePublished' => get_comment_date( 'c', $comment ),
|
1778 |
+
);
|
1779 |
+
}
|
1780 |
+
}
|
1781 |
+
}
|
1782 |
+
|
1783 |
}
|
1784 |
} else {
|
1785 |
// Structured data fix is not enabled
|
4149 |
|
4150 |
if(!empty($license_information['license_key'])){
|
4151 |
$curl = curl_init();
|
4152 |
+
$url = "https://www.adtribes.io/check/license.php?key=$license_information[license_key]&email=$license_information[license_email]&domain=$domain&version=7.5.9";
|
4153 |
|
4154 |
curl_setopt_array($curl, array(
|
4155 |
CURLOPT_RETURNTRANSFER => 1,
|