問題
Easy Watermarkを使用して画像にwatermarkの書き込みを行ったが、処理が失敗した。
watermarkの書き込み履歴だけ残ってしまい、watermarkの再書き込みもバックアップからの復元もできなくなってしまった。
そこで、書き込み履歴を編集し、再度watermarkの書き込みを行う。
手順
対象画像のpost_idの値に紐付く、postmetaテーブルの値を編集する。
以下はPhpMyAdminでの検索と編集画面。
SELECT * FROM `{テーブル名プレフィックス}postmeta` WHERE `post_id` = {対象画像のpost_id};
_ew_has_backup
watermarkのバックアップがあるかどうかの判定に使用されている。
値が0なら、バックアップが存在せず、1なら存在することになる。
1だった場合は0に設定する。
_ew_applied_watermarks
書き込んだwatermarkの情報が記録されており、以下のような構造になっている。
a:1:{i:463;s:3:"url";}
a:{watermarkを書き込んだかどうか}:{書き込んだwatermarkの情報}
aに対する値を0にすることで、watermarkを書き込んでいないことになる。
a:0:{i:463;s:3:"url";}
_ew_backup_file
watermark書き込み前のバックアップファイルのパスが記録されている。
/{wordpressのインストールディレクトリ}/ew-backup/{画像のファイルパス}
上記はレコードが生成されていないこともある。
watermarkを再度書き込む際に影響しないようなので無視する。
結果
watermark書き込み未実施状態となった。
再度watermarkを行ったところ、正常に処理が完了した。