{"id":306049,"date":"2026-05-26T17:47:46","date_gmt":"2026-05-26T17:47:46","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/product-feed-for-surecart\/"},"modified":"2026-05-26T17:47:20","modified_gmt":"2026-05-26T17:47:20","slug":"lindystream-product-feed-for-surecart","status":"publish","type":"plugin","link":"https:\/\/ka.wordpress.org\/plugins\/lindystream-product-feed-for-surecart\/","author":17741788,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.1","stable_tag":"trunk","tested":"7.0.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Lindystream: Product Feed for SureCart","header_author":"aurefau","header_description":"Generates fully compliant XML product feeds for Google Merchant Center from your SureCart store.","assets_banners_color":"","last_updated":"2026-05-26 17:47:20","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":0,"downloads":288,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.1":{"tag":"1.1.1","author":"aurefau","date":"2026-05-26 17:47:20"}},"upgrade_notice":{"1.1.1":"<p>Adds a small Pro upgrade banner to the settings page.<\/p>","1.1.0":"<p>Plugin file renamed to match wp.org slug. BOM fix resolves activation warning.<\/p>","1.0.8":"<p>Text domain fix and WordPress 7.0 compatibility confirmed.<\/p>","1.0.7":"<p>WordPress.org compliance update. No functional changes to the Google feed.<\/p>","1.0.6":"<p>Text domain and class naming updated for WordPress.org compliance. Admin JS moved to enqueued file.<\/p>","1.0.5":"<p>Freemius SDK removed; plugin is now fully free with unlimited products. Pro-only features (Microsoft, Pinterest, multilingual, IP allowlist, static file, unit pricing) have been moved to the paid version.<\/p>","1.0.4":"<p>Plugin renamed to &quot;FeedBridge for SureCart&quot; for WordPress.org compliance. Existing settings preserved.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3550970,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3550970,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3550970,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[66480,51229,5418,218637,286],"plugin_category":[45],"plugin_contributors":[264509],"plugin_business_model":[],"class_list":["post-306049","plugin","type-plugin","status-publish","hentry","plugin_tags-google-merchant-center","plugin_tags-google-shopping","plugin_tags-product-feed","plugin_tags-surecart","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-aurefau","plugin_committers-aurefau"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/lindystream-product-feed-for-surecart\/assets\/icon.svg?rev=3550970","icon":"https:\/\/ps.w.org\/lindystream-product-feed-for-surecart\/assets\/icon.svg?rev=3550970","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Lindystream: Product Feed for SureCart<\/strong> automatically builds and serves XML product feeds from your SureCart store for Google Merchant Center.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Fully compliant XML feeds for Google Merchant Center<\/li>\n<li>Unlimited products<\/li>\n<li>Variant expansion with <code>item_group_id<\/code><\/li>\n<li>All required attributes: GTIN, MPN, brand, condition, custom labels, and more<\/li>\n<li>Automatic refresh via WP-Cron (configurable interval)<\/li>\n<li>Per-product overrides via the classic WordPress editor meta box (title, description, GTIN, MPN, custom labels, exclusions)<\/li>\n<li>Optional security token for feed access control<\/li>\n<\/ul>\n\n<h4>Feed Compliance<\/h4>\n\n<p>This plugin generates feeds compliant with Google product data specifications:\n- RSS 2.0 with <code>xmlns:g<\/code> namespace\n- All required attributes: <code>id<\/code>, <code>title<\/code>, <code>description<\/code>, <code>link<\/code>, <code>image_link<\/code>, <code>availability<\/code>, <code>price<\/code>\n- All recommended attributes: <code>brand<\/code>, <code>condition<\/code>, <code>gtin<\/code>, <code>mpn<\/code>, <code>identifier_exists<\/code>, <code>google_product_category<\/code>\n- Variant attributes: <code>item_group_id<\/code>, <code>color<\/code>, <code>size<\/code>, <code>pattern<\/code>, <code>material<\/code>, <code>age_group<\/code>, <code>gender<\/code>\n- Up to 10 <code>additional_image_link<\/code> entries per product\n- Custom labels 0\u20134, shipping label, <code>is_bundle<\/code>, <code>adult<\/code><\/p>\n\n<h4>Developer Hooks<\/h4>\n\n<p><strong>Filters:<\/strong> <code>scgmf_feed_items<\/code>, <code>scgmf_feed_item<\/code>, <code>scgmf_item_extra_elements<\/code>, <code>scgmf_option_attribute_map<\/code>, <code>scgmf_meta_box_post_types<\/code><\/p>\n\n<p><strong>Actions:<\/strong> <code>scgmf_feed_generated<\/code> (passes <code>$xml<\/code>, <code>$lang_code<\/code>, and <code>$platform<\/code>)<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.2+<\/li>\n<li>PHP 7.4+<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/surecart\/\">SureCart<\/a> plugin installed and active<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the SureCart REST API to retrieve your store's product data whenever a feed is generated or settings are verified.<\/p>\n\n<p><strong>What is sent:<\/strong> Your SureCart store API key (as a Bearer token in the Authorization header) and standard query parameters (status, page, limit). No personal visitor data is transmitted.<\/p>\n\n<p><strong>When it is sent:<\/strong> During manual or scheduled feed generation, and when the built-in connection diagnostics are run.<\/p>\n\n<p><strong>Service provider:<\/strong> SureCart, Inc.\n* Service URL: https:\/\/api.surecart.com\/\n* Terms of Service: https:\/\/surecart.com\/terms\/\n* Privacy Policy: https:\/\/surecart.com\/privacy-policy\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate from <strong>Plugins \u2192 Installed Plugins<\/strong><\/li>\n<li>Go to <strong>Lindystream<\/strong> in the WordPress admin sidebar<\/li>\n<li>Click <strong>Regenerate the Feed<\/strong> on the <strong>General<\/strong> tab to build your first feed<\/li>\n<li>Register the feed URL in Google Merchant Center<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20support%20product%20variants%3F\"><h3>Does this support product variants?<\/h3><\/dt>\n<dd><p>Yes. Each variant becomes a separate feed item with <code>item_group_id<\/code> pointing to the parent product.<\/p><\/dd>\n<dt id=\"how%20do%20i%20restrict%20access%20to%20the%20feed%20url%3F\"><h3>How do I restrict access to the feed URL?<\/h3><\/dt>\n<dd><p>Set a security token on the <strong>General<\/strong> tab \u2014 the feed URL will then require <code>?token=YOUR_TOKEN<\/code>.<\/p><\/dd>\n<dt id=\"which%20platforms%20are%20supported%3F\"><h3>Which platforms are supported?<\/h3><\/dt>\n<dd><p>Google Merchant Center. The plugin generates a fully compliant Google Shopping XML feed.<\/p><\/dd>\n<dt id=\"how%20do%20i%20edit%20per-product%20feed%20fields%3F\"><h3>How do I edit per-product feed fields?<\/h3><\/dt>\n<dd><p>Open any SureCart product in the classic WordPress editor and use the <strong>Product Feed Settings<\/strong> meta box.<\/p><\/dd>\n<dt id=\"how%20often%20is%20the%20feed%20refreshed%3F\"><h3>How often is the feed refreshed?<\/h3><\/dt>\n<dd><p>Feeds are refreshed automatically via WP-Cron at a configurable interval (default: 6 hours). You can also trigger a manual regeneration from the <strong>General<\/strong> tab.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Added Pro upgrade banner to the settings page.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Plugin renamed to match WordPress.org assigned slug (<code>lindystream-product-feed-for-surecart<\/code>).<\/li>\n<li>Removed UTF-8 BOM from PHP files causing unexpected output on activation.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Fixed text domain to match plugin slug (<code>lindystream-product-feed-sc<\/code>).<\/li>\n<li>Updated tested up to WordPress 7.0.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>WordPress.org compliance pass: removed all Pro upsell references, removed Meta platform code, corrected text domain, moved inline JS to enqueued file, renamed main class for uniqueness.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Text domain updated to <code>lindystream-product-feed-for-surecart<\/code> to match plugin slug.<\/li>\n<li>Moved all admin JavaScript to enqueued <code>admin.js<\/code> file (removed inline scripts).<\/li>\n<li>Main plugin class renamed to <code>SCGMF_Plugin<\/code> for uniqueness.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Removed Freemius SDK and all licensing \/ product-limit logic to comply with WordPress.org Plugin Directory Guidelines (Guideline 5 \u2014 no trialware).<\/li>\n<li>Removed Pro-only features from the free plugin: Microsoft Advertising feed, Pinterest feed, WPML\/Polylang multilingual support, per-language feeds, IP allowlist, static file\/CDN export, and unit pricing fields.<\/li>\n<li>Plugin is now fully free and functional with unlimited products.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Renamed plugin from \"Product Feed for SureCart\" to \"FeedBridge for SureCart\" to comply with WordPress.org plugin-naming policy.<\/li>\n<li>Added External Services documentation in readme.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Renamed plugin from \"SureCart Google Merchant Feed\" to \"Product Feed for SureCart\" for WordPress.org compliance. Text domain renamed to <code>product-feed-sc<\/code>.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Follow-up Plugin Check pass: suppressed false-positive sniffs, switched sanitization to absint(), added NonceVerification annotation.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Hardening pass for WordPress.org Plugin Check: i18n alignment, escape-output coverage, WP_Filesystem replacement, nonce\/sanitization annotations.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Generates fully compliant XML product feeds for Google Merchant Center from your SureCart store.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/306049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=306049"}],"author":[{"embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aurefau"}],"wp:attachment":[{"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=306049"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=306049"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=306049"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=306049"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=306049"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=306049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}