記事内に広告が含まれています。

function.phpを編集したら「nonce_failure」エラー発生

function.phpを編集したら「nonce_failure」エラー発生 wordpressでブログを作ろう
function.phpを編集したら「nonce_failure」エラー発生
この記事は約5分で読めます。
広告

 〔function.php〕を編集したら「nonce_failure」というエラーが発生した。

 たまにあるみたいだ。

 でも、「nonce_failure」は心配ないみたい。

 とはいえ、テーマファイルエディターを調整していて、おかしな表示が出るのは心配。

 「nonce_failure」が出た時の対処方法を分かった範囲でご紹介。

広告

「nonce_failure」が出た状況

 「nonce_failure」というエラー表示が出たのは、

WordPressのダッシュボード、〔外観〕⇒〔テーマファイルエディター〕から、function.phpを編集し、変更を保存した

 とき。

 function.phpの編集は下手すると、WordPressの管理画面に入れなくなったりする。

 このため、「nonce_failure」というエラーが出たときには、ちょっと焦った。

K
K

function.phpファイルの編集は慎重に!

広告

「nonce_failure」の意味

 「nonce」は「使い捨てのランダムな値」のこと。

 「failure」は「失敗、不足」のこと。

 WordPressで「nonce」は

A nonce is a “number used once” to help protect URLs and forms from certain types of misuse, malicious or otherwise.

Technically, WordPress nonces aren’t strictly numbers; they are a hash made up of numbers and letters. Nor are they used only once: they have a limited “lifetime” after which they expire. During that time period, the same nonce will be generated for a given user in a given context. The nonce for that action will remain the same for that user until that nonce life cycle has completed.

Nonces – Common APIs Handbook | Developer.WordPress.org

 これを日本語に翻訳したのが↓

nonceは、悪意のあるものであろうとなかろうと、特定の種類の誤用からURLとフォームを保護するための「一度だけ使用される番号」です。

技術的には、WordPressのナンスは厳密には数字ではありません。それらは数字と文字で構成されたハッシュです。また、一度だけ使用されるわけでもなく、有効期限が切れるまでの「寿命」が限られています。その期間中、特定のコンテキストの特定のユーザーに対して同じ nonce が生成されます。そのアクションの nonce は、その nonce のライフ サイクルが完了するまで、そのユーザーに対して同じままです。

Nonces – Common APIs Handbook | Developer.WordPress.org

 となる。

 要は、「nonce_failure」は一時的なもので、サイト保護のために使用される表示。

 テーマファイルエディターを長く開いたまま作業していたり、プラグイン等でテーマファイルエディターの編集に制限がかかっていたりすると出るらしい。

 我が家の場合、テーマファイルエディターの編集に制限をかけるようなプラグインは使っていないため、プラグインの不都合は考えられない。

〔テーマファイルエディター〕の更新で「nonce_failure」エラーが消えた

 「nonce_failure」エラーの対処法としては

function.phpを表示したWordPressの〔テーマファイルエディター〕ページをブラウザで更新(リロード)する。
WordPressのダッシュボード、〔外観〕⇒〔テーマファイルエディター〕から、function.phpを編集し「nonce_failure」というエラー表示が出らブラウザの更新ボタンを押す

WordPressのダッシュボード、〔外観〕⇒〔テーマファイルエディター〕から、function.phpを編集し「nonce_failure」というエラー表示が出らブラウザの更新ボタンを押す

 又は

ファンクションキーF5(ノートパソコンのキーボードならFn+F5)を押して更新(リロード)してもOK。
ブラウザのリロード-ノートパソコンキーボード

ブラウザのリロード-ノートパソコンキーボード

 テーマファイルエディターを長く開いたまま作業していたことが「nonce_failure」の原因なら、リロードすれば「nonce_failure」表示が出なくなる。

 ブラウザをリロード(更新)しても「nonce」の表示が出たら、プラグインを一度すべて停止して、ひとつずつ有効化してどのプラグインに原因があるか確認し、問題のあるプラグインは停止してしまう。

まとめ

 function.phpの編集は下手すると、WordPressの管理画面に入れなくなったりする。

function.phpを編集する時は、バックアップを必ず取ってから始める
WordPressのダッシュボードの〔テーマファイルエディター〕ではなく、サーバーのFTP等で編集する

 以上は、鉄則。

 家もこの事件以降、WordPressのダッシュボードの〔テーマファイルエディター〕でfunction.phpファイルを編集することがなくなった。

K
K

 function.phpのバックアップはコピー&ペーストでテキストエディタに張り付けるだけでもOKだが、Windowsのメモ帳には貼り付けないように。

 Windowsのメモ帳に張り付けると、改行コードの調整などができないため、トラブルの原因になる。

コメント

タイトルとURLをコピーしました