{"id":346702,"date":"2026-08-16T07:50:19","date_gmt":"2026-08-16T07:50:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/trydemowp\/"},"modified":"2026-08-20T08:27:18","modified_gmt":"2026-08-20T08:27:18","slug":"trydemo-sandbox-publisher","status":"publish","type":"plugin","link":"https:\/\/eu.wordpress.org\/plugins\/trydemo-sandbox-publisher\/","author":23539392,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"TryDemoWP","header_author":"TryDemoWP","header_description":"Publish this site as a live, self-destructing demo on TryDemoWP \u2014 straight from your dashboard, with no manual export or upload.","assets_banners_color":"030424","last_updated":"2026-08-20 08:27:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/trydemowp.com\/docs\/wordpress-plugin","header_author_uri":"https:\/\/trydemowp.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":92,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"trydemowp","date":"2026-08-16 07:49:47"},"1.1.0":{"tag":"1.1.0","author":"trydemowp","date":"2026-08-20 08:27:18"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3649391,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3649391,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3649391,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3649391,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3656220,"resolution":"1","location":"assets","locale":"","width":1454,"height":380},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3656220,"resolution":"2","location":"assets","locale":"","width":1454,"height":1022},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3656220,"resolution":"3","location":"assets","locale":"","width":1454,"height":995}},"screenshots":{"1":"Connect this site with a token from your TryDemoWP dashboard.","2":"Taking a snapshot, showing real server-side progress.","3":"The snapshot library, with the live one marked and your demo URL."}},"plugin_section":[],"plugin_tags":[3258,4155,3259,7917,19979],"plugin_category":[59],"plugin_contributors":[275940],"plugin_business_model":[],"class_list":["post-346702","plugin","type-plugin","status-publish","hentry","plugin_tags-demo","plugin_tags-migration","plugin_tags-sandbox","plugin_tags-snapshot","plugin_tags-staging","plugin_category-utilities-and-tools","plugin_contributors-trydemowp","plugin_committers-trydemowp"],"banners":{"banner":"https:\/\/ps.w.org\/trydemo-sandbox-publisher\/assets\/banner-772x250.png?rev=3649391","banner_2x":"https:\/\/ps.w.org\/trydemo-sandbox-publisher\/assets\/banner-1544x500.png?rev=3649391","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/trydemo-sandbox-publisher\/assets\/icon-128x128.png?rev=3649391","icon_2x":"https:\/\/ps.w.org\/trydemo-sandbox-publisher\/assets\/icon-256x256.png?rev=3649391","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/trydemo-sandbox-publisher\/assets\/screenshot-1.png?rev=3656220","caption":"Connect this site with a token from your TryDemoWP dashboard."},{"src":"https:\/\/ps.w.org\/trydemo-sandbox-publisher\/assets\/screenshot-2.png?rev=3656220","caption":"Taking a snapshot, showing real server-side progress."},{"src":"https:\/\/ps.w.org\/trydemo-sandbox-publisher\/assets\/screenshot-3.png?rev=3656220","caption":"The snapshot library, with the live one marked and your demo URL."}],"raw_content":"<!--section=description-->\n<p>If you sell WordPress themes or plugins, buyers want to try before they buy. TryDemoWP gives every visitor their own disposable sandbox copy of your site that destroys itself when the timer runs out.<\/p>\n\n<p>This plugin removes the manual step. Instead of exporting a backup, downloading it, and uploading it to TryDemoWP, you connect this site once and press a button.<\/p>\n\n<p><strong>What it does<\/strong><\/p>\n\n<ul>\n<li>Takes a snapshot of this site \u2014 <code>wp-content<\/code> plus a database dump \u2014 and keeps it on your own server.<\/li>\n<li>Holds several snapshots, so you can go back to how the demo looked last week without re-exporting anything.<\/li>\n<li>Publishes any snapshot as your live demo, resumably, so a dropped connection continues where it left off.<\/li>\n<li>Lets you download a snapshot and upload it in the TryDemoWP dashboard instead, which is the way through if your host blocks the direct push.<\/li>\n<li>Reports back when your demo is live.<\/li>\n<\/ul>\n\n<p><strong>About the snapshot file<\/strong><\/p>\n\n<p>A snapshot is encrypted with a key held by TryDemoWP, so a downloaded <code>.tdw<\/code> file can only be opened by TryDemoWP \u2014 not by you, and not by any other tool. Anyone who has the file can build a demo from it in their own TryDemoWP account, so treat it like a copy of your site.<\/p>\n\n<p><strong>What it deliberately leaves out<\/strong><\/p>\n\n<p>This is an export built for demos, not a backup. To keep the archive small enough to upload, it skips:<\/p>\n\n<ul>\n<li>Cache directories and other backup plugins' folders (which are often gigabytes of your own backups).<\/li>\n<li>Log files, archives, and build junk such as <code>node_modules<\/code> and <code>.git<\/code>.<\/li>\n<li>Post revisions, transients, and spam or trashed comments.<\/li>\n<li>Runtime scratch tables such as Action Scheduler and WooCommerce sessions \u2014 the table structure is kept so plugins still work, only the rows are dropped.<\/li>\n<\/ul>\n\n<p>Your <code>wp-config.php<\/code> is never included, so database credentials and security salts never leave your server. Your live site is only ever read, never modified.<\/p>\n\n<p><strong>External service<\/strong><\/p>\n\n<p>This plugin sends data to TryDemoWP, a third-party service, and requires an account there.<\/p>\n\n<ul>\n<li>Service: TryDemoWP \u2014 https:\/\/trydemowp.com<\/li>\n<li>Data sent: your <code>wp-content<\/code> directory and a filtered database dump, your site's home URL, and the plugin version, all authenticated with a connect token you generate in your TryDemoWP dashboard.<\/li>\n<li>Terms of service: https:\/\/trydemowp.com\/terms<\/li>\n<li>Privacy policy: https:\/\/trydemowp.com\/privacy<\/li>\n<\/ul>\n\n<p>Nothing is transmitted until you connect a token and choose to make a snapshot live. Taking a snapshot never leaves your server.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>In your TryDemoWP dashboard, open the site you want to update and choose <strong>Generate connect token<\/strong> on the Ingestion tab.<\/li>\n<li>In WordPress, go to <strong>Tools \u2192 TryDemoWP<\/strong> and paste the token.<\/li>\n<li>Press <strong>Take snapshot<\/strong>, then <strong>Make live<\/strong> on the snapshot you want your demo to show.<\/li>\n<\/ol>\n\n<p>Both steps carry on in the background if you close the tab, and reopening the screen shows you where they got to. On sites where WP-Cron is disabled there is nothing to continue them, so the screen tells you to keep the tab open instead.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20modify%20my%20live%20site%3F\"><h3>Does this modify my live site?<\/h3><\/dt>\n<dd><p>No. The plugin only reads your files and database. The only things it writes are your snapshots and a temporary export file, both under <code>wp-content\/uploads\/trydemo-sandbox-publisher\/<\/code>. The temporary file is deleted as soon as the snapshot is sealed.<\/p><\/dd>\n<dt id=\"how%20much%20disk%20space%20do%20snapshots%20use%3F\"><h3>How much disk space do snapshots use?<\/h3><\/dt>\n<dd><p>As much as five copies of your site, by default. You choose how many to keep, between one and ten \u2014 when a new snapshot finishes, the oldest beyond that number is deleted. The snapshot your demo is currently showing is never deleted automatically. The plugin also refuses to start a snapshot when your host does not have room for it.<\/p><\/dd>\n<dt id=\"can%20i%20open%20a%20downloaded%20snapshot%20myself%3F\"><h3>Can I open a downloaded snapshot myself?<\/h3><\/dt>\n<dd><p>No. Snapshots are encrypted with a key that stays on TryDemoWP, so the file only works there. If you want an archive you can open, use a general-purpose backup plugin \u2014 this one is for demos.<\/p><\/dd>\n<dt id=\"my%20snapshot%20is%20too%20large.%20what%20now%3F\"><h3>My snapshot is too large. What now?<\/h3><\/dt>\n<dd><p>The plugin estimates the size before packaging anything and stops if it exceeds your plan's limit, showing you which directories are responsible. You can retry without the media library, or upgrade your TryDemoWP plan.<\/p><\/dd>\n<dt id=\"my%20host%20has%20a%20low%20php%20time%20limit.%20will%20this%20work%3F\"><h3>My host has a low PHP time limit. Will this work?<\/h3><\/dt>\n<dd><p>Yes. The export runs in roughly 20-second slices and saves its position after each one, so it never depends on a single long-running request.<\/p><\/dd>\n<dt id=\"do%20i%20have%20to%20keep%20the%20browser%20tab%20open%3F\"><h3>Do I have to keep the browser tab open?<\/h3><\/dt>\n<dd><p>No, as long as WP-Cron is working on your site: the push continues in the background and picks up from the same place when you come back. If WP-Cron is disabled the push screen says so and asks you to leave the tab open.<\/p><\/dd>\n<dt id=\"what%20does%20the%20plugin%20store%20on%20my%20site%2C%20and%20what%20happens%20if%20i%20delete%20it%3F\"><h3>What does the plugin store on my site, and what happens if I delete it?<\/h3><\/dt>\n<dd><p>Your connect token, the name of the TryDemoWP site it is bound to, your snapshots, and the progress of any job in flight. Deleting the plugin removes all of it, including every snapshot file \u2014 so download anything you want to keep first.<\/p><\/dd>\n<dt id=\"can%20i%20push%20to%20more%20than%20one%20trydemowp%20site%3F\"><h3>Can I push to more than one TryDemoWP site?<\/h3><\/dt>\n<dd><p>A connect token is bound to a single site, so this plugin pushes to that one site. Generate a token from a different site to point it elsewhere.<\/p><\/dd>\n<dt id=\"what%20if%20my%20connection%20drops%20during%20the%20upload%3F\"><h3>What if my connection drops during the upload?<\/h3><\/dt>\n<dd><p>The upload is resumable. The plugin asks TryDemoWP where it left off and continues from that byte.<\/p><\/dd>\n<dt id=\"ziparchive%20or%20openssl%20is%20missing%20on%20my%20server\"><h3>ZipArchive or OpenSSL is missing on my server<\/h3><\/dt>\n<dd><p>The plugin needs PHP's ZipArchive extension to build a snapshot and OpenSSL to encrypt it. Most hosts have both; ask yours to enable them if the plugin reports one missing.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Snapshots: take a copy of your site whenever you like and keep several on your own server.<\/li>\n<li>Publish any snapshot as your live demo, so rolling back no longer means re-exporting.<\/li>\n<li>Download a snapshot as an encrypted <code>.tdw<\/code> file and upload it in the TryDemoWP dashboard.<\/li>\n<li>Choose how many snapshots to keep, from one to ten. The live one is never pruned.<\/li>\n<li>Snapshots now need PHP's OpenSSL extension alongside ZipArchive.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Take snapshots of your WordPress site and publish any one of them as a live, self-destructing demo on TryDemoWP.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/346702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=346702"}],"author":[{"embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/trydemowp"}],"wp:attachment":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=346702"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=346702"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=346702"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=346702"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=346702"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=346702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}