Bin-Blog logoBin-Blog

Learn about the latest in Web Development – as soon as I do.

WordPress Plugin Killer: The Series

By • Mar 14th, 2009 • Category: Blogging, PHP, WordPress

WordPress Plugin Killer: The Series

My last post about using a bit of custom PHP code in the wordpress template instead of installing a plugin inspired a new way of thinking for me. How many of the wordpress plugins currently in use are actually necessary? Couldn’t we avoid a few plugins by using a bit of custom code?

So I decided to do a series on how to duplicate the functionality of some plugins using PHP code within the WordPress theme/template itself. That way, you can eliminate the plugin – and still get the features offered by the plugin.

The Advantages

The advantages of avoiding unnecessary plugins…

Less overhead/More Optimized Method
If you have installed a plugin, the plugin files must be read and loaded into the memory on every page load. This overhead can be avoided by using putting the code into the template file which is already in the include list.
Don’t have to worry about plugin updates
Granted, current WordPress version make it very easy to update plugins. But still, if you embed the code, then there is no need to update the code every month or so.
Much more customizable than the plugin
You can write the code to get the exact functionality you want. You cannot get that with a plugin.
You learn more about WordPress
This is perhaps the most important effect – you learn more about wordpress template tags, about PHP, about wordpress internals and lot more.

The Disadvantages

Not as easy as using a plugin
For those who work with WordPress and PHP code all the time, like myself, editing the code may be easier than finding, installing and configuring a new plugin. But for most normal people, using the plugin is a much easier option.
Have to be familiar with coding, PHP, FTP, etc.
To do custom coding, you have to be familiar with technologies like PHP, HTML, FTP uploading etc. If you are not familiar with these, you will have to put in a bit of time to learn it.
Changing the theme involves a lot of work.
You will have to port all the changes you made in your old theme to the new theme whenever you decide to move to the a theme. The more you customize a theme, the more time you have to spent when moving to a new theme.

Plugin Killer Series

With this in mind, I have decided to create a series that shows how to ‘kill’ some unnecessary wordpress plugins. You will be able to get the same functionality by using the custom code in your template files.

The first post in this series is already done – it is the ‘Avoid Duplicate Content – Use Canonical URL in WordPress‘ where I showed how to create the same functionality as the Canonical plugin.

More to follow. If you are interested in these posts, make sure you have subscribed to Bin-Blog Feed – if you have not done so already.


16 Responses »

  1. dinu says:

    good job :)
    the author my current theme framework, Justin does this more often .. his themes have built in features … and he offers the same as pluings for other theme users

  2. Binny V A says:

    I didn’t know that. What’s his URL?

  3. Cool, Thanks for explaining about the advantages and disadvantages of unnecessary plugins :-)

  4. [...] those who are new, this is part three of the Plugin Killer series. This series will show you how to duplicate the functionality of the a few wordpress plugins [...]

  5. This series is made for me :) I am a plugin minimalist myself and adopt a plugin only if I cant get it without it. I am gonna closely follow the series.

    As you have said, the learning factor is the most important one. Moreover tweaking code is fun. Code is poetry .. :P

    To tackle the disadvantages its good to make a list of the edits that one makes… I have a list already on some of the WordPress core files..

    Good luck :)

  6. Rich Boakes says:

    An interesting idea, given that themes are as transportable as plugins. I’m not convinced it’s better than plugins, which can be more easily worked on by people with focused expertise, but it’s good to bend the model nonetheless, and templates are way underutilised!

  7. [...] those who came in late, this post is part of the WordPress Plugin Killer Series. This series will show you how to duplicate the functionality of the a few wordpress plugins [...]

  8. Double Cool says:

    You showed me a new concept about WP plugins. I used to be a WP plugins addict. I installed many WP plugins without thinking how they can affect my site. Your post clarify this. Thanks a lot.

  9. [...] can share your blog entries on their Twitter accounts with ease.’ And in the tradition of my WordPress Plugin Killer Series, this post will show you how to do it without a [...]

  10. [...] by the user don’t exist. He listed eight plugins to do this. And since I am working on the Plugin Killer series, it got me thinking – is it possible to do it without using any [...]

  11. [...] After eight posts, I am ending the plugin killer series. It has been a nice run. Hopefully, I have given you an idea of how easy it is to customize WordPress yourself – without having to resort to third party plugins. Not that there is anything wrong with that. Its just that, its more satisfying when you do it yourself. The advantages and disadvantages of customizing a theme rather than installing a plugin is given in the introduction to the WordPress Plugin Killer Series. [...]

  12. Liz says:

    I am not into codes and it really gives me head ache looking at all those codes. I find it convenient to use plug ins, I believe this is for people like me who are not so much into codes.

  13. ShaolinTiger says:

    functions.php in the theme folder is better than Plugins! Problem is when WordPress upgrades break plugin functionality there’s no easy way to update the functions (unless you push out a whole theme update).

    Or your themes use a framework, and you contain the functionality inside the framework.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>