WordPress maintenance or security needs? Reach out!
TLDWP

Plugin: plugin-builder (Used by 7 domains)

Security snapshot

Across the 7 plugin-builder sites we've scanned, compared to the all-WordPress average.

Grade A 0% Grade B 0% Grade C 0% Grade D 14% Grade F 86%
Fail the header check (F)86%vs 82.6% avg
Leak usernames71%vs 38.5% avg
Expose a sensitive file0%vs 1.8% avg
Use HTTPS86%vs 96.1% avg

Plugin Builder

This is a plugin for WordPress plugin developers. If you don’t understand what PHP, HTML, CSS, add_action and apply_filters are then this plugin is not for you!

The WordPress Plugin Boilerplate is a fantastic tool for standardising WordPress plugins, and encouraging developers to use best practices. But manual editing of every file to enter the name of the plugin, the author name and all the other metadata is a bit of a chore. This plugin automates that process, giving you a simple form to enter your metadata, then when you hit the ‘Build’ button your new plugin is created with all the correct metadata.

But there’s more. You can also define Custom Post Types and even other custom classes which will have .php files created automatically, and all the relevant code to include those files in your plugin. Once your plugin is built you can, of course, edit the files in any way you want to add extra methods.

Plugin Builder will even create a manager class for your Custom Post Types if you want, as a place to store methods related to your CPTs – such as a get_all() method, for example.

And that’s not all. Some developers like to include extra items in their plugins, like utility classes or frameworks such as the WordPress Settings Framework. Plugin Builder automates that process, too, by downloading and including the files you choose in your new plugin.

Plugin Builder comes with a range of these additional includes you can choose from, but if there are other items you want to include you can make those part of the build process really easily (by extending a simple interface and using a filter).

So, let’s look at the traditional way of using the WordPress Plugin Boilerplate to create a new plugin:

  1. Download the Boilerplate and extract it
  2. Rename all the files using your plugin name (e.g. ‘class-plugin-name.php’ to ‘class-my-plugin.php’)
  3. Go through all the files and replace the metadata with your plugin details (name, slug, author, URIs etc)
  4. Create your CPT class and the registration code,
  5. Add the code to include the CPT file and register the CPT with WordPress
  6. Create a custom class
  7. Add the code to include your custom class file
  8. Download your favourite utility files to your plugin folder
  9. Add the code to include your utility files in your plugin

Or, using Plugin Builder:

  1. Enter the details of your plugin (name and description – the slug and class name are automatically created)
  2. Enter the details of your Custom Post Type (name and description, whether you want a manager class creating)
  3. Enter the details of your custom class (name and description)
  4. Check the box next to any utility files you want to be included
  5. Press ‘Build’

My guess is Plugin Builder will save you 2-4 hours work, and make your plugins much more standard in their architecture.

When your plugin is built the settings for it will be saved so you can rebuild your plugin at any time (this will overwrite any changes you’ve made manually) or make a few changes and create a new plugin.

Optional includes

The optional includes available in Plugin Builder are:

WordPress Settings Framework

The WordPress Settings Framework aims to take the pain out of creating settings pages for your WordPress plugins by effectively creating a wrapper around the WordPress settings API and making it super simple to create and maintain settings pages.

util.php

util.php is a collection of useful functions and snippets that you need or could use every day, designed to avoid conflicts with existing projects.

Expect more includes to be bundled with future versions of Plugin Builder. If you have an idea for an include you want and you think it may be useful for other developers let me know. Or, add your own include (see the next section for details).

Adding your own includes

Adding your own includes to Plugin Builder is really easy. There’s an interface named Plugin_Builder_Include which you need to extend, it has a few methods that need to be implemented. Then you add a call to a method in your include class for the plugin_builder_includes filter. Here’s a simple example:

class My_Include implements Plugin_Builder_Include {

    /**
     * The method run when the user has selected this include.
     *
     * @since    1.0.0
     * @var      Plugin_Builder_Settings    $settings    The settings for the plugin being built.
     */
    public function process_include( $settings ) {

        // This is where you would do the work for your include; downloading files and saving them locally,
        // creating folders, adding settings etc.

        // Returns 'true' if your processing succeeds, and a string detailing the error if it fails.

        // We ALWAYS use the WordPress Filesystem API for file operations, see this for details: https://codex.wordpress.org/Filesystem_API
        global $wp_filesystem;
        if ( ! isset( $wp_filesystem ) || null == $wp_filesystem ) {
            return false;
        }

        // get the file we want to include in the new plugin from a local folder
        // Note: it's tempting to get your files from somewhere on the Internet (such as Github or your own site) but
        // this would be against the WordPress Plugin Guidelines: https://wordpress.org/plugins/about/guidelines/
        // Also you can't include your files in a Zip or other archive, they have to be diff-able (i.e. text-based) files.
        $cache_file = PLUGIN_BUILDER_DIR . 'cache/my-include.php';

        // copy the file to the build folder
        $wp_filesystem->copy( $cache_file, $settings->build_path . 'includes/my-include.php' );

        return true;

    }

