WordPressでブログ運営を始めると、ダッシュボードで最新の更新を知らせてくれます。ボタン一つで常に最新に保てるのはとても便利ですね。ただ、私のサイトでは初めてのテーマの更新で失敗したので、この記事は対処時の対応内容と考えたことの記録です。
エラー内容の確認
エラーが発生した場合は、まずエラーメッセージを把握するのが鉄則。ここで確認するべきは、以下です。
- テーマの更新に失敗しました。
- いくつかのファイルをコピーできないため、最新版のインストールができません。これはたいていの場合、ファイルのパーミッションが適切でないことが原因です 。
やってみたこと
エラーメッセージを解釈する。
メッセージ:テーマの更新に失敗しました。
「更新に失敗した」ということが理解できます。「何が」起きたかはわかりました。「なぜ」発生したかは、このメッセージではわかりません。
メッセージ: ファイルをコピーできないため、最新版のインストールができません。
このメッセージから「ファイルがコピーできないため」ということでこれが原因のようです。
さて「テーマを更新できない」が、「ファイルをコピーできない」という話にすり替わっています。WordPressのテーマとはコンピュータからみればファイルの集合体なので、ファイルをコピーできないとは、「新しいテーマのファイル群が、何らかの理由でコピーできない」ということです。
メッセージ: たいていの場合、ファイルのパーミッションが適切でないことが原因
ここまでメッセージしてくれるWordpressって素晴らしいです。このメッセージから、ファイルのパーミッションを確認することになります。パーミッションとは「ファイル読み書きの権限」のことで、パーミッションが適切ではないということは、古いテーマを新しいテーマで上書きしたいが、更新権限がないということでしょう。「たいていの場合」とあるのでそれ以外の原因の可能性もあるかもしれませんが、まずはパーミッションが原因かどうかを確認します。
テーマの更新に失敗しているので、テーマのある場所から確認しましょう。
(私の環境はlinuxなのでその前提で記載します)
cd {WordPressインストール先}/data/{ドメイン}/DocumentRoot/wp-content/themes
次に、lsコマンドで確認します。(ll とは ls -l と同じで詳細なリストを出してくれます)
ll
出力結果例
drwxrwxrwx 16 82 82 4096 May 6 07:08 cocoon-master/ drwxr-xr-x 8 82 82 4096 Apr 9 14:00 twentynineteen/ drwxr-xr-x 5 82 82 4096 Apr 9 14:00 twentyseventeen/ drwxr-xr-x 7 82 82 4096 Apr 9 14:00 twentysixteen/
左の「drwxrwxrwx」や「drwxr-xr-x」という表記が「パーミッション」を表します。cocoon-masterと、twentynineteen以下3つとでパーミッションが異なってるのがわかります。今回エラーになったのは「twentynineteen」以下三つだったのですが権限が不足しているのです。chmodコマンドで変更できます。
sudo chmod -R 777 twenty*
ll
drwxrwxrwx 16 82 82 4096 May 6 07:08 cocoon-master/ drwxrwxrwx 8 82 82 4096 Apr 9 14:00 twentynineteen/ drwxrwxrwx 5 82 82 4096 Apr 9 14:00 twentyseventeen/ drwxrwxrwx 7 82 82 4096 Apr 9 14:00 twentysixteen/
パーミッションを確認したところで再実行
再実行すると、見事成功しました。これで解決です。
まとめ
うまくいった手順を改めて書くと下記の通り。参考になれば幸いです。
- エラーメッセージを確認する
- テーマ格納場所を把握する
- パーミッションを確認する
- パーミッションを変更する
- 再更新して確認する。
コメント