{"id":223507,"date":"2025-02-25T06:10:27","date_gmt":"2025-02-25T06:10:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/shop-closed\/"},"modified":"2025-04-24T22:03:26","modified_gmt":"2025-04-24T22:03:26","slug":"shop-closed","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/shop-closed\/","author":13808560,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.4","stable_tag":"1.4","tested":"6.8.5","requires":"5.0","requires_php":"","requires_plugins":null,"header_name":"Close Up Shop","header_author":"Eliyahna","header_description":"Redirects visitors from WooCommerce pages to a \"Shop Closed\" page when the shop is closed. Allows the admin to define multiple closure periods and \u201cbakes in\u201d the latest reopening time into the Shop Closed page upon settings save.","assets_banners_color":"433736","last_updated":"2025-04-24 22:03:26","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/eliyahna.com\/donate\/","header_plugin_uri":"","header_author_uri":"https:\/\/eliyahna.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":431,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2":{"tag":"1.2","author":"Eliyahna","date":"2025-02-25 06:14:35"},"1.4":{"tag":"1.4","author":"Eliyahna","date":"2025-04-24 22:03:26"}},"upgrade_notice":{"1.4":"<p>This update replaces the static placeholder with a live shortcode, fixes the Remove row bug in the admin screen, and improves caching behaviour. After updating, visit Settings \u2192 Close Up Shop and click Save to refresh your message.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3246175,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3246174,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2","1.4"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[18150,2711,238751,1242,286],"plugin_category":[45],"plugin_contributors":[238752],"plugin_business_model":[],"class_list":["post-223507","plugin","type-plugin","status-publish","hentry","plugin_tags-closed","plugin_tags-page-redirect","plugin_tags-reopening","plugin_tags-shop","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-eliyahna","plugin_committers-eliyahna"],"banners":{"banner":"https:\/\/ps.w.org\/shop-closed\/assets\/banner-772x250.jpg?rev=3246174","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/shop-closed\/assets\/icon-256x256.jpg?rev=3246175","icon_2x":"https:\/\/ps.w.org\/shop-closed\/assets\/icon-256x256.jpg?rev=3246175","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Close Up Shop lets WooCommerce store\u2011owners define any number of closure periods (for holidays, inventory counts, vacations, etc.). While the shop is closed, all store\u2011related pages (shop, product, cart, checkout, account) redirect to a dedicated Shop Closed page that displays your custom message and the exact date &amp; time the shop will reopen.<\/p>\n\n<p>Version 1.4 introduces a real\u2011time [closeupshop_reopen_time] shortcode that is evaluated whenever the page is viewed, so the reopening information is never stale, even if you change the schedule later.<\/p>\n\n<p>Key Features<\/p>\n\n<p>Creates a Shop Closed page automatically on activation.<\/p>\n\n<p>Intuitive admin screen under Settings \u2192 Close Up Shop to add, remove, and reorder unlimited closure periods.<\/p>\n\n<p>One\u2011click Add \/ Remove rows (JavaScript enhanced, no page refresh).<\/p>\n\n<p>Live [closeupshop_reopen_time] shortcode \u2013 drop it anywhere to show the next reopening date &amp; time using your WordPress date\/time formats.<\/p>\n\n<p>Automatic redirection from WooCommerce pages while the shop is closed.<\/p>\n\n<p>Respects the site time\u2011zone set in Settings \u2192 General.<\/p>\n\n<p>Sends nocache_headers() and defines DONOTCACHEPAGE during redirects and on the Shop Closed page to prevent caching plugins from serving outdated content.<\/p>\n\n<h3>Short Description<\/h3>\n\n<p>Automatically redirects visitors to a \"Shop Closed\" page during scheduled closure periods and shows a live reopening time powered by a shortcode that updates on every page load.<\/p>\n\n<h3>Support<\/h3>\n\n<p>Need help? Open a topic on the plugin support forum or contact the author via https:\/\/eliyahna.com.<\/p>\n\n<h3>Acknowledgements<\/h3>\n\n<p>Thanks to the WordPress &amp; WooCommerce communities for their amazing tools and documentation.<\/p>\n\n<!--section=installation-->\n<p>Upload the plugin folder to \/wp-content\/plugins\/ or install through Plugins \u2192 Add New.<\/p>\n\n<p>Activate Close Up Shop.<\/p>\n\n<p>Visit Settings \u2192 Close Up Shop to add your closure periods and adjust the default message if desired.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='how%20do%20i%20show%20the%20reopening%20time%20anywhere%20else%20on%20my%20site%3F'><h3>How do I show the reopening time anywhere else on my site?<\/h3><\/dt>\n<dd><p>Use the [closeupshop_reopen_time] shortcode in posts, pages, widgets, or templates. It will output the next reopening date and time.<\/p><\/dd>\n<dt id='can%20i%20set%20multiple%20closure%20periods%3F'><h3>Can I set multiple closure periods?<\/h3><\/dt>\n<dd><p>Absolutely. Add as many periods as you need \u2013 they can even overlap. The plugin will pick the currently active period, or the nearest upcoming one if the shop is currently open.<\/p><\/dd>\n<dt id='what%20happens%20when%20a%20closure%20period%20ends%3F'><h3>What happens when a closure period ends?<\/h3><\/dt>\n<dd><p>As soon as the end time passes, the shop automatically reopens and customers can access your WooCommerce pages again without redirection.<\/p><\/dd>\n<dt id='does%20the%20plugin%20respect%20wordpress%20time%E2%80%91zone%20settings%3F'><h3>Does the plugin respect WordPress time\u2011zone settings?<\/h3><\/dt>\n<dd><p>Yes. All scheduling uses the site time\u2011zone selected in Settings \u2192 General.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4<\/h4>\n\n<p>Introduced [closeupshop_reopen_time] shortcode for real\u2011time reopening info (replaces former placeholder approach).<\/p>\n\n<p>Rewrote admin Add \/ Remove row JavaScript; fixed Remove button not working due to missing type=\"button\".<\/p>\n\n<p>All date\/time comparisons now use DateTimeImmutable in the site time\u2011zone for robustness.<\/p>\n\n<p>Added nocache_headers() and DONOTCACHEPAGE constants to prevent cached \"Shop Closed\" pages.<\/p>\n\n<p>Code clean\u2011up, documentation refresh, version bump.<\/p>\n\n<h4>1.3<\/h4>\n\n<p>Re\u2011architected period\u2011selection logic (chooses latest ending active period or earliest upcoming).<\/p>\n\n<p>Switched to short\u2011code driven message so reopening time updates without resaving settings.<\/p>\n\n<p>Added helper utilities and improved sanitisation.<\/p>\n\n<h4>1.2<\/h4>\n\n<p>Initial public release after renaming project to Close Up Shop.<\/p>","raw_excerpt":"Close Up Shop lets WooCommerce store\u2011owners define any number of closure periods (for holidays, inventory counts, vacations, etc.).","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/223507","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=223507"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/eliyahna"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=223507"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=223507"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=223507"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=223507"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=223507"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=223507"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}