{"id":387060,"date":"2026-10-24T13:53:22","date_gmt":"2026-10-24T13:53:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tmk-product-sync-for-woocommerce\/"},"modified":"2026-10-24T13:52:50","modified_gmt":"2026-10-24T13:52:50","slug":"tmk-product-sync-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/tmk-product-sync-for-woocommerce\/","author":23132333,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.4","requires":"6.2","requires_php":"8.0","requires_plugins":null,"header_name":"TMK Product Sync for WooCommerce","header_author":"","header_description":"WooCommerce product sync from staging to live. Review queued product and variation changes, then sync them.","assets_banners_color":"c3cdee","last_updated":"2026-10-24 13:52:50","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":112,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"tusharmalvi","date":"2026-10-24 13:52:50","revision":3763339}},"upgrade_notice":{"1.0.1":"<p>Update on both staging and live before the next sync.<\/p>","1.0.0":"<p>Install this version on both the staging site and the live site before syncing.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3763372,"resolution":"128x128","location":"assets","locale":"","width":2000,"height":2000},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3763372,"resolution":"256x256","location":"assets","locale":"","width":2000,"height":2000}},"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3763339,"resolution":"772x250","location":"assets","locale":"","width":2047,"height":663}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[288258,42241,288257,6602,286],"plugin_category":[45],"plugin_contributors":[288259],"plugin_business_model":[],"class_list":["post-387060","plugin","type-plugin","status-publish","hentry","plugin_tags-migrate-products","plugin_tags-product-sync","plugin_tags-staging-to-live","plugin_tags-variations","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-tusharmalvi","plugin_committers-tusharmalvi"],"banners":{"banner":"https:\/\/ps.w.org\/tmk-product-sync-for-woocommerce\/assets\/banner-772x250.jpg?rev=3763339","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tmk-product-sync-for-woocommerce\/assets\/icon-128x128.png?rev=3763372","icon_2x":"https:\/\/ps.w.org\/tmk-product-sync-for-woocommerce\/assets\/icon-256x256.png?rev=3763372","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>TMK Product Sync for WooCommerce is a WooCommerce product sync plugin for moving products from a staging site to a live site. Use it when you need staging to live product updates, variation sync, and a review queue before anything is published.<\/p>\n\n<p>It copies products through the WordPress REST API. A change on staging waits in the sync queue until you sync it. The live database is never replaced, and a product deleted on staging is not deleted on live.<\/p>\n\n<p>The same plugin is installed on both sites. Staging sends. Live receives and checks a shared secret.<\/p>\n\n<p>This is not a CSV product importer. It syncs an existing WooCommerce catalog between two sites.<\/p>\n\n<h4>Matching<\/h4>\n\n<p>Live products are not matched by WordPress ID or by product name. The plugin uses, in order:<\/p>\n\n<ol>\n<li>A mapping saved after an earlier sync<\/li>\n<li>The product SKU<\/li>\n<li>Variation SKUs, when a variable product has no SKU<\/li>\n<li>The product slug<\/li>\n<li>A new product, when nothing matches<\/li>\n<\/ol>\n\n<p>The live product URL is left unchanged on an update.<\/p>\n\n<h4>What is copied<\/h4>\n\n<p>Name, descriptions, prices, tax, dimensions, shipping class, categories, tags, brands, attributes, and images. Missing categories, tags, brands, and attribute terms are created on live. Images are downloaded into the live media library.<\/p>\n\n<p>Stock is not copied unless Sync Stock is enabled on staging. A blank staging value does not erase an existing live value.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not connect to a service run by the plugin author. A sync sends product data from the staging site to the Live Site URL saved in the plugin settings. The request includes the API secret in a header. Orders, customers, passwords, and payment data are not sent.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin on the staging site and on the live site. WooCommerce must be active on both.<\/li>\n<li>On the live site, open Product Sync \u2192 Settings, choose Live, and copy the API Secret.<\/li>\n<li>On the staging site, choose Staging, paste the live site URL and the same API Secret, and save.<\/li>\n<li>Edit a product on staging, open Product Sync \u2192 Sync Queue, and click Sync to Live.<\/li>\n<\/ol>\n\n<p>For a local site that uses http:\/\/ instead of https:\/\/, turn on Development Mode on staging. Turn it off before you connect to a public site.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20the%20live%20database%3F\"><h3>Does this replace the live database?<\/h3><\/dt>\n<dd><p>No. Each accepted product is created or updated through WooCommerce. Orders, customers, and payments are not copied.<\/p><\/dd>\n<dt id=\"will%20deleting%20a%20staging%20variation%20delete%20it%20on%20live%3F\"><h3>Will deleting a staging variation delete it on live?<\/h3><\/dt>\n<dd><p>No. The live variation stays.<\/p><\/dd>\n<dt id=\"where%20do%20allow%20new%20products%20and%20allow%20updates%20apply%3F\"><h3>Where do Allow New Products and Allow Updates apply?<\/h3><\/dt>\n<dd><p>They are read on the staging site when a sync is sent. Turn Allow New Products off to stop new live products. Turn Allow Updates off to stop changes to products that already exist on live.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Enqueue admin CSS and JS with WordPress APIs.<\/li>\n<li>Match the text domain to the plugin slug.<\/li>\n<li>Format database table creation for dbDelta.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release for the WordPress plugin directory.<\/li>\n<li>Sync History and Mappings use pages of 20 rows.<\/li>\n<\/ul>","raw_excerpt":"WooCommerce product sync from staging to live. Queue, review, and sync simple products, variable products, and variations.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/387060","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=387060"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tusharmalvi"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=387060"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=387060"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=387060"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=387060"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=387060"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=387060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}