{"id":305483,"date":"2026-05-03T09:42:39","date_gmt":"2026-05-03T09:42:39","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wearfits-shoes-tryon\/"},"modified":"2026-05-03T09:42:23","modified_gmt":"2026-05-03T09:42:23","slug":"wearfits-shoes-tryon","status":"publish","type":"plugin","link":"https:\/\/he.wordpress.org\/plugins\/wearfits-shoes-tryon\/","author":23489053,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.2.4","stable_tag":"0.2.4","tested":"6.9.4","requires":"6.2","requires_php":"8.0","requires_plugins":null,"header_name":"WEARFITS Shoes Tryon","header_author":"Wearfits","header_description":"Virtual Try-On button for shoe products, powered by WEARFITS AR.","assets_banners_color":"a8a39e","last_updated":"2026-05-03 09:42:23","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":55,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.4":{"tag":"0.2.4","author":"wearfits","date":"2026-05-03 09:42:23"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3522008,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3522008,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3522008,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3522008,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3522008,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3522008,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3522008,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3522008,"resolution":"4","location":"assets","locale":""}},"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[783,147394,56043,148223,286],"plugin_category":[45],"plugin_contributors":[261712],"plugin_business_model":[],"class_list":["post-305483","plugin","type-plugin","status-publish","hentry","plugin_tags-3d","plugin_tags-ar","plugin_tags-shoes","plugin_tags-virtual-try-on","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-wearfits","plugin_committers-wearfits"],"banners":{"banner":"https:\/\/ps.w.org\/wearfits-shoes-tryon\/assets\/banner-772x250.png?rev=3522008","banner_2x":"https:\/\/ps.w.org\/wearfits-shoes-tryon\/assets\/banner-1544x500.png?rev=3522008","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wearfits-shoes-tryon\/assets\/icon-128x128.png?rev=3522008","icon_2x":"https:\/\/ps.w.org\/wearfits-shoes-tryon\/assets\/icon-256x256.png?rev=3522008","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wearfits-shoes-tryon\/assets\/screenshot-1.png?rev=3522008","caption":""},{"src":"https:\/\/ps.w.org\/wearfits-shoes-tryon\/assets\/screenshot-2.png?rev=3522008","caption":""},{"src":"https:\/\/ps.w.org\/wearfits-shoes-tryon\/assets\/screenshot-3.png?rev=3522008","caption":""},{"src":"https:\/\/ps.w.org\/wearfits-shoes-tryon\/assets\/screenshot-4.png?rev=3522008","caption":""}],"raw_content":"<!--section=description-->\n<p>WEARFITS Shoe Try-On lets your WooCommerce shop offer augmented-reality try-on for shoes, straight from the single product page.<\/p>\n\n<ul>\n<li>Adds a <strong>Virtual Try-On<\/strong> button to each eligible shoe product.<\/li>\n<li>On desktop, clicking the button opens a modal with a QR code \u2014 customers scan it with their phone to enter AR.<\/li>\n<li>On mobile, the button opens the WEARFITS AR viewer directly.<\/li>\n<li>In <strong>Product Data \u2192 WEARFITS Try-On<\/strong>, set a try-on URL manually or click <strong>Digitize with WEARFITS<\/strong> to generate one automatically from the product's gallery images.<\/li>\n<li>Automatic digitization uses the WEARFITS API (api.wearfits.com). Jobs run asynchronously; the viewer URL lands on the product when processing finishes.<\/li>\n<\/ul>\n\n<p>WEARFITS is a virtual try-on platform for clothing and footwear. For shoes, it can automatically turn your product photos into 3D models and AR try-on links \u2014 no manual modeling required. Learn more at <a href=\"https:\/\/wearfits.com\">wearfits.com<\/a>, or sign up for an API key at <a href=\"https:\/\/dash.wearfits.com\">dash.wearfits.com<\/a>.<\/p>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WooCommerce 8.0 or later.<\/li>\n<li>WordPress 6.2 or later.<\/li>\n<li>PHP 8.0 or later.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the WEARFITS API to turn your product photos into 3D models and AR try-on links. WEARFITS is a third-party service operated by Wearfits sp. z o.o. \u2014 you need a WEARFITS account (free at <a href=\"https:\/\/dash.wearfits.com\">dash.wearfits.com<\/a>) to obtain the API key used by this plugin.<\/p>\n\n<p><strong>When the plugin sends data, what it sends, and why<\/strong><\/p>\n\n<ul>\n<li>On every click of the <strong>Digitize with WEARFITS<\/strong> button in the product editor, the plugin sends a POST request to <code>https:\/\/api.wearfits.com\/api\/v1\/shoe-3d<\/code>. The request body contains the public URLs of that product's gallery images so that WEARFITS can generate a 3D model and return a try-on viewer URL.<\/li>\n<li>The plugin then periodically polls <code>https:\/\/api.wearfits.com\/api\/v1\/jobs\/{jobId}<\/code> (GET) to check the job's progress until it completes.<\/li>\n<li>No customer data (no names, emails, orders, IP addresses) is ever sent.<\/li>\n<li>The plugin does <strong>not<\/strong> make any outbound request without the merchant explicitly clicking Digitize.<\/li>\n<\/ul>\n\n<p><strong>Terms and privacy<\/strong><\/p>\n\n<ul>\n<li>WEARFITS Terms of Service: <a href=\"https:\/\/wearfits.com\/terms\">https:\/\/wearfits.com\/terms<\/a><\/li>\n<li>WEARFITS Privacy Policy: <a href=\"https:\/\/wearfits.com\/privacy\">https:\/\/wearfits.com\/privacy<\/a><\/li>\n<\/ul>\n\n<p>By using the automatic digitization feature you agree to let WEARFITS process your product images for the purpose of generating 3D models and viewer URLs. You can stop using the feature at any time by not clicking Digitize \u2014 the plugin will not contact WEARFITS.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>The plugin stores the following in your WordPress database:<\/p>\n\n<ul>\n<li><code>wearfits_shoes_tryon_api_key<\/code> option \u2014 your WEARFITS API key (required for the Digitize feature; can be provided via the <code>WEARFITS_SHOES_TRYON_API_KEY<\/code> PHP constant instead to keep it out of the database).<\/li>\n<li>Per-product meta <code>_wearfits_tryon_url<\/code>, <code>_wearfits_tryon_enabled<\/code>, <code>_wearfits_job_*<\/code> \u2014 the viewer URL and digitization job state for each product.<\/li>\n<\/ul>\n\n<p>The plugin does not set cookies and does not collect analytics.<\/p>\n\n<h3>Developer hooks<\/h3>\n\n<ul>\n<li><code>wearfits_shoes_tryon_is_eligible_product<\/code> (filter, bool) \u2014 override the default category-based eligibility check.<\/li>\n<li><code>wearfits_shoes_tryon_image_urls<\/code> (filter, string[]) \u2014 override the image URL list sent to the WEARFITS API (e.g. for shops on a non-public media CDN).<\/li>\n<li><code>wearfits_shoes_tryon_should_render<\/code> (filter, bool) \u2014 control whether the Virtual Try-On button renders on a given product.<\/li>\n<li><code>wearfits_shoes_tryon_button_html<\/code> (filter, string) \u2014 replace the button markup. Output is sanitized with <code>wp_kses<\/code>.<\/li>\n<\/ul>\n\n<h3>Source code<\/h3>\n\n<p>The plugin ships with its full source, not just compiled assets. Inside the plugin folder:<\/p>\n\n<ul>\n<li><code>src\/tryon-modal\/<\/code> \u2014 JavaScript + SCSS source for the storefront QR modal.<\/li>\n<li><code>build\/<\/code> \u2014 compiled output generated by <code>npm run build<\/code> (Webpack via @wordpress\/scripts).<\/li>\n<li><code>package.json<\/code> + <code>webpack.config.js<\/code> \u2014 build tools.<\/li>\n<li><code>bin\/build-release-zip.sh<\/code> \u2014 produces a shippable zip.<\/li>\n<\/ul>\n\n<p>To rebuild the assets from source:<\/p>\n\n<pre><code>`\n<\/code><\/pre>\n\n<p>cd wp-content\/plugins\/wearfits-shoes-tryon\nnpm install\nnpm run build\n    `<\/p>\n\n<p>Node 18+ is recommended.<\/p>\n\n<h3>Support<\/h3>\n\n<p>Need help? Contact the WEARFITS team at <a href=\"https:\/\/wearfits.com\/contact\">wearfits.com\/contact<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin zip via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>, then <strong>Install Now<\/strong> and <strong>Activate<\/strong>.<\/li>\n<li>Open <strong>WooCommerce \u2192 WEARFITS Try-On<\/strong> and paste your API key (available at <a href=\"https:\/\/dash.wearfits.com\">dash.wearfits.com<\/a>). If you prefer, define <code>WEARFITS_SHOES_TRYON_API_KEY<\/code> in <code>wp-config.php<\/code> instead.<\/li>\n<li>Edit a product in the <em>Shoes<\/em> (or similar footwear) category, open the <strong>Product Data \u2192 WEARFITS Try-On<\/strong> tab, and either paste a try-on URL manually or click <strong>Digitize with WEARFITS<\/strong> to generate one from the product's images.<\/li>\n<li>The button appears on the product page as soon as a valid try-on URL is stored.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20send%20my%20product%20images%20anywhere%3F\"><h3>Does the plugin send my product images anywhere?<\/h3><\/dt>\n<dd><p>Only when you click <strong>Digitize with WEARFITS<\/strong>. In that case, the plugin submits the product's gallery image URLs to <code>api.wearfits.com\/api\/v1\/shoe-3d<\/code>, which generates a 3D model and returns a try-on viewer URL. No data is sent during normal browsing or product editing.<\/p><\/dd>\n<dt id=\"which%20products%20are%20eligible%20for%20automatic%20digitization%3F\"><h3>Which products are eligible for automatic digitization?<\/h3><\/dt>\n<dd><p>By default, any product in a category whose slug or name contains <em>shoe<\/em>, <em>footwear<\/em>, <em>buty<\/em>, or <em>obuwie<\/em>. Override the rule via the <code>wearfits_shoes_tryon_is_eligible_product<\/code> filter if your shop uses different taxonomy.<\/p><\/dd>\n<dt id=\"can%20i%20use%20the%20plugin%20without%20the%20wearfits%20api%3F\"><h3>Can I use the plugin without the WEARFITS API?<\/h3><\/dt>\n<dd><p>Yes. Leave the API key empty and paste a try-on URL manually per product (Stage 1 flow). The storefront button behaves the same either way.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20digitization%20job%20fails%3F\"><h3>What happens if a digitization job fails?<\/h3><\/dt>\n<dd><p>The plugin shows the failure reason reported by WEARFITS directly on the product edit screen and leaves any existing manual try-on URL untouched. You can click <strong>Retry digitization<\/strong> to submit another job.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.4<\/h4>\n\n<ul>\n<li>Bumped <code>Tested up to: 6.9<\/code> to <code>Tested up to: 6.9.4<\/code> and <code>WC tested up to: 9.4<\/code> to <code>10.7<\/code> so the Woo Marketplace Validation Test accepts the headers. No functional changes.<\/li>\n<\/ul>\n\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>Plugin Name header changed to \"WEARFITS Shoes Tryon\" so the WordPress.org-derived slug matches the plugin folder, text domain, and meta-key prefix (<code>wearfits-shoes-tryon<\/code>). Visible admin menu, button labels, and frontend UI copy still read \"WEARFITS Try-On\"; this change affects only the plugins-list title and the WP.org permalink.<\/li>\n<li>Release zip now includes the full source tree (<code>src\/<\/code>, <code>package.json<\/code>, <code>webpack.config.js<\/code>, <code>bin\/<\/code>) alongside compiled assets, satisfying the WP.org \"human-readable code\" guideline without requiring a public development repository.<\/li>\n<li>Added a \"Source code\" section to the readme listing where source lives and how to rebuild.<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Plugin directory readme: tag list trimmed to five (WordPress.org cap), added an External services section documenting every outbound request to api.wearfits.com with links to the WEARFITS Terms of Service and Privacy Policy, and an expanded Privacy section listing the exact option and post-meta keys the plugin stores.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Admin product tab now updates job status live (Queued \u2192 Processing \u2192 Completed) without a page reload; polls an internal AJAX endpoint every 3 s.<\/li>\n<li>Removed the post-completion page reload that could race with classic\/TinyMCE editor init and trigger \"Can't create duplicate variable: 'LocaleTimestampParser'\" errors.<\/li>\n<li>First Action Scheduler poll after a digitize submission is scheduled 5 s out (was 30 s) so the admin UI reflects progress within one poll cycle.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Added settings page for the WEARFITS API key (WooCommerce \u2192 WEARFITS Try-On).<\/li>\n<li>Added <strong>Digitize with WEARFITS<\/strong> button in the product editor; Action Scheduler polls job status with exponential backoff and writes the returned viewer URL into product meta.<\/li>\n<li>Failure reasons reported by WEARFITS (e.g. upload errors) now surface directly on the product edit screen.<\/li>\n<li>Server-side guards: atomic per-product submission lock, shoe\/footwear category eligibility check, strict public-URL validation for both submitted images and returned viewer URLs.<\/li>\n<li>Desktop QR modal: focus trap, Esc to close, improved mobile detection (iPadOS correctly treated as mobile).<\/li>\n<li>Admin styling moved to versioned CSS\/JS assets.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial MVP release. Manual per-product try-on URL + Virtual Try-On button with desktop QR modal and mobile deep link.<\/li>\n<\/ul>","raw_excerpt":"Virtual Try-On button for WooCommerce shoe products, powered by WEARFITS AR.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/305483","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=305483"}],"author":[{"embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wearfits"}],"wp:attachment":[{"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=305483"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=305483"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=305483"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=305483"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=305483"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=305483"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}