Just on a side post to our usual jQuery posts I have been using WordPress quite a lot, especially developing it for clients and here are some tips. Out-of-the-box, WordPress is a fairly simple CMS for anyone to learn. But for your non-tech savvy clients it could be a nightmare and a potential disaster to the site you have just built. There are of course many plugins that will achieve the same as these snippets, but with code you get the added control and security, and, in most cases, will not need to be updated.
1. Disabling Plugin Deactivation
This snippet is particularly useful if you have given a client plugin activation/deactivation privileges (allowing them to add new plugins themselves), but the site you have built requires some core plugins to function and should never be deactivated.
The code below will remove the ‘Deactivate’ links from whichever plugins you deem fundamental as well as removing the ‘Edit’ links from all plugins.
2. Disabling Theme Changing
The code below will remove the ‘Appearance’ menu option from the Dashboard. Just like the Plugin Disabling code above, you really don’t want your clients tinkering or experimenting with any theme changes.
3. Disable Top-Level Menus from the Admin Panel
With this snippet you can hide whichever Top-Level Menu (Posts, Media, Links, Tools…) you need to. All depends on your client’s requirements.
5. Restrict Admin Menu Items Based on Username
This snippet will help if in any case you want to restrict client access to certain Top-Level menu items, but you still want to maintain the full menu for the main administrator.
6. Remove Meta-Boxes from Posts & Pages Editor Screens
Probably the main reason you chose WordPress is for your client’s need to begin with. Publishing posts and pages are more than likely key to their business. To help avoid any confusion from within the posts/pages editor screens it could be helpful to remove unused meta-boxes (custom fields, recent comments, post tags…).
9. Removing Default Widgets from the Dashboard
This snippet will remove whichever widget you define from the Dashboard. The majority of the default Dashboard widgets may not be necessary to your non-tech client and could potentially is a disastrous distraction.
Stay tuned for part 2 later on in the week!