WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have the latest, version 3.1.2 and have multisite installed. I have debug on true for testing purposes. I get the follow error when I install plugins.

Where and how do I fix this?

Error: Notice: has_cap was called with an argument that is deprecated since version 2.0! Usage of user levels by plugins and themes is deprecated. Use roles and capabilities instead. in /home/mysite/public_html/wp-includes/functions.php on line 3387

thanks in advance!

share|improve this question
A Plugin is using a deprecated function and/or function argument. You should file a bug report with the Plugin developer. WPSE shouldn't be used for reporting bugs. – Chip Bennett Aug 5 '11 at 14:43

You are fine , its the plugins who are bad! some plugins have not been updated and are still using User level as capability when adding menu pages instead of capability, for example

 10 = manage_options = admin

take a look at this thread to understand better.

share|improve this answer
Thanks for the answer;) See this thread for reference: wordpress.org/support/topic/… – user5188 May 7 '11 at 4:09

Yes, there are two places to check for this error -- one is when adding a menu / page as in 'add_options_page', and the other is when explicitly checking the capability with current_user_can and its like.

Also, a plugin should not use roles -- it should use capabilities. So for the function I just mentioned 'add_options_page', the capability is probably 'manage_options'.

Roles are for the user to have, which are a grouping of capabilities.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.