WordPress error: You do not have sufficient permissions to access this page

Pasti ada yang pernah ngalamin error wordpress: ‘You do not have sufficient permissions to access this page’. Hmm, kira-kira kenapa yah? Koq tiba-tiba error ‘You do not have sufficient permissions’? Kalau saya sih karena ini:

WordPress yang tadinya lancar jaya, pas mau akses ke wp-admin dan login ke wordpress backend masih belum masalah. Tapi begitu masuk ke salah satu menu WP Dashboard, keluar pesan error ‘You do not have sufficient permissions to access this page‘, kira-kira kenapa yah?

sufficient permissions, apakah file permission tiba-tiba brubah? atau hak user database yang tiba-tiba berubah? permissions nya ada yang ganti/hack kah?

Selidik punya selidik ternyata saya baru saja mengganti prefix atau awalan nama tabel database wordpress saya, secara MANUAL. Prefix database yang tadinya ‘wp_‘ jadi ‘sesuatu_‘. Nah masalahnya prefix tersebut sudah masuk ke dalam tabel WP yang lain, yaitu: ‘wp_usermeta‘ dan ‘wp_options‘.

Makanya ketika mau akses halaman WP Dashboard, keluar error: ‘You do not have sufficient permissions to access‘. Itu karena WordPress membaca tabel wp_usermeta (yang sudah diberi prefix baru) dan tidak menemukan record user dengan prefix yang baru didalamnya, kita harus merubahnya menjadi prefix yang baru supaya tidak ada lagi error ‘You do not have sufficient permissions to access the page

Caranya bisa secara manual mencari record yang berisi prefix lama di tabel wp_usermeta, field: meta_key. Dan di tabel wp_options, field option_name.

Bisa juga pakai perintah MySql berikut di PHPMyadmin kamu:

UPDATE `{%TABLE_PREFIX%}usermeta` SET `meta_key` = replace(`meta_key`, '{%OLD_TABLE_PREFIX%}', '{%NEW_TABLE_PREFIX%}'); UPDATE `{%TABLE_PREFIX%}options` SET `option_name` = replace(`option_name`, '{%OLD_TABLE_PREFIX%}', '{%NEW_TABLE_PREFIX%}');

Contoh:
Jika prefix barunya itu ‘sesuatu_’ dan yang lama itu ‘wp_’, maka SQL nya jadi gini:

UPDATE `sesuatu_usermeta` SET `meta_key` = replace(`meta_key`, 'wp_', 'sesuatu_');
UPDATE `sesuatu_options` SET `option_name` = replace(`option_name`, 'wp_', 'sesuatu_');

Dah! tinggal coba lagi deh di-refresh halamannya. Apa masih keluar error wordpress yang ini: ‘You do not have sufficient permissions to access this page‘ ? Kayaknya nggak lagi kan.

Jangan lupa, backup dulu database kamu sebelum melakukan hal diatas!

Thanks udah baca, silahkan share jika berguna 🙂

Sumber solusi