How to make WordPress themes writable
So you’ve uploaded a WordPress theme, head on over to the theme editor to make some changes, and get the dreaded If this file were writable you could edit it message? Not to worry, this is a quick fix. You don’t have to fire up your FTP client and reupload a new template file every time you make a change. You can use the theme editor like everyone else, with just a few quick changes to your file permissions, and I’ll show you how.
- What exactly are file permissions, and what do I need to set them to?
- How to change file permissions via an FTP client (in bulk)
- How to change file permissions via cPanel
Let’s read on…
What are file permissions?
This is a method of administering access rights to certain files of your site. There are 3 types of permissions, read, write, and execute. Each of these types can be defined per a certain user group. These include owner permissions, group permissions, and public permissions. Some host’s security settings do not have the ideal WordPress permissions set by default, you’ll have to add this yourself. You don’t need to worry about all these technical details. All you need to remember is the number: 666.
Changing file permissions in FTP
This is probably the quickest way of changing the file permissions for all of your template files in one swift command. Open up your favorite FTP client, navigate to your template directory (with style.css, index.php, etc.) and select all .php and .css files. Do not select images or subdirectories.
You can press CTRL + A to select them all, and click while holding CTRL to deselect items like images. After selecting the File Attributes option from the menu, you can change all the permissions to 666. You’ll notice the the group and public write permissions will automatically checked off.
After pressing OK all the permissions to the files you selected should be changed to -rw-rw-rw-. You should now be able to edit them via the theme editor.
Changing permissions in cPanel
You can also do this in cPanel, although not in bulk (for the version of cPanel I’m using anyway). Open up the file manager, navigate to the template directory (similar to FTP) and click on the file you want to change permissions for.
Change each one to 666, as before. This could be useful if you don’t have access to an FTP client, or just want to selectively make files writable.
If you can already edit themes in the theme editor, and your files are still set to 644, don’t worry about this tutorial. If it works, it works – no reason to change it. Some hosts may differ depending on their server configurations.
You may see different sources telling you to set everything to 777, which gives everybody full permissions. I wouldn’t recommend this. Although it would work, it may open up security holes on your site. The 666 permissions are just enough for the text files you’ll be editing.
Hope you enjoyed the article. Feel free to comment and share if you liked it.