WordPress

WordPress 下書きをプレビューする権限がありません。の対処方法

WordPress で「下書きをプレビューする権限がありません。」と表示された時の対処方法を紹介します。
アラートが表示される原因がいくつかあるため、順を追って説明していきます。

WordPress アドレスとサイトアドレスの相違

管理画面にある設定の一般設定の項目「WordPress アドレス」と「サイトアドレス」に登録されているサイトのアドレスが違うことでアラートが表示される場合があります。
これは、インストール時のCookie情報と違う値に変更されたために起こる現象と考えられます。
例えば、サイトをインストールした時は次のような設定を

WordPress アドレス:sample.com/wp/
サイトアドレス:sample.com/wp/

サイト公開時に、次のように変更

WordPress アドレス:sample.com/wp/
サイトアドレス:sample.com/

変更したアドレスを元に戻せば解決する場合もありますが、アドレスを戻したくない場合がほとんどだと思います。
その場合は、使用しているブラウザーからキャッシュのクリアを選択して、Cookie 情報を一旦削除して確認してみましょう。

認証用ユニークキーの変更

wp-config.php に記載されている認証用ユニークキーを変更することで対処することもできます。
Cookie に格納される情報を暗号化するために wp-config.php には次のような記述があります。
※認証用ユニークキーの値はWordPress毎にことなります。

/**#@+
* 認証用ユニークキー
*
* それぞれを異なるユニーク (一意) な文字列に変更してください。
* {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で自動生成することもできます。
* 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザーを強制的に再ログインさせることになります。
*
* @since 2.6.0
*/
define('AUTH_KEY', 'z10nOrxm9=%`*ja[yy7cP3V6d>6C?BjZ-tl9KGl]-iHJ7#1xRrs6_GFl(K77-oA_');
define('SECURE_AUTH_KEY', '^>J>THc;@|-8vi,7S~$`Xs[E$yIbAbf3#MV$0p~f{aVN,Kc:9(d}gX/[Oh&k6CQT');
define('LOGGED_IN_KEY', 'CnXm]w[b+^P#GCM[0-q^X%s.S*&pBH;lTWt},F9aL|.o.(l)cXUt9n{wdUaIA-nq');
define('NONCE_KEY', 'bGuj9#CI%_q/k/] @+{^%9XU)[JKU|Q-JBDk<pM7RIf.S27j<i;[ycN@kTE(4ax2');
define('AUTH_SALT', 'Q-B74p*^}uju:_8wU~A(-)*L=-Y,&[2RIs[-Al,k36.zn$]q=<Ru+Hq5O,urT>D6');
define('SECURE_AUTH_SALT', '~%pdMcK/i<a)czR7?B18HUYTXZhdH,j?dS4VGt8mVc.TirGY&g-B[hZQ(9];ja7-');
define('LOGGED_IN_SALT', '$h3)IVB:`|>|Yd[fof+k_29g;1teqO|ocZ-h`0qAa*[Pi{;poTE,I+/$DOog]U`V');
define('NONCE_SALT', '93j$v,/@u!lXDe7{;=DkPlXOgSO%)t}*u?l)cBf+$-aOwY@0Kr=l@xGo|-SO otO');

define 以下に記述されている値を変更するために、次のサイトから認証用ユニークキーを取得して wp-config.php の同じ位置に上書きします。

認証用ユニークキーの取得:https://api.wordpress.org/secret-key/1.1/salt/

ページアクセス毎に次のような固有のユニークキーが表示されるので、これをコピーして wp-config.php 同じ項目に上書きします。
※次のコードはサンプルです。

define('AUTH_KEY',         '`YVIjX,5^Wxh:o[OX|^.l`>hN&N3Ay$+6*~%?Y-bug`:KY=w&cS0S=N wYY2oxn ');
define('SECURE_AUTH_KEY', '+EoD0^_,&WaNR]7U|pC6UD812A-Za$q6L-oeXkg-u[t;vru[6xbC6d^NLo?0D!yo');
define('LOGGED_IN_KEY', 'TQ80IG,?|Z.S0B3+7E5ol9i*2fX$A^uM#HH.-<nvT7OiFcK>^;6+ _LMGQwMn6{^');
define('NONCE_KEY', ':Wd8j.TUO1{7-GOC$#--/^tT=]7-Gw8UjO;z-v-[GP(lT]|IBRJ)@FW!Fl#8d^X/');
define('AUTH_SALT', 'Ih$TU%bw65EH|Po8TpX758@)<r|+0e|UGwmqd[QO|7s-MKui{LUi$<qWqb3Qxxbk');
define('SECURE_AUTH_SALT', 'IAU)ONw)vLk-PuTa.V^3h$:5:9,:3g9Y}_(Liq`4bbY/_Qp@FpqvJ|Ln}1%qMfpz');
define('LOGGED_IN_SALT', '*D`UPp$hE7Oh|*vzI]-*}la88S<.nbMat=|sRQq,:]f_grG*oxKlaimAALj9?C?/');
define('NONCE_SALT', 'h~Xh5ry# D@|-!-cSOc1O[t+-x`j#F6<vmF3+Zn: mBz:x[8F;=: t7%Zx7(]R~j');

作業の際はファイルのバックアップを必ずとるようにしてください。

まとめ

WordPress で「下書きをプレビューする権限がありません。」と表示された時の対処方法を紹介しました。

合わせて読みたい関連記事