Demistying WordPress Plugins For Your Blog

Plugins – What Are They And What Do They Really Do?

If you search for the term WordPress plugin on Google, you will get more than four million entries. Plugins are an important part of the WordPress system. In this post I will try to deconstruct what is a plugin and how does it help one to enhance WordPress functionality to suit your needs.

So what exactly is a plugin?


Generally plugin is a set of file(s) or modules which contains code that enhance the functionality of a system. For example, if you want your blog readers to export your blog posts as PDF you can use a plugin to do that. The maker of the software where these plugins are used are often not able to create functions that suit every other demand of the user of the product. This is where plugins come into place. They help developer outside of the standard WordPress development to create modules that help to enhance standard functionality.

So how does exactly plugin hook into the main software?

Plugins are set of files in a folder or multiple folders located at a specific folder ( for example “plugins” folder in WordPress) of the software. The main software provide for hooks which allow plugins to latch onto the data and modify it or add some data of their own.

One example could be adding of social media button at the end of content.

WordPress provides a “hook”  called as ‘the_content’ ( also called as filter ) . The plugin subscribes to this filter by just adding one line to its code


That’s it!! The function is ’function_to_output_or_modify_content’ is now connected to the WordPress and will receive content and after modification ( adding a social media button at the end of content returns the content back to WordPress

Function  function_to_output_or_modify_content ( $content)


Return $content + “social media content”;


Often WordPress provides a location (header /content/sidebar) to add some html code . The HTML code can be placed on the location by something called as the “action”. Remember, no data is passed to the action and no data is returned from it.

For example to add some information to WordPress header, ‘wp_head’ hook is called.


Function some_function()


Echo “‘Hello Friend’;


All the plugins that exist for WordPress need to use either a filter or a hook to change the data provided by WordPress.

So what exactly is the benefit of plugins? plugin benefits

Plugin help to expand the working of current software system ( in this case WordPress) by making it feature rich and also by providing enhancement to WordPress to suit any business need.

What are plugin settings API?

No plugin can just work without providing options that help an end user to configure the things plugin do with data. It could be a number of options for example in the PDF example above to allow only logged in users to download PDF of the post. The plugin settings provides a way for plugin developer to create admin pages and add  options to plugins which provide enhanced feature of the plugin.

More on WordPress plugins API

What role does Javascript play in plugins?

Javascript is a language that is executed on the client side i.e. on the person’s browser who has request the web page by typing the URL on the address bar. Javascript can be used to enhance the experience of the user. For example you have a feedback form on your website. Before you send the form back to the backend, you can validate if the information that is being sent is correct on the browser itself. On heavily loaded servers saving any round trip is very useful both in terms of bandwidth and server load.

WordPress typically uses a library called as JQuery. JQuery has been written in javascript and often serve as platform independent code giving the website same look and feel across multiple browsers and systems. The discussion on JQuery is out of the scope of this article.

If you see too many Javascript files being loaded while calling the page, you can use a cache plugin like WP Super Cache or W3 Total cache to combine them and deliver as one file.

What is a plugin conflict?

A plugin conflict may happen when different plugin use the same name to represent different kind of work. For example save_error is a very common name for a function. If two different plugins from two different vendors use same name as functions to execute similar task, the server will throw up an error.

It is thus responsibility to name the functions ( and classes ) independently for example by tagging them with their own namespaces ( share_juice_save_error is different from another_plugin_save_error).

How can plugin’s performance be measured?

P3P plugin gives a fair idea of plugin’s performance. However you can only know the performance of the plugin when you own the server and there are no other sites competing for the same resource ( CPU, bandwidth). It is not easy to determine performance of individual plugins as there are many factors in the play. The onus is on to developer to reduce database queries and other things to reduce loading time as far as possible. Always make sure that you are using the plugin from reliable sources and authors and take backup before you install the plugin.

Finally, can I code a plugin?

Yes, one needs knowledge of PHP and WordPress API to code a plugin. If your plugin does something on the browser, you will need to learn javascript. Once you know them , coding a plugin is quite easy.


Have you ever tried to make your own plugin via a code?

Top image via Image courtesy of Danilo Rizzuti at

2nd image via Image courtesy of Boians Cho Joo Young at

Ashvini Kumar Saxena is an entrepreneur and blogger. He writes at his blog He loves to write on entrepreneurship and the ideas related to startups and business. He has written three books ( one fiction and two others on entrepreneurship). He is also loves technology ( especially coding) and has created two WordPress Plugins (Share Juice Pro and Comment Juice)

51 comments On Demistying WordPress Plugins For Your Blog

  • I like your idea of a “silo document”. What a great way to organize where we’ve used what keywords, etc. Usually I have a checklist that I go by, but not anymore, Thanks to you!

  • WordPress is surely a great platform and there are many plugins that make it a lot more powerful.
    I am a complete noob when it comes to php and the plugins are all coded with php language. So whenever anything happens with my blog, I just can’t find out what thing is causing it.
    Maybe now I would be able to see if the problem is caused by plugins or some other things.
    Arbaz Khan recently posted..Top 5 Best Cydia Themes for iOS DevicesMy Profile

  • Hi Ashvini,

    The topic is very interesting and important. My principle is always the same: “Less plugins and more code”. Unfortunately, I don’t know php or other programming language.

    I think you should consider creating a course in this field. Something like: “Coding for beginners“. Here you may take the fundamental concepts: calls, functions, hooks etc. and explain them. You can make then another course, more sophisticated, that details the first one and adds a lot more. You may offer the first as a free gift on your site and sell the second.

    However, you should be aware of some important things. In the coding world there are many serious people who work hard every day to create all kind of products: plugins, themes etc. Most of them are smart people who know very well what they are doing.
    However, when they start to explain to other people the content of their work , huge difficulties appear. Most coders, programmers etc don’t know how to explain things. They usually assume that a lot of people understand what they are talking about and many things are known. This is rarely the case.

    Real success comes for those programmers that have the ability to explain what they are doing in a simple, intuitive language that most people can understand. What do yo need for this? Well, in my opinion, a good learning sequence for the masses should be:

    1. short
    2. intuitive (sometimes drawings, graphics, pictures must be used to illustrate the concept)
    3. step by step
    4. from simple to complex
    5. With no gaps (never assume something is known).

    If you can do this, you will be rich.

    To your success
    Silviu recently posted..WordPress Database Optimization Basics. Drafts and RevisionsMy Profile

  • The Great Ashvini!

    How are you doing bud? Great to see you here. You are doing amazing things for so many people. I know you and I have been working on my issues of late. I had no idea how simple it was to build a plugin. I personally do not know PHP but I’m sure if I sat down and really learned it, I could pick it up. I’m blessed to know you and thank you for what you do! Great tips here bud! 🙂
    Nate Leung recently posted..Internet Marketing Tips: The Golden Rules For a Successful Blogging ScheduleMy Profile

    • Hi Nate,

      Great to see you here as well . Coding is never ending work. One solution leads to often to another problem ( you know it well 😉 ).
      PHP is easy to learn ( really easy) but the easiness has some costs related to security. If you read about PHP also learn something about security aspects as well.

      Best of journey 🙂
      Ashvini recently posted..Adding value to set yourself apart from crowdMy Profile

  • Hi Ashvini ..

    That is very nice you have written. I often keep on listing about plugins but truly I didn’t know the actual meaning of plugin that what the plugin is. Your article has made me understand in a very good way.

    I know about PHP but I don’t know about Java Script and I was thinking that i should learn Java script and now I’m found by learning it for coding of the plugin.

    Thanks . Have a nice weekend.
    Bilal Malik recently posted..Hum B Baray Nayab ThayMy Profile

  • Hello Ashvini,
    Welcome to Lisa’s blog man, though I cam late but, thank God I finally read your post :). I must confess that you’ve written a very interesting article here and I enjoyed every bit of it.

    One of the main reasons why wordpress is the king of CMS is because of its use of plugins and, that’s also why I love it.

    Having the knowledge of PHP is very necessary for anyone and, that’s the next skill I look up to obtaining.

    Thanks for sharing this amazing post man, really awesome :).
    Theodore Nwangene recently posted..Top 19 Lessons I Learnt on My 25th Birthday and How They Can Help You TooMy Profile

  • Hey Ashvini,
    Plugin is very important thing for all of us but truly speaking I don’t know that much about plugin but after reading this post, it really increased my knowledge . i never thinking of code my own plugin but after reading this post i love to do it at future. Thanks for sharing this informative post with us.
    Sudipto recently posted..WeChat for PC Windows 7 Free Download, We Chat for Computer MacMy Profile

  • Hello Lisa,

    That was great and detailed post about plugins, It’s true that plugins are really helpful and make the thing easier and faster. Actually i was thinking ot build my own plugin or learn from scratch.

    Thanks for the helpful resource.
    Kuldeep recently posted..Top 3 Facebook Proxy Login Sites to Unblock Facebook AccessMy Profile

  • Hi Ashvini,

    It is good to see you here on Lisa’s blog! Now, I have no technical knowledge and really do shy away from this stuff. But you have given me a better understanding of what plugins do. If a new plugin comes out I ask someone to do it for me. That’s how bad I am with this he he.

    It was really great to read this because now, I have a better understanding of how things work. You have made it simple to understand and I thank you.

    Donna Merrill recently posted..Seven Social Media Tips For WallflowersMy Profile

    • Hi Donna,

      I think a lot of people would like to know a little bit about workings of a plugin even though they do not ever intend to code it. Having some knowledge makes it easy to understand errors and act upon them.
      I have tried to simplify it as much as possible and I hope I was able to help :).
      Ashvini recently posted..Running after the fadsMy Profile

  • Hi Ashvini, How great to see you here at Lisa’s site!

    Thanks for the explanation of plugins. I now understand them better though I still couldn’t code one. But this is really helpful for me to at least get a working knowledge of what goes into them.

    I think you probably inspired a bunch of people to try their hands at plugins. Well done!
    Carolyn recently posted..edX – Get Schooled by Top Universities for Free!My Profile

    • Hi Carolyn,

      Thanks :). Armed with this knowledge , I think you are ready to take Share Juice into your fold :D.

      I am glad that you liked it . Maybe I would write a little bit more in next guest post about plugins .
      Ashvini recently posted..Running after the fadsMy Profile

  • Hey Lisa,

    WP plugins can be so ‘ify’. I use to think nothing of installing plugins until I ran into my first problem. Of course they’re not all coded very well and they can really slow down your blog, not to mention they can compromise your blog’s security.

    Your best advice is to make sure you use plugins from reliable sources and authors and of course do a backup before installing anything new.

    I haven’t tried to create my own plugin, that’s a bit more technical than I want to get but it probably wouldn’t hurt to have that technical knowledge, Instead I just try to be really careful and make sure the plugins that I install are secure and safe and that any plugins I’m considering are truly necessary and provide a useful function.


    • Hi Liz, Yes, always backup, I almost lost the entire website once from a plugin 🙁 I wish I could create my own someday – maybe I will put that in my bucket list for the next 5 years 🙂 Ashvini did an awesome job explaining this one to us. Thanks for coming by and have a wonderful weekend ahead Liz.
      Lisa recently posted..Demistying WordPress Plugins For Your BlogMy Profile

  • It has been a great help for me Ashvini. Its been great to get so much information about Plugins from your article. You have cleared almost everything about plugin here. I’ve chosen WordPress just because it had thousands of Plugins which can reduce your work load by a significant margin. You will get number of plugins for performing a single task, this is what makes your life easy while being with WordPress. I have learned a lot from this article specially the plugin conflict thing as it was quite new for me. Thanks for sharing this beautiful article with us.
    drakes recently posted..Whatsapp for PC Download, Whatsapp for Windows 7/8/Vista ComputerMy Profile

  • Hi, Ashvini. While some people are scared of code, I’m scared of plugins. I’ve worked on too many sites that were weighed down by every plugin and his brother.

    I’ve done a little plugin work, mostly custom for a specific site. Planning to do another one today for a custom post type. Should be simple enough. I don’t think I could keep up with the development and security necessary for a public plugin. But I have the greatest respect for the better plugin developers (the ones that can create smooth code that don’t weigh down a site).
    Leora recently posted..Website Checklists and Blog Backup PlansMy Profile

    • Hi Leora,

      If you can code, there is absolutely no reason to feel scared of plugins.

      The most troubles some part about plugin is keeping track of what one is doing. RIght now I have two parallel tracks running for Share Juice Pro. One is the public release and another is special release . Now the main thing is to keep the development consistent. Fortunately Tortoise SVN is very handy to use.
      You may like to read about it if you do consider plugin development.
      Thanks and best regards
      Ashvini recently posted..Running after the fadsMy Profile

  • Hi Ashvini,

    A very good post about wordpress plugins. When I joined the wordpress community a couple of months back, it was really difficult for me to understand all this terminology but I learned slowly. I wish, could have got such a post earlier as it could have saved my time as I searched all around to collect and understand the concept behind plugins.

    I hope, your detailed post about plugins is going to help other new bloggers joining the blogging world. Thanks for making the things easier and simple to understand for everyone.
    Ashutosh Kasera recently posted..Google HummingBird Algorithm Update to Collect Nectar from InternetMy Profile

    • Hi Ashutosh,

      Thanks for the comment :).
      I am glad that you liked it. I know the technical terms are often very very troublesome and we all wish that someone explain to us.
      I hope I was able to achieve that :).
      Ashvini recently posted..Running after the fadsMy Profile

  • Ashvini, Thanks for this post on Plugins. WordPress would have been much more complex to maintain but for the help of the plugins. For users like us who are not HTML/PHP savvy, it is easy to work on WordPress blogs without running into hitches so often.

    However, plugins (especially the free ones) are sources of security concern for blogs; and from the little research I have made, it is wise to avoid them if possible. But for economic reasons, a lot of bloggers still make do with free plugins just to help themselves.

    It looks like updating is a major issue with plugins too, because I have found out that some of them are not updated for upwards of 2 years or more. This in itself is quite risky especially with the recurrent hacking challenges.

    Deleting plugins and getting rid of their tables is also another challenge that newbie bloggers face. This remnant left behind causes a loading problem. It would have been better if there were a better way to programme these plugins to be deleted totally without leaving stumps behind that eventually become sources of worry for the end user.

    Incompatibility also is a pain in the neck. Sometimes you activate some new plugins and your entire site goes blank or you are shut out completely. Perhaps it would help a lot if there were a way to prevent this. Maybe the plugin refusing to activate if the platform does not suit it or if there are other plugins that are incompatible with it.

    Nevertheless, plugins still remain a pivotal part of WordPress blogs, and their usefulness outweighs the challenges they pose. Thanks once again for this post. Do have a nice weekend ahead.
    Efoghor Joseph Ezie recently posted..How You Can Make Money From Home on Mygigerr My Latest WebsiteMy Profile

    • Hi Efoghor,

      I agree that a lot of plugins have not been updated. I think the main reason is that authors do not get compensated for the work that they do . It is a great thing to upload a plugin and feel great but weariness of updating it all the time eventually takes over. That is why probably people abandon the plugins . I think there needs to be a mechanism, like group funding of plugins and authors who develop plugin can be compensated. A steady stream of income will help plugin developers stay motivated and develop it.

      Yeah tables are a problem and I admit that there are no easy ways to remove tables from installed plugin. However if named right, a manual drop table should be easy thing to do. But empty or unused tables do not impact any performance. Yes the database may look ugly but unless tables are queried or written , they have no impact on performance. However I feel that wordpress can provide a better mechanism of adding and cleanup after deletion.

      Thanks for your views. I really enjoyed reading them 🙂
      Ashvini recently posted..Running after the fadsMy Profile

  • Hi Ashvini,
    Thanks so much for this simple intro to plugins. I am a web developer so had seriously considered writing one of these babies in the future. Just gotta find the inspiration and time. But the ideas are certainly not new to me, however I had not investigated the API they provided and how you hook into the right places – so thanks :>
    Ashley recently posted..Fanciest Author Box ReviewMy Profile

  • Hi Ashvini,

    Great information. Thanks for posting this. How many plugins is too many plugins? I have 14.
    Lauren recently posted..30 Days of Photographs IV: Happily Ever After Dog and CatMy Profile

    • Hi Lauren,
      Thanks 🙂
      There is frankly not any number for number of plugins you can have. If plugins are all optimized and working good, you can have as many as you want ( provided on how much resource your host provides ).
      But a good number would be not more than 25-30 for a shared host. But I have seen sites with much higher number and they too seem to be running fine.
      Ashvini recently posted..Running after the fadsMy Profile

  • See Lisa, isn’t Ashvini just the smartest guy ever! Okay, I’m pretty partial to him I agree but man he really does explain things well because we all just think okay great. Add this plugin and everything is well but we don’t have a clue how any of this works or why some plugins don’t play nice with others.

    I only wish I knew half of what he did because I think it would be awesome to create a plugin but that’s what I have Ashvini for! lol…

    You did a great job my friend of explaining this even if I don’t understand it all. That’s okay, you always come to my rescue when something is a little over my head and you explain it so that I can comprehend it more.

    I have learned so much since coming online and I thank you for a lot of that.

    Really appreciate this post Ashvini and thank you Lisa for having him with us this week. Great job you two.

    Adrienne recently posted..How To Build Relationships Through BloggingMy Profile

    • Hi Adrienne,

      Thank you for all the kind words :).
      I am sure you can create a plugin if you set your mind to it . But I feel that you are already doing a great job of helping fellow bloggers and my plugin is just an asset to help you in that. That is how we all grow , isn’t it .

      Hope you are doing fine.
      Ashvini recently posted..Running after the fadsMy Profile

    • Adrienne, he sure is! After the last post I did on plugins and he responded I asked him to do a post for my readers on this. I feel like you too, I wish I knew of what he knows. Thanks for introducing him and have a great rest of the week Adrienne.
      Lisa recently posted..Demistying WordPress Plugins For Your BlogMy Profile

  • Hi,
    This is great technical post which help me a lot in getting more interest in coding. Plugin makes your work easier but but they also low you site load time. Thanks for sharing it.
    Muhammadsaleem recently posted..Are You Finding Short of Ideas or Short of timeMy Profile

  • I think the fact we have the plugins available for us to help our websites function better is a plus. Plugins can be used for some many different things it’s really amazing. Thanks for the helpul read.
    RobG recently posted..Quick Update About My ProjectsMy Profile

  • Hello Ashvini, you are truly a source of inspiration to many upcoming bloggers like me, this post really sparked off something new in me, and I begin to have deeper passion to become more creative in doing whatever I do. Your concept, your style are all born out of creativity. Coming to your blog is my daily delight and as a learner, I have been positively affected by you and your blog.

    I have recommended your blog to my friends, I am too sure they will be very happy to subscribe to your updates; on my part, I will always be here to support and promote your blog in every possible means.

    I deeply appreciate your influence on me to become more committed to my blogging career, once again, thank you from my heart. Remain blessed!

  • Hi Lisa,

    I had never read a blog post that explains plugins as well you did here. My my my! You did a great job of describing the function of all those complicated things.

    I remember the first time I heard the term plugin I had no clue what it was and what it was for. Of course since then I got an idea 😉 but you given all the details here.
    Sylviane Nuccio recently posted..5 Steps That Help Me Write Some 7,000 Words Per WeekMy Profile

  • Hi Ashvini.

    First time visiting to your blog. You have explained the concept of plugins very nicely. Plugin is the tool to customize our site and you detailed about it. A well written article with nice explanation.
    Sugam Kumar recently posted..Lenovo Vibe Z and Vibe X Announced TodayMy Profile

  • Hi Ashvini !
    I have good knowledge of PHP , MYSQL and JQuery .Once my blog has at-least 500 posts ..i’ll work on some plugin related projects that i’ve thought of . Thanks for sharing the information .

    Pramod recently posted..Maxx AX5 and Maxx AX50 Price,features & Full DetailsMy Profile

  • While I happily use many (too many?) plugins, I don’t have the knowledge or desire to construct one. I have great admiration and appreciation and gratitude, however, for those who do. Thanks for the informative post, Ashvini, and thank you, Lisa, for hosting it. 🙂

  • Hi Ashvini, and good to see you at Lisa’s blog 🙂

    That’s a wonderful explanation about what a plugin is actually because one keeps hearing about the various plugins and how our blogs load time is affected because of that, but to know what it is all about is another story altogether.

    But, I’d run far off from those scary codes! Or perhaps I’ve never really dealt with any, so the fear is there. Nevertheless, I know some bloggers are good at it, and how minor tweaks can make a major difference to their blog. So, this is great info indeed.

    Thanks for sharing. Have a nice week ahead, both of you 🙂
    Harleena Singh recently posted..5 Golden Tips On How To Deal With AngerMy Profile

    • Hi Harleena,

      Thanks for your comment.
      The coding part can be scary to people who have not been exposed to it :). Knowing a little bit of concepts can always help. I tried to simplify plugin development in this article as much as I could . Hopefully I will be writing another post where I can delve a little bit more deeper about PHP, WordPress and how everything comes together.

      You too have a great day 🙂
      Ashvini recently posted..Reviving a falling businessMy Profile

    • Thanks Harleena, I can’t believe this week begins October too. I’m fearful of those codes too which is why I asked Ashvini to write about it for us 🙂
      Lisa recently posted..Demistying WordPress Plugins For Your BlogMy Profile

  • Hi Ashvini

    I’ve not tried to code my own plugin yet but it’s something I’d love to do in the future.

    I’ve been learning CSS and I’ve found that really enjoyble so I thought I’d give PHP a go next.

    I’ve had a few run ins with plugins that have a conflict. The most recent one took my blog down for a few hours! I thought I was helping to reduce bandwidth with the plugin but it caused a huge problem with CPU usage.

    Great to see you over at Lisa’s blog.

    Tim Bonner recently posted..Share Your Best Blogging TipsMy Profile

    • Hi Tim,

      Glad to hear from you.
      Yes CSS is exciting as well as frustrating too. It is quite difficult to make a CSS that works the best for all resolutions and all OSes.
      With the open source , the chances of conflicts within plugins/themes are quite high. It is important to use namespace to separate your plugin from conflicting with others.
      Its sad to know about the CPU usage issue. Unfortunately there is no way to test a plugin for usage of CPU until it has caused a problem ( as big as you faced). The only way plugin developer can ensure good performance is by minimizing data writes to database. PHP as such is quite performing.
      Best wishes for your PHP journey 🙂
      Ashvini recently posted..Reviving a falling businessMy Profile

  • Hi Ashvini,
    Thanks for the technical post here on Lisa’s blog

    My very first plugin was CashDonator. I’m quite comfortable with PHP stuffs so doing this plugin, though being my first attempt was not a too hard wall to break.

    One of the things I’m so concern about is the load speed. Though security is a main issue too, I find out that most of the plugins we have add a lot more weight on our blogs and this is what Google and other search engines hate. I have done CashDonator with very little or no frontend javascript code. This makes it very light.

    I’m gradually working on transforming Viralbird to a plugin but that’s not coming on so soon

    Thanks for the post and do have a wonderful week
    Enstine Muki recently posted..Paid Guest Posting – Exactly how I got paid $100 per guest articleMy Profile

    • HI Enstine,

      Yeah , you told me about your plugin :).

      Security is very important and unfortunately sometimes there are loop holes that can be left even after careful analysis. It is important that we find them and close them at the earliest.
      Also loading time is an issue, if the plugin makes a lot of database operations. The key is to minimize them . The best thing is to run the plugin inside a local machine and use xdebug profiler to determine the bottlenecks.

      Thanks for your inputs. Really appreciate them .
      Ashvini recently posted..Reviving a falling businessMy Profile

  • Hi Lisa,

    Thanks for giving me this opportunity. I hope your blog readers will find this information useful and they will be better informed about what a plugin does and how it functions.

    Thanks and have a great day.
    Ashvini recently posted..Reviving a falling businessMy Profile

Leave a reply:

Your email address will not be published.

CommentLuv badge