=== WPSSO Core - The Complete Structured Data Plugin === Plugin Name: WPSSO Core Plugin Slug: wpsso Text Domain: wpsso Domain Path: /languages License: GPLv3 License URI: https://www.gnu.org/licenses/gpl.txt Assets URI: https://surniaulula.github.io/wpsso/assets/ Tags: schema, seo, woocommerce, meta tags, google search console, google merchant, open graph, rich results, knowledge graph, xml sitemap, structured data Contributors: jsmoriss Requires PHP: 7.2.34 Requires At Least: 5.5 Tested Up To: 6.3.0 WC Tested Up To: 7.8.2 Stable Tag: 15.17.2 Present your content at its best on social sites and in search results - no matter how URLs are shared, reshared, messaged, posted, embedded, or crawled. == Description ==

The Complete Structured Data Plugin for WordPress

Present your content at its best on social sites and in search results - no matter how URLs are shared, reshared, messaged, posted, embedded, or crawled.

Provides structured data markup for:

Optimized image sizes for social sites and search engines:

* Google Merchant Feed XML * Open Graph (Facebook and oEmbed) * Pinterest Pin It * Schema 1:1 (Google Rich Results) * Schema 4:3 (Google Rich Results) * Schema 16:9 (Google Rich Results) * Schema Thumbnail * Twitter Summary Card * Twitter Summary Card Large Image * Video Preview Images

Supports over 500 different Schema types and sub-types, including Schema Event for WooCommerce products.

Fixes all Google Rich Results, Google Merchant, and Schema Markup Validator errors, including:

* *A value for the headline field is required* * *A value for the image field is required* * *A value for the logo field is required* * *A value for the publisher field is required* * *Invalid value in field "priceSpecification"* * *The aggregateRating field is recommended* * *The brand field is recommended* * *The headline field is recommended* * *The image field is recommended* * *The review field is recommended* * *Missing field "address"* * *Missing field "aggregateRating"* * *Missing field "brand"* * *Missing field "businessDays"* * *Missing field "cutoffTime"* * *Missing field "deliveryTime"* * *Missing field "hasMerchantReturnPolicy" (in "offers")* * *Missing field "image"* * *Missing field "priceRange"* * *Missing field "review"* * *Missing field "shippingDetails" (in "offers")* * *Missing field "telephone"* * *No global identifier provided (e.g. gtin mpn isbn)* * *Not a known valid target type for the itemReviewed property* * *Price Mismatched value (page crawl): (price [price])*

Reads settings and data from other active plugins, including:

* All in One SEO Pack * Co-Authors Plus * Elementor Website Builder * Gravity Forms + GravityView * Perfect Images * Perfect WooCommerce Brands * Polylang * Product GTIN (EAN, UPC, ISBN) for WooCommerce * Rank Math SEO * Rate my Post * SEOPress * Simple Job Board * The Events Calendar * The SEO Framework * Ultimate Member * WooCommerce * WooCommerce Brands * WooCommerce Currency Switcher * WooCommerce UPC, EAN, and ISBN * WP Job Manager * WP Meta SEO * WP-PostRatings * WP Product Review * WP Recipe Maker * WPML * YITH WooCommerce Brands Add-on * Yoast SEO * Yotpo Social Reviews for WooCommerce

Users Love the WPSSO Core Plugin

