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.
4. Disable Submenus from the Admin Panel
This code will help if your client doesn’t need the drastic action taken by the above snippets, and only needs some key sub-menu items disabled/hidden.
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…).
7. Remove Pages Columns
Adding this code allows you to remove whichever column from the ‘Pages’ page you feel are not necessary to your client.
8. Remove Posts Columns
Similar to the snippet above, this code will remove columns from the posts page.
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.
10. Create Personalized Dashboard Widgets
This snippet will create a simple ‘Hello World’ widget, and can be easily edited to your own specifications.
Stay tuned for part 2 later on in the week!
Sam Deering has 15+ years of programming and website development experience. He was a website consultant at Console, ABC News, Flight Centre, Sapient Nitro, and the QLD Government and runs a tech blog with over 1 million views per month. Currently, Sam is the Founder of Crypto News, Australia.