Need to temporarily share a WordPress draft post or page with a colleague or client who doesn’t have access to your WordPress admin? Here are two lightweight plugins to help you do so.
Public Post Preview
The Public Post Preview plugin conveniently allows for the preview of posts, pages and any other public custom post types without logging in.
The plugin, developed by Matt Martz and Jonathan Dingman, has earned a respectable 30,000+ active installations.
To install the plugin through WordPress, you can follow the typical proceedure:
- Go to the ‘Add New’ plugins screen in your WordPress admin area
- Search for ‘Public Post Preview’
- Click ‘Install Now’ and then click to activate the plugin
Once the plugin is activated it will add an option to “Enable public preview” in the Publish meta-box as seen here:
The plugin generates an URL with an expiring nonce appended to its end. For example, “&_ppp=fda2aeb189” in the following:
http://yourdomain.com/?p=2816&preview=1&_ppp=fda2aeb189
The shared link “lives” for 48 hours from the moment of activation. After 48 hours the link will expire and you need to copy and share a new link which is automatically generated in the same location under the editor.
If a custom share duration is required for your site, there is an available filter that allows its extension.
add_filter( 'ppp_nonce_life', 'my_nonce_life' ); function my_nonce_life() { return 60 * 60 * 24 * 5; // 5 days }
This duration can also be managed by installing the related plugin “Public Post Preview Configurator” by Björn Weinbrenner.
WP-DraftsForFriends
WP-DraftsForFriends is an alternative to the above, but only works with posts, not pages or custom post types.
After installation and activation, the plug adds a “Drafts for Friends” link to the Posts admin menu.
From this area you can select from available draft posts and set a timeframe for the available share in minutes, hours or days.
If you need to extend the duration, you can simply add time a previously set shared post as see here:
Questions?
Have a question about this, or other WordPress related issue, leave a comment below or feel free to contact me anytime.
9 thoughts on “Share a Draft Post or Page in WordPress Without Requiring Login”
Hi, I have public post in my site, but it needs login to view that article, I can’t recognize the problem, I want every one can see that without login. Could you mind help me please.
Sounds like you might have the post set to password protected in the WordPress admin. Go to Edit Post –> find the Publish area –> Visibility and see if it is set to password protected.
Hello!
I have a question about Public Post Preview. I want to send a draft of the pages of the wordpress website I’m building to someone before the website goes live, without giving them my login info. I installed PPP, but the enable check box doesn’t appear where it should be when I try to use it.
I’m building the site myself (using Elementor). It seems that the pages I’ve made so far have been published, even though the website isn’t live. Would this be why the enable public post preview box doesn’t show? And is it possible to revert to page drafts without losing everything of done in terms of design and content?
Hi Andrei,
You are correct. If the post or page has been published (that is, shows Status: Published) then there will not be a checkbox for Enable Public Preview even if the site is not technically live.
You can generally change a post or page from Status: Published to Status: Draft without losing your changes. I often do that to temporarily unpublish a page that I know will revise and republish at a later date. You can test this in your case by just creating a draft page of whatever content and then toggling the publish status back and forth.
As far as showing a client a working version of your whole site, you can also use something like a maintenance mode plugin and then create a low access level (role of subscriber) for them in the WordPress Admin. As long as the maintenance mode plugin is configured to allow subscriber level users access they can login and then navigate to the homepage and have a look around without having the ability to edit. That works better when you want them to review the whole site. PPP works better if you just have very particular posts or pages you wish them to quickly review.
Pretty sure any of the major maintenance mode plugins would allow a logged in user of any role to see the site after login. Some might restrict access to users with a particular roles you configure in the plugin. Your user should have the Subscriber role, so they can’t edit anything. Have a look at:
Coming Soon Page, Under Construction and Maintenance Mode, by SeedProd
WP Maintenance Mode, by Designmodo
Maintenance, by WP Maintenance
Vance
Do you know of a way/plugin to have a preview link for changes that are being made to an already published page and/or post? Our customers want to see updates to existing pages before they are pushed live.
Thanks!
Assuming your customers have WordPress users in the system you might consider using the Revisionize plugin to create previewable versions of posts or page that have already been published. It does not work with the Gutenberg block editor currently. There may be some issues if you are storing non-standard data with your posts that Revisionize cannot duplicate with the rest of the post or page content. The plugin author also offers some paid add-on features.
Hi Vance – how does work if I want a post published as ME, with my name to it. Right now I am the one editing and hitting publish on all my posts because the author needs to be me/my name. And my understanding is if I give edit/publish rights to someone else when they hit publish, the blog post will appear with their name, which isn’t what I want. Thank you so much for your help!
If you have multiple users with publishing permissions in your WordPress installation, authorship can be assigned in the Edit Post/Edit Page area before or after publication. On the Edit Post/Edit Page you may need to tick the checkbox in the Screen Options (Authors) to turn on the visibility of the Author assignment panel.
Thanks very much for pointing out this plugin: exactly what I needed from time to time!