You do not have sufficient permissions to access this page without any change [closed] You do not have sufficient permissions to access this page without any change [closed] wordpress wordpress

You do not have sufficient permissions to access this page without any change [closed]


Have you changed the prefix of your database tables? I'm 90% sure, that this is your problem.

The thing is that WordPress uses the $table_prefix variable for forming the option and usermeta keys names, where it's storing the roles and capabilities information. So once you change the prefix, but don't update your db, you get this error. Here's how to fix it - execute this SQL command through phpMyAdmin, or a different interface for interacting with your DB(you can do it with PHP as well):

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%}');

Where:

  • {%TABLE_PREFIX%} is your current $table_prefix(as set in wp-config.php)
  • {%OLD_TABLE_PREFIX%} is your previous $table_prefix
  • {%NEW_TABLE_PREFIX%} is your new(current) $table_prefix - it will most-likely be the same as your {%TABLE_PREFIX%}.

So if your old $table_prefix was wp_test_ and your new one is wp_, you would do this query:

UPDATE `wp_usermeta` SET `meta_key` = replace(`meta_key`, 'wp_test_', 'wp_');UPDATE `wp_options` SET `option_name` = replace(`option_name`, 'wp_test_', 'wp_');

EDIT: As @Francisco Corrales noted, if you are having troubles accessing an admin page that you created(if you don't write PHP, this is not your case), you can check out this link: Wordpress Error while developing a plugin -"You do not have sufficient permissions to access this page."


EDIT 2: As @Kasper Souren noted, you might want to add a WHERE clause to the options UPDATE query. Like so(don't remove the % after the last %}):

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


Your problem is not with permission on directories. The fact that you see a "You do not have sufficient permissions to access this page" message means three things :

  1. you are trying to access an admin page directly but not through wp-admin (so please indicate which admin page you are trying to access),

  2. you are already logged in (otherwise you would be redirected to /wp-admin) and

  3. the area you are trying to access is reserved for a higher level of user (so you might be connecting with an editor account whereas the area is only accessible to administrators).

Can you tell us if your local database and the online database are the same? Can you log in properly before you see this message?