in the plugins page, under each plugins' name usually there are buttons/links like "Deactivate | Edit | Settings". Recently on one of my sites the "Edit" (and "Settings") button has disappeared. I have just "Deactivate" or "Activate | Delete".

My question is - what could cause this?

I am logged in as an administrator, so I should see the buttons. I suspect that something might have vent wrong with the installation of the last plugin but I am not sure.

Is there some scenario when these buttons get disabled (hidden) or do I have a bug / error?


Edit buttons display only when the necessary file permissions are acquired by PHP.


is_writable(WP_PLUGIN_DIR . '/' . $plugin_file)

current_user_can('edit_plugins') will always return false if the DISALLOW_FILE_EDIT flag is set to true (recommended) in the configuration, no matter if you're the administrator or not.


  • Hey, thanks for your answer. It seems that is_writable really sees the files as non-writable. I am now checking with the admins...
    – Priednis
    Mar 14 '12 at 18:58
  • @Priednis Check this for further information codex.wordpress.org/Changing_File_Permissions Also, I highly discourage the use of the editor altogether: codeseekah.com/2012/02/19/…
    – soulseekah
    Mar 14 '12 at 23:55
  • Many thanks for your responses. I managed to get the plugin directories writtable and it enabled the Edit links but my plugin is still not working. I'll check the Changing_File_Permissions link and ask another question if needed. Regarding the editor - I don't need the editor and I don't use it, it (the missing buttons) was just a sign that something was wrong...
    – Priednis
    Mar 15 '12 at 19:09
  • Does you plugin work though? Can you pastebin it all so we can see if there's something wrong?
    – soulseekah
    Mar 16 '12 at 6:22
  • Am a bit [censored] about spending so much time on this, but turns out my server is running PHP4 and the plugin was using __construct() style constructors which are not yet recognized on this version of PHP, so I had to do somehing like function ClassName() { $this->__construct(); } to get it working and now it seems ok...
    – Priednis
    Mar 16 '12 at 15:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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