WordPress で記事を作成したけど、公開前に一度確認してほしいから非公開設定のままほかの人に共有したいというケースに遭遇した人もいるのではないでしょうか。
一番シンプルな方法であれば、編集者権限以上のユーザーアカウントを共有して見てもらう方法ですが、WordPress の管理画面にアクセス・閲覧できてしまうため、セキュリティ上の問題が発生します。
そこで今回は、ログインしていない外部の人に非公開状態の記事を共有する方法について解説します。
ログインしていない外部の人に非公開の記事を見せる方法
難しく考えてしまう人もいるかもしれませんが、使っているのはプラグインがたくさんある WordPress。
当然のように、非公開の記事をログインしていない外部の人に共有できるプラグイン「Public Post Preview」が存在します。
「Public Post Preview」は下書き・予約投稿・レビュー待ちの記事を、ログイン無しで閲覧できるプレビュー用のリンクを作成できるプラグインで、リンクに有効期限が設定されているので、発行したプレビューURLが漏洩しても時間経過で勝手に無効化されます。
Public Post Previewで共有する方法
「Public Post Preview」はプラグイン新規追加でないからインストールできます。

Public Post Preview
と検索するとすぐに見つかりますインストール・有効化しておきましょう
Public Post Previewを導入したら、まだ公開していない記事の編集画面を開きます。
投稿ステータスが下書き・レビュー待ち・予約投稿のいずれかになっていた場合、投稿パネル(右側のサイドバー)に
の紅白が追加されているので、そちらにチェックを入れます。
すると非ログインユーザーでも閲覧できるプレビュー URL が発行され、そのURLにアクセスすると、まだ公開していない非公開の記事をログインなしで閲覧することができます。
試しにシークレットブラウザやゲストブラウザなどWordPress にログインしていないブラウザで、発行されたプレビュー URL にアクセスしてみてください。
ログインしていないにも関わらず、まだ公開していない記事を閲覧できたはずです。
プレビュー URL の有効期限を変更する方法
プレビュー URL の有効期限はデフォルトで48時間になっています。
有効期限をもっと短くしたい・長くしたい場合は、functions.php
に下記のフィルターを追加することで変更できます。
add_filter('ppp_nonce_life', function(){
//秒単位で指定する
return 60 * 60 * 1;
});
上記サンプルは有効期限を1時間に変更するコードです。
3行目の数値(計算)を変更すればもっと短くしたり長くしたりできるので、必要な場合はfunctions.php
を変更してみてください。