Error Widget.php di Wordpress
Saturday, January 3rd, 2009Posting ini saya buat sebagai dokumentasi problem yang terjadi sehingga membuat chevotland jadi error, karena siapa tahu anda sedang mengalaminya atau sekedar sharing apakah anda pernah mengalami widget.php di wordpress anda error dan langkah2 apa saja yang anda lakukan untuk memperbaikinya.
Error pada widget.php di blog/wordpress saya terjadi ketika saya akan menambah link tetangga blogger di blog saya, sehingga muncul tulisan :
Warning: array_keys() [function.array-keys]: The first argument should be an array in /…/wp-includes/widgets.php on line 686
Warning: Invalid argument supplied for foreach() in /…/wp-includes/widgets.php on line 686
Error ini menyebabkan seluruh isi dari sidebar sebelah kanan blog saya hilang semua termasuk link teman2 saya, selain itu saya juga tidak bisa melakukan penambahan widget pada sidebar, sehingga saya tidak bisa ngeblog selama beberapa waktu..hiks.
Setelah coba googling akhirnya saya menemukan beberapa cara untuk memperbaikinya :
Pertama
Edit file widget.php yang error tersebut, caranya anda buka file manager, lalu buka public_html, lalu buka wp-includes, lalu edit widgets.php.
Kedua
Setelah anda membuka widget.php anda pada menu edit html, lalu tekan ctrl+f untuk pencarian kata, lalu masukkan keyword “never never never”. ada sekitar 3 baris yang terdapat kata-kata ini, pilih baris yang paling awal dari script widget.php tersebut.
Ketiga
Setelah anda menemukan baris tersebut, naiklah ke beberapa baris hingga Anda menemukan baris yang diawali dengan kata “foreach”.

widget.php
Blok script yang seperti script di bawah ini, lalu hapuslah:
foreach ( array_keys($options) as $o ) {
// Old widgets can have null values for some reason
if ( !isset($options[$o]['title']) || !isset($options[$o]['text']) )
continue;
$id = “text-$o”; // Never never never translate an id
wp_register_sidebar_widget($id, $name, ‘wp_widget_text’, $widget_ops, array( ‘number’ => $o ));
wp_register_widget_control($id, $name, ‘wp_widget_text_control’, $control_ops, array( ‘number’ => $o ));
}
Setelah itu cobalah buka lagi blog Anda di jendela lain. Jika tidak ada pesan error dan tampilan Blog anda sudah kembali normal, maka perbaikan pada widget.php anda telah berhasil dilakukan.
Oh iya..tujuan Pengeditan widget.php ini adalah untuk mengsinkronkan kembali file-file script lainnya.
Setelah sinkron, Langkah selanjutnya anda tinggal mengupload ulang widget.php anda atau menginstal ulang wordpress anda, tapi saran saya lebih baik anda melakukan upgrade saja ke versi wordpress yang lebih baru, seperti yang saya lakukan dengan mengupgrade ke versi wordpress 2.7.
Tags: error pada widget.php, widget.php, wordpress




