Image thumbnail

Share a Draft Post or Page in WordPress Without Requiring Login

No admin access; no problem

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:

  1. Go to the ‘Add New’ plugins screen in your WordPress admin area
  2. Search for ‘Public Post Preview’
  3. 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:

Public Post Preview

The plugin generates an URL with an expiring nonce appended to its end. For example, “&_ppp=fda2aeb189” in the following:


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 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:


Have a question about this, or other WordPress related issue, leave a comment below or feel free to contact me anytime.

Share a Draft Post or Page in WordPress Without Requiring Login
Vance Bell

Vance Bell

Hi there, glad you made it! I'm Vance Bell, a freelance web designer/developer and frequent marketing consultant.

Monday to Saturday I help businesses and organizations grow attention and revenue. Sometimes on Sunday I take a break and binge watch Netflix.

Owner of Pixel Engine, a Philadelphia-based web design and online marketing studio.

If you'd like to hire me, I'd love to hear from you. If you just have a question, feel free to ask.


  • September 19, 2019


    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.

  • January 29, 2020

    Andrei Biziorek


    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?

  • April 24, 2020

    Jan Blanton

    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.

  • March 4, 2022

    Gina Z.

    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!

Post a Comment