I love WordPress. I love its user-friendliness and how easy you can get it installed and running within 5 mins. I love its extensibility and the plugin system that enable us to increase its functionality without any coding needed. However, despite all the love, WordPress is not perfect. There are plenty of times where you will wonder why a simple and basic feature is not included in the WordPress core and you have to go hunting for plugins/hacks/solutions just to solve a simple problem.
Take this as my letter to WordPress (and Matt Mullenweg) and I seriously hope they can add the following features to the core in the future.
1. Database Backup/Export/Import
Being a database driven CMS, I am surprise that the default WP installation does not come with a way for you to backup your database. The Export feature is almost useless as it contains only contain your posts, pages, comments, custom fields, categories, and tags and none of the database settings that you have painstakingly set up over the years. And if you have a big blog (with tons of content), I can assure you that the Export feature is not going to work very well.
With a native database export/import function, it will be easy for the end users to backup their database and also to migrate to another server without any loss of settings.
2. Contact Form
Contact form is a simple, yet essential component for every website, yet WordPress doesn’t think it is important enough to include it in the core. End users who need to create contact forms have to resort to plugins like Contact Form 7, cFormsII to create contact form for their sites. Most CMS come with this contact form creation capability, so why not WordPress?
3. Disable display of wp version in the meta tag
Everyone knows the risk of placing your wp version in the <head> tag, except for the WordPress team. Instead of removing the versioning from the meta tag, they make it appear automatically (whether you like it or not) since WP2.5 and does not provide an easy way for you to remove it. Can you imagine installing a plugin just to remove the wp-version tag? What a waste of resources.
To remove the wp version from your meta tag, you can add the following hook to your theme’s functions.php file
add_filter( 'the_generator', create_function('$a', "return null;") );
4. Changing of wp table prefix during installation
WordPress uses wp_ as the default database table prefix and we all know how dangerous that can be. Most people don’t change the table prefix simply because they don’t know how to, or they are not able to (if installed via Fantasico). Yes, I know, you can change the table prefix in the wp-config.php file before installing, but how many people really do that? In my opinion, during the installation process, there should be a field for the users to specify their preferred table prefix.
For those who wanted to change their current wp table prefix, here’s how you can do it.
5. More control over the user roles/capabilities
Have you ever wondered what is the differences between an Editor, Author and a Contributor role? I would appreciate if there is a small paragraph within the User section that explains the capabilities of each role, or a simple link that points to the WordPress documentation site.
In addition, there are plenty of time when we need to limit (or expand) the capabilities of a particular role and there is no way to do that in the native WordPress installation. Users have to use the role-manager plugin to change the capabilities of each role.
6. Choose your own admin username
The default username for administrator is, as you have guessed it, admin. Is it so difficult to let the users choose their own administrative login name during the installation process?
7. Support for mobile devices
WordPress.com realized the importance of mobile visitors (more than 60 million page views come from mobile phones per month for WordPress.com blogs) and have activated a mobile theme (to be more precise, the WpTouch plugin) for mobile users. The mobile support feature is integrated into WordPress.com and users can choose to enable/disable the mobile theme in the settings.
Isn’t it time for the users of self-hosted WordPress to get the same treatment too?
What’s your say? What other features do you think should be included in the WP core?
Image credit: Peregrino Will Reign