Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 430080 bytes) in /home/xxxx/public_html/xxxxx.com/wp-includes/wp-db.php on line xxxx
WordPressで固定ページを編集しようと編集をクリックすると上記エラー
おそらく原因は固定ページ内に大量の画像ブロックを配置しているから
対処法
データベースから直接アクセスする方法:
PHPMyAdmin等を使って、wp_postsテーブルから該当ページのpost_contentを編集することができます。これにより、編集画面を介さずにコンテンツを修正できます。
一時的にメモリ制限を大幅に引き上げる方法:
// wp-config.phpに追加
define('WP_MEMORY_LIMIT', '1024M'); // 1GBに設定
define('WP_MAX_MEMORY_LIMIT', '1024M');
WordPressメディアライブラリから画像データそのものを削除すると、固定ページ上のギャラリーブロックに関連付けられていた画像の参照が切れ、メモリ消費が減少するため、編集画面に遷移できる可能性が高い
ただし、以下の点に注意が必要です:
- メディアライブラリから画像を削除した場合:
- 固定ページ上のギャラリーブロックは残りますが、削除した画像は「見つかりません」や空の枠として表示される
- ブロックエディタで開くと、画像が欠落したギャラリーブロックとして表示される
- サイト上では画像が表示されなくなる
- 推奨される手順:
- まずサイトとデータベースのバックアップを取る
- メディアライブラリから、問題のページで使用している画像を一部削除
- 編集画面にアクセスできるようになったら、不要なギャラリーブロックを整理
- 必要な画像は最適化して再アップロード
- より安全な代替アプローチ:
- まず、wp-config.phpでメモリ制限を一時的に引き上げてから
- 画像の整理と最適化を行う方が、データの制御がしやすい
このアプローチで編集画面にアクセスできるようになったら、今後のために:
必要に応じてギャラリーの分割 を検討することをお勧めします。
画像サイズの最適化
1ページあたりの画像数の制限
ワードプレスのデバッグモードを有効にして詳細なエラー情報を確認:
// wp-config.phpに追加
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);