最近記事を作成する際にプレビュー機能を使おうとしたら、「404NOT FOUND」か「下書きする権限がありません」と表示されるようになってしまいました。サイトの立ち上げ時には使えていた機能だったはずですが、いつの間にか使えなくなっていたようです。致命的では無いけれどもちょっと不便でした。調べたら解決できたので同じミスを犯したときの防備録として書いておきます。
解決に以下のサイト様を参考にさせていただきました。
[WP]WordPress の「下書きをプレビューする権限がありません。」エラーの対処法まとめ|ウェブアンテナ
「下書きをプレビューする権限がありません」と表示されるとき|PHPプログラミングの教科書 [php1st.com]
どちらのサイト様も主に2点を見直せ、設定せよと書かれています。
- WordPressの一般設定の設定
- wp-config.php の認証用ユニークキーを設定
WordPressの一般設定の設定
WordPressの一般設定で定められている「WordPressアドレス(URL)」と「サイトアドレス(URL)」を同じにする事で解決する。
一般設定は左のメニューから設定→一般を選択すると呼び出せる。
wp-config.php の認証用ユニークキーを設定
デフォルトだと何も定められていないwp-config.phpの設定項目の一部分を設定する。
設定はWEB上で直接編集出来ないので、FTPなどを利用してwp-config.phpを一度ローカルにダウンロードし、バックアップを取得後、テキスト編集を行う。文字化けするようであれば「Terapad」などのテキストエディタを使用する。
wp-config.phpはデフォルトで以下のようになっている。
define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here');
この’put your unique phrase here’といわゆる空状態になっている箇所に自動生成された秘密鍵を貼り付ければ良い。
秘密鍵を自動生成してくれるサイト
https://api.wordpress.org/secret-key/1.1/salt/
クリックすると例えば以下のように表示されるので、該当部分を全て上書きする。
define('AUTH_KEY', 'pWV!e#F}*xg+Bt*k******************'); define('SECURE_AUTH_KEY', 'cN1hSd`Gzk(JYL}o******************'); define('LOGGED_IN_KEY', ').7Peb.$W`h9l(QD******************'); define('NONCE_KEY', ',II+L764Kw%18f=i******************'); define('AUTH_SALT', '[||$@JlI|vO+lAyb******************'); define('SECURE_AUTH_SALT', '9QvTA!Z~+G=`>Uyn******************'); define('LOGGED_IN_SALT', 'sJJy]%6HxG0k4w^n******************'); define('NONCE_SALT', 'kZCs(+`t>G} p]Ao******************');
該当部分をコピーしたら再びアップロードしてWEB上のwp-config.phpを上書きする。
独自ドメイン設定後にプレビュー出来なくなっていた
私の場合「WordPressアドレス(URL)」と「サイトアドレス(URL)」が同じではなかったので、プレビュー機能が使えなくなっていました。独自ドメイン設定後、ずっとプレビュー出来ていなかったようです。
1.サイト立ち上げ時 WordPressアドレス(URL):casette-sakura.ne.jp/wp(レンタルサーバでWordPressをインストールしたURL) サイトアドレス(URL):casette-sakura.ne.jp/(レンタルサーバから割り当てられたURL)
2.独自ドメイン取得後(NG設定)・・・プレビュー見れず
WordPressアドレス(URL):casette-sakura.ne.jp/wp(レンタルサーバでWordPressをインストールしたURL)
サイトアドレス(URL):https://www.cassette-deck.com(独自取得したドメインURL)
3.独自ドメイン取得後(OK設定) WordPressアドレス(URL):https://www.cassette-deck.com(独自取得したドメインURL) サイトアドレス(URL):https://www.cassette-deck.com(独自取得したドメインURL)
「サイトアドレス(URL)」の注釈に
サイトのホームページを WordPress のインストールディレクトリとは異なるものにしたければ、ここにアドレスを入力してください。
と書かれていたので、独自ドメイン取得後の設定時にサイトアドレス(URL)のみ変えていたようです。
立ち上げ時のメモを見返したところ以下のように書かれていました。
独自ドメイン購入後に「WordPressアドレス(URL)」と「サイトアドレス(URL)」を同じに設定した所、404エラーでWordPressにログイン出来なくなった。
ドメインの反映には時間が掛かるので、上手く設定できてなかったのかな?焦り過ぎただけかも。うーんすっきりしない。
因みにWordPressアドレス(URL)を間違えてしまう(またはドメインが反映されてない)とWordPressのログイン画面のURLが変更されるので、WordPressにWEBでログインできなくなってします。こうなると「Myadminなどでデータベースの値を戻す」か「FTPサーバで設定する」かどちらかをしないと元に戻せません。こちらもそのうち防備録として残しておこうと思います。