    /**
     * Returns any code to be injected into the top of the load_dependencies() method.
     *
     * @since    1.0.0
     */
    public function get_dependencies_code() {

        // Be careful here: you're writing PHP code as a string to be injected into a .php file, so it must be valid.

        return "
        /**
         * My Include
         *
         * My Include is an example include for the Plugin Builder plugin.
         *
         */
        require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/my-include.php';
        ";

    }

    /**
     * Returns the unique slug for this include.
     *
     * @since    1.0.0
     */
    public function get_slug(){

        return 'my-include';

    }

    /**
     * Returns the translated title for this include.
     *
     * @since    1.0.0
     */
    public function get_title() {

        return __( 'My Include' );

    }

    /**
     * Returns the translated description (HTML allowed) for this include.
     *
     * @since    1.0.0
     */
    public function get_description() {

        return __( '

My Include is an example include for the Plugin Builder plugin.

' ); } /** * Returns the URL giving more information on this include. * * @since 1.0.0 */ public function get_info_url() { return 'https://some-website.com/my-include/'; } /** * The method that will be called when the add_includes filter runs. * * @since 1.0.0 * @var array $includes The array of includes. */ public function add_includes( $includes ) { return $includes; } } // add this include to Plugin Builder using the plugin_builder_includes filter $my_include = new My_Include(); add_filter( 'plugin_builder_includes', array( $my_include, 'add_include' ) );
DomainExposuresHeadersLast Checked
k*y*k*a*v*v*.com (WP 7.0.3) F Sep 3, 2026
s*n*b*a*e*.com F Aug 15, 2026
k*i*n*i*s.ru (WP 6.0.2) D Aug 15, 2026
z*v*t*p*s*s*a*y*h.sk (WP 6.5.5) F Aug 4, 2026
o*d*r*l*s*.com F Jul 20, 2026
d*s*i*a*i*n*e*d*n*d*b*i.com (WP 5.2.24) F Jul 16, 2026
k*b*r*a*i*g.com (WP 7.0.1) F Jul 14, 2026

Top 50 Plugins

Plugin Count
elementor 1,730,294
contact-form-7 1,721,189
elementor-pro 1,030,363
woocommerce 798,979
revslider 592,001
jetpack 433,801
js_composer 408,403
wp-rocket 326,504
essential-addons-for-elementor-lite 257,565
gravityforms 252,497
complianz-gdpr 252,176
google-site-kit 250,288
cookie-law-info 223,276
instagram-feed 219,874
sitepress-multilingual-cms 206,469
header-footer-elementor 200,528
google-analytics-for-wordpress 199,243
bluehost-wordpress-plugin 189,453
elementskit-lite 174,206
gutenberg 160,513
litespeed-cache 145,284
cookie-notice 144,599
gutenberg-core 140,377
gtranslate 120,852
the-events-calendar 120,446
wpforms-lite 118,547
astra-sites 108,826
popup-maker 106,886
woocommerce-payments 105,641
tablepress 101,273
honeypot 96,491
coblocks 93,600
astra-addon 91,421
duracelltomi-google-tag-manager 88,349
wp-smushit 88,315
layerslider 86,499
all-in-one-seo-pack 86,350
bb-plugin 84,791
akismet 82,203
ml-slider 82,176
premium-addons-for-elementor 80,773
cleantalk-spam-protect 80,289
mailchimp-for-wp 78,871
megamenu 78,680
ewww-image-optimizer 76,849
wp-pagenavi 76,546
jet-engine 76,523
fusion-builder 75,403
smart-slider-3 74,324
gravityformsrecaptcha 72,802

Top 50 Themes

Theme Count
hello-elementor 609,589
Divi 483,496
astra 402,734
flatsome 145,249
Avada 118,421
generatepress 112,290
pub 97,125
oceanwp 78,141
kadence 77,731
enfold 67,008
salient 63,381
twentyseventeen 53,013
twentytwentyfour 51,847
bb-theme 51,765
betheme 51,513
cocoon-master 49,979
blocksy 49,828
h4 48,819
twentytwentyfive 45,534
woodmart 44,843
dt-the7 44,448
neve 37,089
Avada-Child-Theme 36,459
gox 35,905
lightning 30,747
bridge 30,345
twentytwentyone 29,418
swell 29,198
twentytwenty 28,015
bricks 26,800
Impreza 25,536
Newspaper 23,668
twentytwentythree 21,364
epik-redesign 18,852
twentytwentytwo 18,186
uncode 18,019
twentysixteen 17,305
pro 17,228
sydney 15,747
storefront 15,733
Total 14,105
factory-templates-4 13,883
hello-theme-child-master 13,651
themify-ultra 12,716
hestia 12,288
yootheme 12,275
yith-wonder 11,711
jupiter 11,589
porto 11,548
twentyfifteen 11,531