{"id":329152,"date":"2026-06-28T15:15:38","date_gmt":"2026-06-28T15:15:38","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/public-preview-url-manager\/"},"modified":"2026-06-28T15:15:20","modified_gmt":"2026-06-28T15:15:20","slug":"public-preview-url-manager","status":"publish","type":"plugin","link":"https:\/\/sa.wordpress.org\/plugins\/public-preview-url-manager\/","author":18675011,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Public Preview URL Manager","header_author":"Sudip Debnath","header_description":"Generates secure, time-sensitive public preview links for drafts and scheduled posts with configurable expiry.","assets_banners_color":"8b93e0","last_updated":"2026-06-28 15:15:20","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/sudipdebnath-cloud.github.io\/","header_plugin_uri":"","header_author_uri":"https:\/\/sudipdebnath-cloud.github.io\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":112,"num_ratings":1,"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":"developersd","date":"2026-06-28 15:15:20"},"1.0.1":{"tag":"1.0.1","author":"developersd","date":"2026-06-30 16:39:12"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3589005,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3589005,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3596008,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3599601,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3596001,"resolution":"1","location":"assets","locale":"","width":628,"height":1214},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3596001,"resolution":"2","location":"assets","locale":"","width":652,"height":674},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3596001,"resolution":"3","location":"assets","locale":"","width":1868,"height":898}},"screenshots":{"1":"The Document Sidebar Meta box showcasing the copy button setup.","2":"The Admin settings dashboard detailing the smooth never-expire visibility transition toggle switch."}},"plugin_section":[],"plugin_tags":[2007,4665,2475,6502,20977],"plugin_category":[],"plugin_contributors":[269280,269281],"plugin_business_model":[],"class_list":["post-329152","plugin","type-plugin","status-publish","hentry","plugin_tags-cpt","plugin_tags-draft","plugin_tags-preview","plugin_tags-scheduled","plugin_tags-share-link","plugin_contributors-developersd","plugin_contributors-sudipdebnath","plugin_committers-developersd"],"banners":{"banner":"https:\/\/ps.w.org\/public-preview-url-manager\/assets\/banner-772x250.png?rev=3599601","banner_2x":"https:\/\/ps.w.org\/public-preview-url-manager\/assets\/banner-1544x500.png?rev=3596008","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/public-preview-url-manager\/assets\/icon-128x128.png?rev=3589005","icon_2x":"https:\/\/ps.w.org\/public-preview-url-manager\/assets\/icon-256x256.png?rev=3589005","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/public-preview-url-manager\/assets\/screenshot-1.png?rev=3596001","caption":"The Document Sidebar Meta box showcasing the copy button setup."},{"src":"https:\/\/ps.w.org\/public-preview-url-manager\/assets\/screenshot-2.png?rev=3596001","caption":"The Admin settings dashboard detailing the smooth never-expire visibility transition toggle switch."},{"src":"https:\/\/ps.w.org\/public-preview-url-manager\/assets\/screenshot-3.png?rev=3596001","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>Public Preview URL Manager<\/strong> solves a classic WordPress challenge: letting external stakeholders, clients, or editors review content before it goes live, without forcing them to create a WordPress account.<\/p>\n\n<p>Engineered with universal compatibility for all primary page builders and block frameworks\u2014including <strong>Divi<\/strong>, <strong>Elementor<\/strong>, <strong>Gutenberg<\/strong>, <strong>Bricks<\/strong>, and <strong>Beaver Builder<\/strong>\u2014this plugin elevates rendering capabilities seamlessly at the query layer. This guarantees your reviewers see the exact page layout, custom canvas layouts, sections, and modules exactly as they will appear after formal publication, regardless of their login status.<\/p>\n\n<h3>Core Features<\/h3>\n\n<ul>\n<li><strong>Secure Cryptographic Tokens:<\/strong> Links are secured using time-sensitive hashes combined with unique security salts.<\/li>\n<li><strong>Universal Page Builder Support:<\/strong> Native abstraction layer built to eliminate unauthenticated template fallback errors and blank-page canvas bugs across all builders.<\/li>\n<li><strong>Modern Switch Toggle UX:<\/strong> A native, beautiful settings wrapper using modern CSS toggles to manage link expiration.<\/li>\n<li><strong>Never Expire Mode:<\/strong> Turn on an absolute \"Never Expire\" mode to keep links active until publication.<\/li>\n<li><strong>Auto-Redirect Lifecycles:<\/strong> When a draft transitions to Published, Private, or Password-Protected, external preview links run an instant structural <code>301 Moved Permanently<\/code> redirect directly to the formal live permalink.<\/li>\n<li><strong>Custom Post Type (CPT) Ready:<\/strong> Automatically supports all public custom post types like Services, Products, Portfolios, or Case Studies.<\/li>\n<li><strong>No Database Bloat:<\/strong> Contains robust cleanup uninstallation loops that scrub choices, custom options, and variables cleanly if uninstalled.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the entire <code>public-preview-url-manager<\/code> directory to your <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; Public Preview<\/strong> to configure your preferred global expiration conditions.<\/li>\n<li>Open any draft post, page, or custom post type to access the safe copy-to-clipboard public sharing box.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20custom%20post%20types%20and%20page%20builders%3F\"><h3>Does this work with Custom Post Types and Page Builders?<\/h3><\/dt>\n<dd><p>Yes! It hooks dynamically into all post formats flagged with <code>'public' =&gt; true<\/code> and supports all structural layouts generated by builders like Divi, Elementor, and Bricks.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20a%20post%20gets%20published%3F\"><h3>What happens when a post gets published?<\/h3><\/dt>\n<dd><p>The token system shuts off, and any user clicking the old sharing link will be seamlessly redirected with a 301 response straight to your public live page layout.<\/p><\/dd>\n<dt id=\"is%20it%20safe%20from%20search%20engine%20indexers%3F\"><h3>Is it safe from Search Engine indexers?<\/h3><\/dt>\n<dd><p>Absolutely. All public preview queries force an explicit <code>X-Robots-Tag: noindex, nofollow<\/code> header to prevent Google or other web crawlers from indexing unreleased content.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Optimized query processing architecture for universal page builder compatibility (Divi, Elementor, Bricks, Gutenberg, etc.).<\/li>\n<li>Refactored core logic using <code>map_meta_cap<\/code> to safely elevate single-post read capabilities for validated public preview sessions.<\/li>\n<li>Resolved layout mapping bugs causing native pages to inherit standard post-style templates or sidebar skeletons on unauthenticated requests.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Stable production release.<\/li>\n<li>Resolved script and style inline block violations via enqueue hooks.<\/li>\n<li>Purged common \"wp\" prefix allocations to prevent text-domain collisions.<\/li>\n<li>Rectified readme contributor account verification criteria maps.<\/li>\n<\/ul>","raw_excerpt":"Secure, time-sensitive public preview links for drafts\/scheduled posts. Fully compatible with Divi, Elementor, Gutenberg, Bricks, and more.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/329152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=329152"}],"author":[{"embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/developersd"}],"wp:attachment":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=329152"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=329152"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=329152"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=329152"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=329152"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=329152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}