★★★★★ - "Unlike competitors, you can literally customize just about every aspect of SEO and Social SEO if you desire to. [...] This plugin has the most complete JSON-LD markup out of any of them, so you won’t have any errors and warnings in search console for WordPress or WooCommerce sites. You can go crazy customizing everything, or you can just set and forget. There aren’t many plugins that allow the best of both worlds." - [kw11](https://wordpress.org/support/topic/most-responsive-developer-ive-ever-seen/) ★★★★★ - "This plugin makes getting sites structured data ready extremely easy, and it works flawlessly without any issues. It shows messages on the top bar every step of the way to alert you of any issues until everything is set up correctly. It made all my ecommerce products pass Google's validation tests. Great work." - [marguy1](https://wordpress.org/support/topic/excellent-plugin-6825/) ★★★★★ - "This plugin saves me so much time, and it has really lifted my SERP rankings. Most of my keywords I now rank 1-3 position. I also noticed after about a week that my impressions have gone up at least 75%. I upgraded to the pro version which gave me even more options." - [playnstocks](https://wordpress.org/support/topic/excellent-plugin-and-support-200/)

Premium Edition Features

**Retrieves data from remote service APIs, including:** * Get Bitly Short URL * Get DLMY.App Short URL * Get Facebook Video Data * Get Gravatar Image Data * Get Ow.ly Short URL * Get Shopper Approved Review Data * Get Slideshare Presentation Data * Get Soundcloud Track Data * Get Stamped.io Review Data * Get TinyURL Short URL * Get Vimeo Video Data * Get Wistia Video Data * Get WordPress Video Data * Get Your Own URL Shortener (YOURLS) Short URL * Get YouTube Video and Playlist Data **Additional customization options in the SSO > Advanced Settings page and Document SSO metabox.** == Installation ==

Install and Uninstall

* [Install the WPSSO Core Plugin](https://wpsso.com/docs/plugins/wpsso/installation/install-the-plugin/) * [Uninstall the WPSSO Core Plugin](https://wpsso.com/docs/plugins/wpsso/installation/uninstall-the-plugin/)

Plugin Setup

* [Setup Guide](https://wpsso.com/docs/plugins/wpsso/installation/setup-guide/) * [Developer Special: Buy one, Get one Free](https://wpsso.com/docs/plugins/wpsso/installation/developer-special-buy-one-get-one-free/) * [Better Schema Markup for WooCommerce](https://wpsso.com/docs/plugins/wpsso/installation/better-schema-for-woocommerce/) * [Troubleshooting Guide](https://wpsso.com/docs/plugins/wpsso/installation/troubleshooting-guide/) == Frequently Asked Questions ==

Frequently Asked Questions

* [Does LinkedIn read Facebook / Open Graph meta tags?](https://wpsso.com/docs/plugins/wpsso/faqs/does-linkedin-read-the-open-graph-meta-tags/) * [How can I fix a ERR_TOO_MANY_REDIRECTS error?](https://wpsso.com/docs/plugins/wpsso/faqs/how-can-i-fix-a-err_too_many_redirects-error/) * [How can I fix a generic HTTP 500 error?](https://wpsso.com/docs/plugins/wpsso/faqs/how-can-i-fix-a-generic-http-500-error/) * [How can I fix a PHP fatal "out of memory" error?](https://wpsso.com/docs/plugins/wpsso/faqs/how-can-i-fix-a-php-fatal-out-of-memory-error/) * [How can I fix an HTTP error when uploading images?](https://wpsso.com/docs/plugins/wpsso/faqs/how-can-i-fix-an-http-error-when-uploading-images/) * [How can I have smaller dimensions for the default image?](https://wpsso.com/docs/plugins/wpsso/faqs/how-can-i-have-smaller-dimensions-for-the-default-image/) * [How can I see what the Facebook crawler sees?](https://wpsso.com/docs/plugins/wpsso/faqs/how-can-i-see-what-the-facebook-crawler-sees/) * [How do I create a Schema FAQPage?](https://wpsso.com/docs/plugins/wpsso/faqs/how-do-i-create-a-schema-faqpage/) * [How do I enable WordPress WP_DEBUG?](https://wpsso.com/docs/plugins/wpsso/faqs/how-do-i-enable-wordpress-wp_debug/) * [How do I fix Google Structured Data > hatom errors?](https://wpsso.com/docs/plugins/wpsso/faqs/how-do-i-fix-google-structured-data-hatom-errors/) * [How do I remove duplicate meta tags?](https://wpsso.com/docs/plugins/wpsso/faqs/how-do-i-remove-duplicate-meta-tags/) * [How does WPSSO Core find and select images?](https://wpsso.com/docs/plugins/wpsso/faqs/how-does-wpsso-find-detect-select-images/) * [How does WPSSO Core find and select videos?](https://wpsso.com/docs/plugins/wpsso/faqs/how-does-wpsso-find-detect-select-videos/) * [W3C says "there is no attribute 'property'"](https://wpsso.com/docs/plugins/wpsso/faqs/w3c-says-there-is-no-attribute-property/) * [Why are some HTML elements missing or misaligned?](https://wpsso.com/docs/plugins/wpsso/faqs/why-are-some-html-elements-missing-misaligned-different/) * [Why does Facebook show the wrong image / text?](https://wpsso.com/docs/plugins/wpsso/faqs/why-does-facebook-show-the-wrong-image-text/) * [Why does the Schema Markup Validator show errors?](https://wpsso.com/docs/plugins/wpsso/faqs/why-does-google-structured-data-testing-tool-show-errors/) * [Why shouldn't I upload small images to the media library?](https://wpsso.com/docs/plugins/wpsso/faqs/why-shouldnt-i-upload-small-images-to-the-media-library/)

Notes and Documentation

* [Developer Resources](https://wpsso.com/docs/plugins/wpsso/notes/developer/) * [Actions](https://wpsso.com/docs/plugins/wpsso/notes/developer/actions/) * [Constants](https://wpsso.com/docs/plugins/wpsso/notes/developer/constants/) * [Filters](https://wpsso.com/docs/plugins/wpsso/notes/developer/filters/) * [The $mod Variable](https://wpsso.com/docs/plugins/wpsso/notes/developer/the-mod-variable/) * [Inline Variables](https://wpsso.com/docs/plugins/wpsso/notes/inline-variables/) * [Multisite / Network Support](https://wpsso.com/docs/plugins/wpsso/notes/multisite-network-support/) == Screenshots == 01. The Essential, General, and Advanced settings pages provide all the options you may need, from simple blog sites to advanced e-commerce shops and everything in-between. == Changelog ==

Release Schedule

New versions of the plugin are released approximately every week (more or less). New features are added, tested, and released incrementally, instead of grouping them together in a major version release. When minor bugs fixes and/or code improvements are applied, new versions are also released. This release schedule keeps the code stable and reliable, at the cost of more frequent updates.

See release early, release often (RERO) software development philosophy on Wikipedia for more information on the benefits of smaller / more frequent releases.

Version Numbering

Version components: `{major}.{minor}.{bugfix}[-{stage}.{level}]` * {major} = Major structural code changes and/or incompatible API changes (ie. breaking changes).hanges). * {minor} = New functionality was added or improved in a backwards-compatible manner. * {bugfix} = Backwards-compatible bug fixes or small improvements. * {stage}.{level} = Pre-production release: dev < a (alpha) < b (beta) < rc (release candidate).

Standard Edition Repositories

* [GitHub](https://surniaulula.github.io/wpsso/) * [WordPress.org](https://plugins.trac.wordpress.org/browser/wpsso/)

Development Version Updates

WPSSO Core Premium edition customers have access to development, alpha, beta, and release candidate version updates:

Under the SSO > Update Manager settings page, select the "Development and Up" (for example) version filter for the WPSSO Core plugin and/or its add-ons. When new development versions are available, they will automatically appear under your WordPress Dashboard > Updates page. You can reselect the "Stable / Production" version filter at any time to reinstall the latest stable version.

WPSSO Core Standard edition users (ie. the plugin hosted on WordPress.org) have access to the latest development version under the Advanced Options section.

Changelog / Release Notes

**Version 15.17.2 (2023/07/22)** * **New Features** * None. * **Improvements** * None. * **Bugfixes** * Fixed array offset error for woocommerce availability check in `WpssoCompat->common_hooks()`. * **Developer Notes** * None. * **Requires At Least** * PHP v7.2.34. * WordPress v5.5. **Version 15.17.1 (2023/07/17)** * **New Features** * None. * **Improvements** * None. * **Bugfixes** * Fixed a possible incorrect robots "noindex" value in the cache array by adding a check for `is_embed()` in the caching index. * **Developer Notes** * Updated `SucomUtil::get_cache_index()` to add a check for `is_embed()`. * **Requires At Least** * PHP v7.2.34. * WordPress v5.5. **Version 15.17.0 (2023/07/15)** * **New Features** * None. * **Improvements** * Added a new "Anchor ID" input field for How-To and Recipe steps. * **Bugfixes** * Fixed saving radio button options (ie. the How-To step or section option). * **Developer Notes** * Refactored the `sucomInitMetabox()` and `sucomDisableUnchanged()` jQuery functions to support to all input types (not just checkbox, radio, and text). * **Requires At Least** * PHP v7.2.34. * WordPress v5.5. **Version 15.16.0 (2023/07/13)** * **New Features** * Added support for new Schema Organization type properties: * actionableFeedbackPolicy * correctionsPolicy * diversityPolicy * ethicsPolicy * publishingPrinciples * unnamedSourcesPolicy * Added support for new Schema NewsMediaOrganization type properties: * masthead * missionCoveragePrioritiesPolicy * noBylinesPolicy * unnamedSourcesPolicy * **Improvements** * Added a new SSO > General Settings > Location Defaults tab. * Added a contextual information message in the Document SSO > Schema tab for the Schema ItemList type. * Added an error notice for a empty Schema ItemList itemListElement property. * Added new Schema CreativeWork options in the Document SSO metabox: * Funder Org. * Funder Person. * Added new Schema Event options in the Document SSO metabox: * Event Funder Org. * Event Funder Person. * Added new default Schema CreativeWork options in the Advanced settings page: * Default Funder Org. * Default Funder Person. * Added new default Schema Event options in the Advanced settings page: * Default Event Funder Org. * Default Event Funder Person. * **Bugfixes** * None. * **Developer Notes** * Added an `$event_args` to Organization and Place select options. * Added a `$type_id` argument to the `WpssoSchema::check_required_props()` method. * Added a `$type_path` value to the array returned by `WpssoSchema->get_schema_type_url_parts()`. * Added a new `WpssoPost->post_can_have_meta()` method to check for invalid or ignored post objects. * Added a new `WpssoSchema->get_schema_type_url_parts_by_id()` method. * Changed the `WpssoSchema::get_schema_type_url_parts()` static method to dynamic. * Updated the `WpssoSchema->add_itemlist_data()` method to provide markup only for the Schema ItemList type, not its sub-types. * Updated the `WpssoAbstractWpMeta->get_defaults()` method to include option numbered default options. * Replaced `{get|update|delete}_{comment|post|term|user}_meta()` functions by `{get|update|delete}_metadata()`. * Refactored the `WpssoAbstractWpMeta::get_mod_meta()` method. * **Requires At Least** * PHP v7.2.34. * WordPress v5.5. **Version 15.15.1 (2023/07/08)** **IMPORTANT UPDATE** to bypass a bug in the WordPress `get_post_meta()` function: The WordPress `add_post_meta()`, `delete_post_meta()`, and `update_post_meta()` functions all use `wp_is_post_revision()` to add/delete/update metadata of the post, not its revision. That's fine, but the `get_post_meta()` function does NOT use `wp_is_post_revision()`. As a consequence, if `get_post_meta()` and `update_post_meta()` are used during the save process for a revision, the post metadata is being overwritten - the `get_post_meta()` function gets the **revision** metadata and the `update_post_meta()` function updates the **post** metadata NOT the revision metadata. * **New Features** * None. * **Improvements** * None. * **Bugfixes** * None. * **Developer Notes** * Updated the following methods to bypass a bug in the WordPress `get_post_meta()` function: * `WpssoComment::delete_meta()` * `WpssoComment::get_meta()` * `WpssoComment::update_meta()` * `WpssoPost::delete_meta()` * `WpssoPost::get_meta()` * `WpssoPost::update_meta()` * `WpssoTerm::delete_meta()` * `WpssoTerm::get_meta()` * `WpssoTerm::update_meta()` * `WpssoUser::delete_meta()` * `WpssoUser::get_meta()` * `WpssoUser::update_meta()` * **Requires At Least** * PHP v7.2.34. * WordPress v5.5. **Version 15.15.0 (2023/07/04)** * **New Features** * None. * **Improvements** * Updated the WooCommerce integration module to provide event offer details. * **Bugfixes** * Fixed sanitation of disabled product availability options. * **Developer Notes** * Added a 'woocommerce_ajax_save_product_variations' hook to refresh the Document SSO metabox and toolbar notices. * Updated filter arguments to insert a `$product` variable: * 'wpsso_product_variation_title' * 'wpsso_product_variation_description' * Renamed the `sucomBlockPostbox()` javascript function to `sucomEditorPostbox()`. * **Requires At Least** * PHP v7.2.34. * WordPress v5.5. **Version 15.14.1 (2023/06/19)** * **New Features** * None. * **Improvements** * Added a notice to suggest activating the WPSSO CMCF and MRP add-ons if WooCommerce is active. * **Bugfixes** * None. * **Developer Notes** * None. * **Requires At Least** * PHP v7.2.5. * WordPress v5.5. **Version 15.14.0 (2023/06/15)** * **New Features** * None. * **Improvements** * Added new options under the SSO > Advanced Settings > Document Types > Schema tab: * Type for Media Audio * Type for Media Image * Type for Media Video * Updated the default Schema type for the Post Type Media from "WebPage" to "Media.Object". * **Bugfixes** * None. * **Developer Notes** * Skip the reminder notice when debug mode is on and the 'WPSSO_DEV' constant is defined as true. * Added new array keys in the `$mod` array: * 'post_mime_group' * 'post_mime_subgroup' * Renamed array keys in the `$mod` array: * 'post_mime' to 'post_mime_type' * **Requires At Least** * PHP v7.2.5. * WordPress v5.5. **Version 15.13.2 (2023/06/08)** * **New Features** * None. * **Improvements** * Fixed sanitation of periods for hide/unhide class names. * **Bugfixes** * None. * **Developer Notes** * None. * **Requires At Least** * PHP v7.2.5. * WordPress v5.5. **Version 15.13.1 (2023/06/06)** * **New Features** * None. * **Improvements** * Added a definition for the new WPSSO Merchant Return Policy Manager add-on. * Updated some label string values for consistency with the WPSSO MRP and OPM add-ons. * **Bugfixes** * None. * **Developer Notes** * None. * **Requires At Least** * PHP v7.2.5. * WordPress v5.5. **Version 15.13.0 (2023/06/05)** * **New Features** * None. * **Improvements** * Added a new "Product Return Policy" option in the Document SSO metabox. * Added a new "Default Product Return Policy" option in the SSO > Advanced Settings page. * Added a 'hasMerchantReturnPolicy' property to Schema Product markup (WPSSO MRP add-on required). * Updated the SSO > Dashboard > Version Information layout. * Updated the WooCommerce shipping destination markup for "Everywhere" to include all countries. * **Bugfixes** * Fix to avoid triggering a bug in WooCommerce, where a variation image in the Media Library would inherit the featured image of the main product image. * **Developer Notes** * Added a `$event_names` argument to the `SucomForm->get_checklist()` method. * Added a new `SucomForm->get_css_class_on_change()` method. * Added a new `SucomUtil::sanitize_input_name()` method. * Added a new `WpssoSchemaSingle::add_merchant_return_policy_data()` method. * Renamed the `sucomSelectChangeUnhideRows()` function to `sucomChangeHideUnhideRows()` in js/com/jquery-metabox.js. * Refactored the `SucomUtil::sanitize_css_class()` method. * Refactored the `SucomUtil::sanitize_css_id()` method. * Refactored the `sucomChangeHideUnhideRows()` function in js/com/jquery-metabox.js. * Refactored the `WpssoMessagesTooltipMeta->get()` method. * **Requires At Least** * PHP v7.2.5. * WordPress v5.5. **Version 15.12.0 (2023/05/26)** * **New Features** * None. * **Improvements** * Update the notification toolbar after an async upload. * Changed the notice container height from 60vh to 40vh when notices are shown automatically. * **Bugfixes** * None. * **Developer Notes** * Added a new `WpssoScript->on_async_upload_update_toolbar_script()` method. * **Requires At Least** * PHP v7.2.5. * WordPress v5.5. **Version 15.11.1 (2023/05/21)** * **New Features** * None. * **Improvements** * None. * **Bugfixes** * Fixed missing trimming of spaces for image URL options. * **Developer Notes** * None. * **Requires At Least** * PHP v7.2.5. * WordPress v5.5. **Version 15.11.0 (2023/04/27)** * **New Features** * None. * **Improvements** * Added a cache refresh when a supported plugin is activated. * Changed the notice container height from 90vh to 60vh when notices are shown automatically. * **Bugfixes** * Fixed using "show once" text in a dismissed notice. * **Developer Notes** * Refactored the `WpssoAdmin->activated_plugin()` method. * **Requires At Least** * PHP v7.2.5. * WordPress v5.5. **Version 15.10.0 (2023/04/22)** * **New Features** * None. * **Improvements** * Added support for WP Meta SEO taxonomy term metadata. * Added a new SSO > Advanced Settings > Plugin Settings > Integration > Import WP Meta SEO Metadata option. * Changed timeout of notices display (2 secs for error and warning, 1.5 secs for information, and 1 secs update messages). * **Bugfixes** * Fixed an array to string conversion error in `WpssoAbstractWpMeta->get_column_wp_cache()`. * **Developer Notes** * None. * **Requires At Least** * PHP v7.2. * WordPress v5.5. **Version 15.9.0 (2023/04/20)** * **New Features** * None. * **Improvements** * Updated the SSO > Advanced Settings > Plugin Settings > Interface > WP List Table Columns options: * Added an SSO Lang column. * Removed the OG ID column. * Removed the Schema ID column. * Renamed the Schema Type column to SSO Schema. * Updated the Facebook supported locales list. * **Bugfixes** * None. * **Developer Notes** * Refactored the `WpssoAbstractWpMeta::get_column_meta_query_og_type()` method: * Added an $schema_lang argument. * Added the '_wpsso_head_info_schema_lang' key to the meta query. * Renamed and refectored the `WpssoSchema ->get_lang()` method to `WpssoSchema ->get_schema_lang()`. * **Requires At Least** * PHP v7.2. * WordPress v5.5. **Version 15.8.0 (2023/04/13)** * **New Features** * None. * **Improvements** * Added automatic display of notices with a timeout (3 secs for error and warning, 2 secs for information, and 1.5 secs update messages). * **Bugfixes** * Fixed the possible incorrect addition of term hierarchy in the breadcrumb title. * **Developer Notes** * Added a new `WPSSO_SCHEDULE_SINGLE_EVENT_TIME` constant (default is 8 seconds). * Added a new `WpssoSchema->refresh_schema_types()` method. * Added a new `WpssoAbstractWpMeta::get_column_meta_query_og_type()` method. * Added a new `WpssoAbstractWpMeta::get_column_meta_query_exclude()` method. * Updated `WpssoUtilCache->refresh()` to refresh the Schema types cache. * Updated `WpssoUtilCache->refresh()` to refresh posts, terms, and users without cache metadata first. * Refactored the `WpssoPost::get_public_ids()` method. * Refactored the `WpssoTerm::get_public_ids()` method. * Refactored the `WpssoUser::get_public_ids()` method. * Updated filter arguments: * 'wpsso_post_public_ids' ( array $public_ids, array $posts_args ) * 'wpsso_term_public_ids' ( array $public_ids, array $terms_args ) * 'wpsso_user_public_ids' ( array $public_ids, array $users_args ) * **Requires At Least** * PHP v7.2. * WordPress v5.5. **Version 15.7.0 (2023/04/08)** * **New Features** * None. * **Improvements** * Added support for new Schema types: * https://schema.org/Consortium * https://schema.org/FundingScheme * https://schema.org/LibrarySystem * https://schema.org/NewsMediaOrganization * https://schema.org/OnlineBusiness * https://schema.org/OnlineStore * https://schema.org/FundingAgency * https://schema.org/Project * https://schema.org/ResearchProject * https://schema.org/ResearchOrganization * https://schema.org/SearchRescueOrganization * https://schema.org/WorkersUnion * **Bugfixes** * None. * **Developer Notes** * None. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.6.0 (2023/04/02)** Note that the *default* Image Dimension Checks option has changed from disabled to enabled. This is an Advanced Setting option, so the existing option value will be updated automatically in the Free / Standard version. The existing option value in the Premium version will not change, only the default value for new activations has changed. * **New Features** * None. * **Improvements** * Added a new SSO > Advanced Settings > Integration > Prevent Thumbnail Conflicts option. * Changed the default value for the SSO > Advanced Settings > Integration > Image Dimension Checks option from disabled to enabled. * **Bugfixes** * None. * **Developer Notes** * Added a new 'wpsso_cropped_image_filepath' filter. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.5.1 (2023/03/26)** * **New Features** * None. * **Improvements** * None. * **Bugfixes** * Fixed an `array_pad()` error when `image_downsize()` returns false. * **Developer Notes** * None. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.5.0 (2023/03/10)** * **New Features** * None. * **Improvements** * Added a SSO > Advanced Settings > Document Types > Schema > Type by Post Type > Products Group option. * Removed support for the Easy Digital Downloads plugin. * Removed support for the WooCommerce Show Single Variations plugin. * **Bugfixes** * None. * **Developer Notes** * Added a new 'product:quantity' internal meta tag for the WPSSO GMF add-on. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.4.3 (2023/03/04)** * **New Features** * None. * **Improvements** * Added a notice to recommend enabling the "Inherit Featured Image" option for WooCommerce. * Updated the WPSSO JSON add-on deprecation notice. * **Bugfixes** * Fixed missing `WpssoUtil::save_all_times()` method for old deprecated add-ons. * **Developer Notes** * None. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.4.2 (2023/02/28)** * **New Features** * None. * **Improvements** * Re-added the WPSSO JSON add-on deprecation notice. * **Bugfixes** * Fixed missing add-on names in deprecation notices for plugins that no longer exist. * **Developer Notes** * None. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.4.1 (2023/02/23)** * **New Features** * None. * **Improvements** * Updated the notice text for rejected images. * **Bugfixes** * Fixed the version number when registering the 'sucom-admin-page' script. * **Developer Notes** * Updated "admin_bar" variable names to "toolbar" for uniformity. * Refactored transient cache handling in the `WpssoHead->get_head_array()` method. * Replaced the static version number for 'sucom-admin-page' in `WpssoScript->admin_register_page_scripts()`. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.4.0 (2023/02/20)** * **New Features** * None. * **Improvements** * Updated the default tabs layout to vertical. * Updated custom fields import to ignore non-existant custom fields instead of using an empty string. * Removed the SSO > Advanced Settings > Attributes and Metadata > Custom Fields options: * How-To Steps Custom Field * How-To Supplies Custom Field * How-To Tools Custom Field * Recipe Ingredients Custom Field * Recipe Instructions Custom Field * **Bugfixes** * None. * **Developer Notes** * Renamed the 'wpsso_status_std_features' filter to 'wpsso_features_status'. * Removed the 'wpsso_metabox_tabs_layout_{metabox_id}' filter. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.3.1 (2023/02/17)** * **New Features** * None. * **Improvements** * Added an informational notice when a background task is running. * **Bugfixes** * Fixed the missing notices stylesheet when in the WordPress block editor. * Fixed multi input and textarea fields to always show if they have a value (even if the previous field is empty). * **Developer Notes** * Added a new `WpssoUtil->action_show_admin_notices()` method. * Removed the 'is_required' CSS class from input fields. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.3.0 (2023/02/14)** * **New Features** * None. * **Improvements** * Changed the default "Product Variation Title" value in the Advanced Settings page to '%%var_title%% %%sep%% %%var_attrs%%'. * Deprecated the WPSSO Core cache clearing function and method. * **Bugfixes** * Fixed Google warning "Review has multiple aggregate ratings" for Schema ProductGroup variants. * **Developer Notes** * Added a new `SucomErrorException::http_error()` method for the WPSSO GMF and CMCF add-ons. * Added a new `WpssoUser->get_cache_id()` method. * Added a new `WpssoUser->doing_task()` method. * Added a new `WpssoUtil->is_task_running()` method. * Added a new `WpssoUtil->set_task_limit()` method. * Added a new `WpssoUtilCache->get_cache_id()` method. * Added a new `WpssoUtilCache->doing_task()` method. * Refactored `WpssoUser->schedule_add_person_role()` method. * Refactored `WpssoUser->add_person_role()` method. * Refactored `WpssoUser->schedule_remove_person_role()` method. * Refactored `WpssoUser->remove_person_role()` method. * Refactored `WpssoUtilCache->schedule_refresh()` method. * Refactored `WpssoUtilCache->refresh()` method. * Deprecated the `WpssoUser->stop_add_person_role()` method. * Deprecated the `WpssoUtilCache->schedule_clear()` method. * Deprecated the `WpssoUtilCache->clear()` method. * Deprecated the `WpssoUtilCache->stop_refresh()` method. * Deprecated the `wpsso_clear_cache()` function. * Renamed the `WpssoUtilCache->clear_other()` method to `WpssoUtilCache->clear_cache()`. * Renamed the 'WPSSO_META_CACHE_PRIORITY' constant to 'WPSSO_META_CLEAR_PRIORITY'. * Removed the 'WPSSO_CACHE_REFRESH_SLEEP_TIME' constant. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.2.0 (2023/02/11)** * **New Features** * None. * **Improvements** * Added new Place tab options in the SSO > Advanced Settings > Schema Defaults metabox: * Default Place Schema Type * Default Place Country * Default Place Timezone * Added an '@id' property value to the Schema AggregateRating markup. * Added support for the WooCommerce 'woocommerce_breadcrumb_main_term' filter to return the primary product category. * Removed the offers property from the Schema ProductGroup markup (not required as each variant has its own offers property). * **Bugfixes** * None. * **Developer Notes** * Added a new `WpssoAbstractWpMeta->md_cache_disable()` method. * Added a new `WpssoAbstractWpMeta->md_cache_enable()` method. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.1.1 (2023/02/08)** * **New Features** * None. * **Improvements** * Added support for Schema products with offers or Schema product groups with variants, depending on the Schema Type selected in the Document SSO metabox. * Added inheritance of some Schema ProductGroup properties ('name', 'description', 'aggregateRating', and 'review') for the product group variants. * **Bugfixes** * None. * **Developer Notes** * Added a Schema '@id' property to product reviews. * Added a new `WpssoIntegEcomWooCommerce->add_mt_ratings()` private method. * Added a new `WpssoIntegEcomWooCommerce->add_mt_reviews()` private method. * Updated the `WpssoIntegEcomWooCommerce->filter_og_seed()` method to return variants for the Schema ProductGroup type, and offers for the Schema Product type. * Updated the `WpssoJsonTypeProductGroup->filter_json_data_https_schema_org_productgroup()` method to provide inheritance of 'name', 'description', 'aggregateRating', 'review' properties for the product group variants. * Updated the `WpssoOpenGraphNS->filter_og_data_https_ogp_me_ns_product()` method to provide inheritance of 'og:description' for product offers and product group variants. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.0.1 (2023/02/04)** * **New Features** * None. * **Improvements** * None. * **Bugfixes** * Fixed re-setting PHP 'error_log' to an empty value when PHP 'open_basedir' is true. * **Developer Notes** * Refactored the `SucomUtil::safe_error_log()` method. * **Requires At Least** * PHP v7.2. * WordPress v5.4. **Version 15.0.0 (2023/02/03)** This version changes the Schema markup for WooCommerce variations. Instead of creating Schema Product markup with offers (one offer per variation), WPSSO Core now creates Schema ProductGroup markup with products (one product per variation) and one offer per product. See here for more info: https://surniaulula.com/2023/apps/wordpress/plugins/wpsso/whats-new-in-wpsso-core-v15/ * **New Features** * Added support for Schema ProductGroup markup for WooCommerce product variations. * **Improvements** * Added a new "Minimize Schema JSON-LD" option in the SSO > Advanced Settings page. * Removed filter to allow sorting of the WooCommerce variations array (no longer needed). * **Bugfixes** * Fixed potential missing price currency and value units meta tags for WooCommerce products with variations. * Fixed extra min/max energy efficiency meta tags when no energy efficiency value selected. * **Developer Notes** * Added a new 'wpsso_json_data_single_product_group_exclude_varies_by' filter. * Added a new 'wpsso_json_data_single_product_group_varies_by' filter. * Added a new 'wpsso_init_json_filter_{lib_dir}_{lib_id}' filter. * Added a new `WpssoSchemaSingle::add_product_group_data()` method. * Added a new `WpssoOpenGraph->get_product_retailer_item_image_urls()` method. * Added a new `WpssoOpenGraph->get_product_retailer_item_image()` method. * Added a new `WpssoOpenGraph->get_product_retailer_item_mod()` method. * Added a '$page_type_id' argument to the `WpssoSchemaSingle::add_offer_data()` method. * Added a '$page_type_id' argument to the `WpssoSchemaSingle::add_product_data()` method. * Added a '$page_type_id' argument to the `WpssoSchemaSingle::get_offer_data()` method. * Added a '$page_type_id' argument to the `WpssoSchemaSingle::get_product_data()` method. * Renamed the `WpssoSchema::add_author_coauthor_data()` method to `WpssoSchema::add_author_coauthors_data()`. * Renamed the `WpssoSchema::add_comment_list_data()` method to `WpssoSchema::add_comments_data()`. * Renamed the `WpssoSchema::add_howto_step_data()` method to `WpssoSchema::add_howto_steps_data()`. * Renamed the `WpssoSchema::add_offers_aggregate_data()` method to `WpssoSchema::add_offers_aggregate_data_mt()`. * Renamed the `WpssoSchema::add_offers_data()` method to `WpssoSchema::add_offers_data_mt()`. * Renamed the `WpssoSchema::add_variants_data()` method to `WpssoSchema::add_variants_data_mt()`. * Removed the `WpssoIntegEcomWooCommerce->maybe_sort_available_variations()` private method. * Removed the 'wpsso_request_url_query_attrs_cache_disable' filter. * Removed the WPSSO_JSON_PRETTY_PRINT constant. * **Requires At Least** * PHP v7.2. * WordPress v5.4. == Upgrade Notice == = 15.17.2 = (2023/07/22) Fixed array offset error for woocommerce availability check. = 15.17.1 = (2023/07/17) Fixed a possible incorrect robots "noindex" value in the cache array by adding a check for `is_embed()` in the caching index. = 15.17.0 = (2023/07/15) Added a new "Anchor ID" input field for How-To and Recipe steps. Fixed saving radio button options (ie. the How-To step or section option). = 15.16.0 = (2023/07/13) Added support for new Schema Organization and NewsMediaOrganization type properties. Added an error notice for a empty Schema ItemList itemListElement property. = 15.15.1 = (2023/07/08) IMPORTANT UPDATE to bypass a bug in the WordPress `get_post_meta()` function. = 15.15.0 = (2023/07/04) Updated the WooCommerce integration module to provide event offer details. = 15.14.1 = (2023/06/19) Added a notice to suggest activating the WPSSO CMCF and MRP add-ons if WooCommerce is active. = 15.14.0 = (2023/06/15) Added new options under the SSO > Advanced Settings > Document Types > Schema tab. = 15.13.2 = (2023/06/08) Fixed sanitation of periods for hide/unhide class names. = 15.13.1 = (2023/06/06) Added a definition for the new WPSSO Merchant Return Policy Manager add-on. = 15.13.0 = (2023/06/05) Added a new "Product Return Policy" option in the Document SSO metabox. Updated the WooCommerce shipping destination markup for "Everywhere" to include all countries. = 15.12.0 = (2023/05/26) Update the notification toolbar after an async upload. = 15.11.1 = (2023/05/21) Fixed missing trimming of spaces for image URL options. = 15.11.0 = (2023/04/27) Added a cache refresh when a supported plugin is activated. = 15.10.0 = (2023/04/22) Added support for WP Meta SEO taxonomy term metadata. Added a new Import WP Meta SEO Metadata option. = 15.9.0 = (2023/04/20) Updated the WP List Table Columns options. Updated the Facebook supported locales list. = 15.8.0 = (2023/04/13) Added automatic display of notices. Fixed the possible incorrect addition of term hierarchy in the breadcrumb title. = 15.7.0 = (2023/04/08) Added support for new Schema types. = 15.6.0 = (2023/04/02) Added a new SSO > Advanced Settings > Integration > Prevent Thumbnail Conflicts option and changed the Image Dimension Checks option from disabled to enabled. = 15.5.1 = (2023/03/26) Fixed an `array_pad()` error when `image_downsize()` returns false. = 15.5.0 = (2023/03/10) Added a Type by Post Type > Products Group option. Removed support for the Easy Digital Downloads and WooCommerce Show Single Variations plugins. = 15.4.3 = (2023/03/04) Added a notice to recommend enabling the "Inherit Featured Image" option for WooCommerce. = 15.4.2 = (2023/02/28) Re-added the WPSSO JSON add-on deprecation notice. = 15.4.1 = (2023/02/23) Updated the notice text for rejected images. Fixed the version number when registering the 'sucom-admin-page' script. = 15.4.0 = (2023/02/20) Updated the default tabs layout to vertical. Updated custom fields import to ignore non-existant custom fields instead of using an empty string. = 15.3.1 = (2023/02/17) Added an informational notice when a background task is running. Fixed the missing notices stylesheet when in the WordPress block editor. Fixed multi input and textarea fields to always show if they have a value. = 15.3.0 = (2023/02/14) Changed the default "Product Variation Title" value in the Advanced Settings. Fixed Google warning "Review has multiple aggregate ratings" for Schema ProductGroup variants. = 15.2.0 = (2023/02/11) Added new Place tab options in the SSO > Advanced Settings > Schema Defaults metabox. Added support for the WooCommerce 'woocommerce_breadcrumb_main_term' filter. = 15.1.1 = (2023/02/08) Added support for Schema products with offers or Schema product groups with variants. Added inheritance of some Schema ProductGroup properties for the product group variants. = 15.0.1 = (2023/02/04) Fixed re-setting PHP 'error_log' to an empty value. = 15.0.0 = (2023/02/03) Added support for Schema ProductGroup markup. Fixed potential missing price currency and value units meta tags. Fixed extra min/max energy efficiency meta tags.