How to create a WordPress feature plugin

Home » Blog » WordPress Development » How to create a WordPress feature plugin

Do you want to create a custom plugin for WordPress?

A WordPress plugin allows you to add new, custom functionality to WordPress. They give you the power to change and customize anything and everything about WordPress.

In this guide, I’ll help you get started with building custom plugins. It’s really easy!

How To Create Your Own Custom Plugin For WordPress

Here’s the first thing you need to do to create a WordPress plugin: Create a folder for your plugin inside your WordPress installation’s plugins folder. The plugins folder can be found inside the wp-content folder.

You can name your plugin’s folder whatever you want.

Now, create a PHP file inside it with the same name. If you named the folder my-custom-plugin, then the file’s name will be my-custom-plugin.php.

Now comes the most important part! You need to create your plugin’s header.

Your plugin’s header is a multiline comment on top of your plugin file that describes your plugin. This is what it looks like:

 * Plugin Name: My Custom Plugin

Although Plugin Name is the only field necessary, there are a few other fields that you can use to add details to your plugin.

If you followed my instructions, after saving this file, you’ll see your new plugin on the Plugins page of your WordPress admin dashboard. Click the activate button under its name to activate it.

Here are some of the other fields you can add to your plugin:

  • Plugin URI — Your plugin’s website where people can get more information. Displayed in the plugins list.
  • Description — A quick description of your plugin. Displayed in the plugins list.
  • Version — The current version of your plugin.
  • Requires at least — The minimum WordPress version this plugin requires to run.
  • Requires PHP — The minimum version of PHP your plugin requires.
  • Author — Name of this plugin’s amazing author!
  • Author URI — Plugin author’s website.
  • License — The license under which this plugin is released.
  • License URI — Website or page on your website that explains this license’s terms.
  • Text Domain — The text domain used when translating this plugin.
  • Domain Path — This is the path where translation files are stored.
  • Network — Set to true if this plugin can only be activated network-wide.
  • Update URI — If your plugin shares its name with another plugin in the WordPress directory, you need to set this URL to your website. OR WordPress will update and replace your plugin with the plugin directory version of the plugin.

Pro Tip: Use our free Plugin Header generator to quickly generate a plugin file for your project… 🙂

How To Package Your Plugin For Other Users

You only need to do one thing to package your plugin: ZIP the folder containing your code.

If your plugin’s folder’s name is my-custom-plugin, then you need to create a ZIP file of that folder. Not a ZIP of the files in that folder, but a ZIP of that folder.

That’s it! Now, you can distribute your plugin to other people. All they have to do is go to the Add New plugin page of their WordPress dashboard and upload this ZIP file from there.

How To Create a Mu-Plugin

A mu-plugin is a must-use plugin that cannot be removed from WordPress unless its files are deleted from the disk.

A mu-plugin is useful if you build WordPress sites for your clients. This way you can make your custom plugins mu-plugins, and your clients won’t be able to disable them.

These are plugins stored in a special directory called mu-plugins. This directory doesn’t exist by default.

To create a mu-plugin, simply create the directory mu-plugins inside the wp-content directory. Then, place your plugin’s folder inside it. That’s it!

This plugin will be active now. Your users won’t be able to remove it.

There are some drawbacks to consider when creating a mu-plugin. Read the WordPress documentation to find out.


When I created my first WordPress plugin, I was excited because it opened up the door to so many new opportunities. I hope this tutorial helped you get started on your plugin development journey!

Leave a Reply

Your email address will not be published. Required fields are marked *

Register an account to save your snippets or go Pro to get more features.