sandywp / plugins / public-post-preview

Public Post Preview

4.5 out of 5 stars. 4.5 80 reviews

Allow anonymous users to preview a draft of a post before it is published.

Launch a sandbox with this plugin → No signup.
Ready in seconds.

v3.1.2 100,000+ installs WP 6.6+ PHP 8.0+

your-sandbox.sandywp.com/wp-admin
Public Post Preview running inside a SandyWP sandbox

What you get inside

2 screens
  • Block Editor

  • Classic Editor

About this plugin

Share a link to anonymous users to preview a draft of a post (or any other public post type) before it is published.

Have you ever been writing a post with the help of someone who does not have access to your site and needed to give them the ability to preview it before publishing? This plugin takes care of that by generating an URL with an expiring nonce that can be given out for public preview.

Previously this plugin was maintained by Matt Martz and was an idea of Jonathan Dingman. Photo by Annelies Geneyn.

Usage

  • To enable a public post preview check the box in the document settings. In the classic editor it’s in the “Publish” meta box.
  • The link will be displayed if the checkbox is checked, you can copy and share the link with your friends.
  • To disable a preview uncheck the box again.

Questions

I can’t find the option for preview links. Where is it?

The checkbox is only available for non-published posts and once a post was saved as a draft.

After some time the preview link returns the message “The link has been expired!”. Why?

The plugin generates an URL with an expiring nonce. By default a link “lives” 48 hours. After 48 hours the link is expired and you need to copy and share a new link which is automatically generated on the same place under the editor.

48 hours are not enough to me. Can I extend the nonce time?

Yes, of course. Go to Settings > Reading > Public Post Preview and increase the
Expiration Time setting. You can also use the filter ppp_nonce_life. Example for 5 days:

add_filter( 'ppp_nonce_life', 'my_nonce_life' );
function my_nonce_life() {
    return 5 * DAY_IN_SECONDS;
}

Note: The setting UI is not visible if the filter is used.

4.5

80 reviews

  • 5 ★ 67
  • 4 ★ 3
  • 3 ★ 0
  • 2 ★ 4
  • 1 ★ 6

Ratings come from WordPress.org. SandyWP does not collect its own reviews.

sandywp / also on the shelf

Try another plugin

Spin up a real WordPress site in seconds.

Test plugins, build a demo, hand a client a link — then squash it and start again. No local setup, no Docker.