Hari ini, tim IT SUMEDANGONLINE menemukan pesan error Trying to access array offset on value of type bool in /home/user/public_html/wp-includes/media.php on line 795. Padahal tidak ada perubahan script pada thema maupun plugin.
Pesan error tersebut menunjukkan bahwa WordPress mencoba mengakses elemen array pada variabel yang sebenarnya memiliki tipe bool. Hal ini sering terjadi karena fungsi WordPress, seperti yang ada di file media.php, mengharapkan array tetapi mendapatkan nilai boolean (true atau false) sebagai hasil dari fungsi tertentu.
Masalah ini biasanya terjadi karena:
- Fungsi yang Mengembalikan Boolean: Fungsi seperti
wp_get_attachment_metadata()atauget_post_meta()mengembalikanfalsejika data yang diminta tidak ditemukan. - Data Tidak Tersedia atau Rusak: Attachment atau metadata mungkin telah dihapus atau tidak pernah ada.
- Tema atau Plugin Bermasalah: Kode tema atau plugin Anda mungkin menyebabkan error ini, terutama jika mereka menggunakan fungsi WordPress dengan cara yang salah.
Solusi:
1. Periksa Baris Kode Terkait
Buka file media.php di baris 795. Cari kode yang mencoba mengakses array. Misalnya, jika kodenya seperti ini:
$value = $data['key'];
Pastikan variabel $data adalah array, bukan boolean.
2. Tambahkan Validasi
Modifikasi kode untuk memastikan variabel adalah array sebelum mengaksesnya. Anda dapat menambahkan pengecekan seperti ini:
if (is_array($data) && isset($data['key'])) {
$value = $data['key'];
} else {
$value = null; // Atau nilai default lainnya
}
Pada Kasus ini saya menggunakan if( isset($data['width'])): pada baris 795 atau didalam foreach ( $imagedata['sizes'] as $_size => $data ) {3. Debug Metadata atau Attachment
Jika error disebabkan oleh fungsi seperti wp_get_attachment_metadata(), tambahkan log untuk memeriksa apa yang dikembalikan oleh fungsi tersebut:
$data = wp_get_attachment_metadata($attachment_id);
if (!$data) {
error_log('Attachment metadata not found for ID: ' . $attachment_id);
}
4. Periksa Tema atau Plugin
- Nonaktifkan semua plugin untuk melihat apakah error masih muncul. Jika hilang, aktifkan plugin satu per satu untuk mengidentifikasi penyebabnya.
- Jika masalah ada di tema, coba beralih ke tema default WordPress seperti Twenty Twenty-Three.
5. Update WordPress
Pastikan WordPress Anda, tema, dan plugin yang digunakan sudah diperbarui ke versi terbaru. Beberapa error mungkin sudah diperbaiki di versi yang lebih baru.
6. Restore File Media
Jika error terjadi karena file media yang hilang, periksa di Media Library dan pastikan file terkait ada. Jika tidak, Anda mungkin perlu mengunggah ulang.
Jika masalah masih berlanjut, berikan detail tambahan seperti cuplikan kode pada baris 795 di media.php, atau plugin/tema yang digunakan, sehingga saya bisa memberikan solusi yang lebih spesifik. ***










