「メディアライブラリに画像がアップロードできなくなってしまいました。」
というご相談がありましたので調査しました。
エラー内容を確認する
エラーログを確認すると、以下のエラーが出力されていました。
WordPress \xe3\x83\x87\xe3\x83\xbc\xe3\x82\xbf\xe3\x83\x99\xe3\x83\xbc\xe3\x82\xb9\xe3\x82\xa8\xe3\x83\xa9\xe3\x83\xbc: Table 'wordpress.wp__blc_instances' doesn't exist for query SELECT instance_id FROM `wp__blc_instances` WHERE container_id = 10048 AND container_type = 'post' made by wp_trash_post, wp_update_post, wp_insert_post, wp_transition_post_status, do_action('trash_post'), WP_Hook->do_action, WP_Hook->apply_filters, blcPostTypeOverlord->post_deleted, referer: https://xxxxx.net/wp-admin/edit.php
アップロードできないという事でしたが、do_action(‘trash_post’)とあるので削除に失敗したときのログのようです。
wp__blc_instancesと言うテーブルは存在しない(アンダーバーが一つ多い)ので、このテーブルを操作しているプラグインのバグです。
プラグインを確認する
インストールされているプラグインを確認すると、Broken Link Checkerがインストールされていたので、コードをダウンロードして確認。
'SELECT instance_id FROM `'.$wpdb->prefix.'_blc_instances` WHERE container_id = %d AND container_type = %s',
という記述があったので、このプラグインで間違いありません。
Broken Link Checkerを一時的に停止
Broken Link Checkerを一時的に停止して試してみてもらったところ、アップロードできるようになりました。
Broken Link Checkerにバグはありますが、全く使えないという事ではなく、定期的に実行されるプラグインですので、アップロードの際に一時的に停止する、という運用でも支障ありません。