[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fthMmuP_NjQfl4WBRYNrnThv01_wJ55ZAhA2bRmSABvM":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":9,"computed_at":11,"plugins":12},"mrwiblog","Chris Taylor","https:\u002F\u002Fprofiles.wordpress.org\u002Fmrwiblog\u002F",11,460,81,30,"2026-04-04T15:10:25.031Z",[13,39,61,83,98,117,132,149,164,178,191],{"slug":14,"name":15,"version":16,"author":5,"author_profile":6,"description":17,"short_description":18,"active_installs":19,"downloaded":20,"rating":21,"num_ratings":22,"last_updated":23,"tested_up_to":24,"requires_at_least":25,"requires_php":26,"tags":27,"homepage":33,"download_link":34,"security_score":35,"vuln_count":36,"unpatched_count":36,"last_vuln_date":37,"fetched_at":38},"voucherpress","VoucherPress","1.5.7","\u003Cp>\u003Cstrong>Thanks for using VoucherPress. It’s great to see so many people creating vouchers for all kinds of business. From pizza joints to jewellers, cleaning companies to sports clubs – you’ve created thousands of vouchers, and I’m really proud to have created something which has been useful to so many people.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>As I work on the next version of VoucherPress it would be really helpful if you could \u003Ca href=\"http:\u002F\u002Fwww.stillbreathing.co.uk\u002Fprojects\u002Fvoucherpress-the-next-chapter\" rel=\"nofollow ugc\">fill in this short survey\u003C\u002Fa>. Many thanks for your time.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Have you ever wanted to give away vouchers, tickets, coupons or tokens on your website? If so this plugin is for you. You can create a voucher with whatever text you want, choosing the layout and font from a range of templates (you can also add your own templates). Vouchers can then be viewed, downloaded and printed from a specified URL.\u003C\u002Fp>\n\u003Cp>There are shortcodes to add a link to a particular voucher, to show an unordered list of all your vouchers, or to show the registration for to request a restricted voucher.\u003C\u002Fp>\n\u003Cp>You can require visitors to provide their name and email address to get a voucher. If an email address is required an email is sent to the address with a link to the voucher URL. Each voucher has a unique code, and vouchers that have an email address associated with them can only be used once, so once a registration-required voucher is downloaded it can’t be downloaded again.\u003C\u002Fp>\n\u003Ch3>Hooks\u003C\u002Fh3>\n\u003Cp>From version 1.1.2 the plugin also offers a selection of hooks which you can use to run your own custom code. The hooks are:\u003C\u002Fp>\n\u003Ch3>voucherpress_create\u003C\u002Fh3>\n\u003Cp>When a voucher is created, this hook returns the properties of the voucher. You can use it like this:\u003C\u002Fp>\n\u003Cp>add_action( ‘voucherpress_create’, ‘my_voucherpress_create_function’ );\u003Cbr \u002F>\nfunction my_voucherpress_create_function( $id, $name, $text, $description, $template, $require_email, $limit, $startdate, $expiry ) {\u003Cbr \u002F>\n    \u002F\u002F do something here…\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003Ch3>voucherpress_edit\u003C\u002Fh3>\n\u003Cp>When a voucher is edited, this hook returns the properties of the voucher. You can use it like this:\u003C\u002Fp>\n\u003Cp>add_action( ‘voucherpress_edit’, ‘my_voucherpress_edit_function’ );\u003Cbr \u002F>\nfunction my_voucherpress_edit_function( $id, $name, $text, $description, $template, $require_email, $limit, $startdate, $expiry ) {\u003Cbr \u002F>\n    \u002F\u002F do something here…\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003Ch3>voucherpress_register\u003C\u002Fh3>\n\u003Cp>When someone registers to download a voucher and an email is sent to them, this hook returns the voucher and the users details. You can use it like this:\u003C\u002Fp>\n\u003Cp>add_action( ‘voucherpress_register’, ‘my_voucherpress_register_function’ );\u003Cbr \u002F>\nfunction my_voucherpress_register_function( $voucher_id, $voucher_name, $user_email, $user_name ) {\u003Cbr \u002F>\n    \u002F\u002F do something here…\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003Ch3>voucherpress_download\u003C\u002Fh3>\n\u003Cp>When someone downloads a voucher, this hook returns the voucher and the users details. You can use it like this:\u003C\u002Fp>\n\u003Cp>add_action( ‘voucherpress_download’, ‘my_voucherpress_download_function’ );\u003Cbr \u002F>\nfunction my_voucherpress_download_function( $voucher_id, $voucher_name, $code ) {\u003Cbr \u002F>\n    \u002F\u002F do something here…\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003Cp>The plugin also makes use of the __() function to allow for easy translation.\u003C\u002Fp>\n\u003Cp>Thanks to Christian Serron (http:\u002F\u002Ftwitter.com\u002Fcserron) for the code to make the vouchers work in widgets (currently disabled, I’m working on this) and to Barry (http:\u002F\u002Fwww.betakeygiveaway.com\u002F) for bug testing above and beyond the call of duty.\u003C\u002Fp>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Cp>There are four shortcodes available. The first shows a link to a particular voucher, and is in the format:\u003C\u002Fp>\n\u003Cp>[voucher id=”123″]\u003C\u002Fp>\n\u003Cp>The “id” parameter is the unique ID of the voucher. The correct ID to use is available in the screen where you edit the voucher.\u003C\u002Fp>\n\u003Cp>You can also how the description after the link:\u003C\u002Fp>\n\u003Cp>[voucher id=”123″ description=”true”]\u003C\u002Fp>\n\u003Cp>The second shows a link to a voucher, but with a preview of the voucher (just the background image, no text) and the voucher name as the image alternate text:\u003C\u002Fp>\n\u003Cp>[voucher id=”123″ preview=”true”]\u003C\u002Fp>\n\u003Cp>And you can show the description after the preview as well:\u003C\u002Fp>\n\u003Cp>[voucher id=”123″ preview=”true” description=”true”]\u003C\u002Fp>\n\u003Cp>You can also show an unordered list of all your live vouchers using this shortcode:\u003C\u002Fp>\n\u003Cp>[voucherlist]\u003C\u002Fp>\n\u003Cp>And a list of all live vouchers with their descriptions:\u003C\u002Fp>\n\u003Cp>[voucherlist description=”true”]\u003C\u002Fp>\n\u003Cp>And you can also show the form for people to enter their name and email address if they wish to register for a restricted voucher:\u003C\u002Fp>\n\u003Cp>[voucherform id=”123″]\u003C\u002Fp>\n\u003Cp>The shortcodes for any voucher can be found on the edit screen for that voucher. Just click the ‘Shortcodes’ button.\u003C\u002Fp>\n","VoucherPress is a Wordpress plugin that allows you to give downloadable, printable vouchers\u002Fcoupons in PDF format away on your site.",200,46777,66,17,"2016-02-06T21:59:00.000Z","4.7.32","2.8","",[28,29,30,31,32],"buddypress","pdf","print","voucher","vouchers","http:\u002F\u002Fwww.stillbreathing.co.uk\u002Fwordpress\u002Fvoucherpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvoucherpress.zip",63,1,"2025-09-22 00:00:00","2026-03-15T15:16:48.613Z",{"slug":40,"name":41,"version":42,"author":5,"author_profile":6,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":24,"requires_at_least":50,"requires_php":26,"tags":51,"homepage":56,"download_link":57,"security_score":58,"vuln_count":59,"unpatched_count":59,"last_vuln_date":60,"fetched_at":38},"demo-data-creator","Demo Data Creator","1.3.4","\u003Cp>DO NOT USE THIS PLUGIN ON A PRODUCTION SITE, OR ON A SITE WHERE YOU NEED TO KEEP THE DATA.\u003C\u002Fp>\n\u003Cp>When deleting demo data your ENTIRE WordPress database will be reset, deleting ALL your posts, pages, comments and users. ONLY USE THIS PLUGIN ON A SITE WHERE YOU KNOW THE DATABASE CAN BE WIPED.\u003C\u002Fp>\n\u003Cp>If you develop WordPress websites it’s useful to have some demo data in your system while it’s being built. This allows you to check that lists of things are displaying as they should, and that themes are working when they get data in them.\u003C\u002Fp>\n\u003Cp>Historically it’s been a pain to add that data in. Either you need to take a backup of another site and use that data, or you need to tediously create multiple users and blogs yourself. No more, not now my Demo Data Creator is in town!\u003C\u002Fp>\n\u003Cp>This WordPress, WPMU\u002FMultiSite and BuddyPress plugin gives you a new admin screen where you can enter some parameters, click a button and (after a short wait) random demo data will be created. The parameter options include:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>* Number of users to create\n* Number of blogs per user (for WPMU\u002FMultiSite)\n* Whether users must have a blog\n* Number of categories in each blog\n* Number of posts in each blog\n* Number of paragraphs in each blog post\n* Number of pages in each blog\n* Number of top-level pages\n* Number of levels to nest pages\n* Number of comments per post for each blog\n* Number of links in blogroll for each blog\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For BuddyPress you also have:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>* Number of groups\n* Number of members per group\n* Number of wire posts for each group\n* Number of friends per user\n* Number of statuses for each user\n* Number of wire posts for each user\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Post content and comment text is automatically generated from Lorem ipsum text, for post content it’s even HTML-formatted.\u003C\u002Fp>\n\u003Cp>Thanks to derscheinwelt for the suggestion and code to create random dates for posts, and Steve at http:\u002F\u002Fslipfire.com\u002F for the wp_insert_user() code.\u003C\u002Fp>\n","Demo Data Creator is a Wordpress and BuddyPress plugin that allows a Wordpress developer to create demo users, blogs, posts, comments and more.",90,62828,70,22,"2017-01-31T20:00:00.000Z","2.7",[28,52,53,54,55],"data","demo","example","wpmu","http:\u002F\u002Fwww.stillbreathing.co.uk\u002Fwordpress\u002Fdemo-data-creator\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdemo-data-creator.zip",85,0,null,{"slug":62,"name":63,"version":64,"author":5,"author_profile":6,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":69,"num_ratings":70,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":26,"tags":74,"homepage":80,"download_link":81,"security_score":35,"vuln_count":36,"unpatched_count":36,"last_vuln_date":82,"fetched_at":38},"child-themes","Child Themes","1.0.1","\u003Cp>If you’re a WordPress designer who wants to spend more time doing what you love – writing CSS and playing with pixels – and less time doing the tedious chore of creating child themes, this plugin is for you.\u003C\u002Fp>\n\u003Cp>Just install, visit the “Child Themes” menu option under “Appearance” and create a child theme from any installed theme using a simple form. Your new child theme will be created immediately and you can activate it straight away.\u003C\u002Fp>\n\u003Cp>How’d you like them apples?\u003C\u002Fp>\n","Create a child theme really easily from any installed theme.",80,7221,50,2,"2017-11-01T22:25:00.000Z","4.8.28","3.6",[75,76,77,78,79],"child","create","generate","theme","themes","http:\u002F\u002Fwww.stillbreathing.co.uk\u002Fwordpress\u002Fchild-themes\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fchild-themes.zip","2025-08-21 00:00:00",{"slug":84,"name":85,"version":86,"author":5,"author_profile":6,"description":87,"short_description":88,"active_installs":89,"downloaded":90,"rating":59,"num_ratings":59,"last_updated":91,"tested_up_to":24,"requires_at_least":92,"requires_php":26,"tags":93,"homepage":96,"download_link":97,"security_score":58,"vuln_count":59,"unpatched_count":59,"last_vuln_date":60,"fetched_at":38},"plugin-builder","Plugin Builder","1.0.0","\u003Cp>This is a plugin for WordPress plugin developers. If you don’t understand what \u003Ccode>PHP\u003C\u002Fcode>, \u003Ccode>HTML\u003C\u002Fcode>, \u003Ccode>CSS\u003C\u002Fcode>, \u003Ccode>add_action\u003C\u002Fcode> and \u003Ccode>apply_filters\u003C\u002Fcode> are then this plugin is not for you!\u003C\u002Fp>\n\u003Cp>The \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftommcfarlin\u002FWordPress-Plugin-Boilerplate\" rel=\"nofollow ugc\">WordPress Plugin Boilerplate\u003C\u002Fa> 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.\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>And that’s not all. Some developers like to include extra items in their plugins, like utility classes or frameworks such as the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgilbitron\u002FWordPress-Settings-Framework\" rel=\"nofollow ugc\">WordPress Settings Framework\u003C\u002Fa>. Plugin Builder automates that process, too, by downloading and including the files you choose in your new plugin.\u003C\u002Fp>\n\u003Cp>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).\u003C\u002Fp>\n\u003Cp>So, let’s look at the traditional way of using the WordPress Plugin Boilerplate to create a new plugin:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Download the Boilerplate and extract it\u003C\u002Fli>\n\u003Cli>Rename all the files using your plugin name (e.g. ‘class-plugin-name.php’ to ‘class-my-plugin.php’)\u003C\u002Fli>\n\u003Cli>Go through all the files and replace the metadata with your plugin details (name, slug, author, URIs etc)\u003C\u002Fli>\n\u003Cli>Create your CPT class and the registration code,\u003C\u002Fli>\n\u003Cli>Add the code to include the CPT file and register the CPT with WordPress\u003C\u002Fli>\n\u003Cli>Create a custom class\u003C\u002Fli>\n\u003Cli>Add the code to include your custom class file\u003C\u002Fli>\n\u003Cli>Download your favourite utility files to your plugin folder\u003C\u002Fli>\n\u003Cli>Add the code to include your utility files in your plugin\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Or, using Plugin Builder:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Enter the details of your plugin (name and description – the slug and class name are automatically created)\u003C\u002Fli>\n\u003Cli>Enter the details of your Custom Post Type (name and description, whether you want a manager class creating)\u003C\u002Fli>\n\u003Cli>Enter the details of your custom class (name and description)\u003C\u002Fli>\n\u003Cli>Check the box next to any utility files you want to be included\u003C\u002Fli>\n\u003Cli>Press ‘Build’\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>My guess is Plugin Builder will save you 2-4 hours work, and make your plugins much more standard in their architecture.\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch3>Optional includes\u003C\u002Fh3>\n\u003Cp>The optional includes available in Plugin Builder are:\u003C\u002Fp>\n\u003Ch4>WordPress Settings Framework\u003C\u002Fh4>\n\u003Cp>The \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgilbitron\u002FWordPress-Settings-Framework\" rel=\"nofollow ugc\">WordPress Settings Framework\u003C\u002Fa> 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.\u003C\u002Fp>\n\u003Ch4>util.php\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fbrandonwamboldt.github.io\u002Futilphp\u002F\" rel=\"nofollow ugc\">util.php\u003C\u002Fa> is a collection of useful functions and snippets that you need or could use every day, designed to avoid conflicts with existing projects.\u003C\u002Fp>\n\u003Cp>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).\u003C\u002Fp>\n\u003Ch4>Adding your own includes\u003C\u002Fh4>\n\u003Cp>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:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>class My_Include implements Plugin_Builder_Include {\n\n    \u002F**\n     * The method run when the user has selected this include.\n     *\n     * @since    1.0.0\n     * @var      Plugin_Builder_Settings    $settings    The settings for the plugin being built.\n     *\u002F\n    public function process_include( $settings ) {\n\n        \u002F\u002F This is where you would do the work for your include; downloading files and saving them locally,\n        \u002F\u002F creating folders, adding settings etc.\n\n        \u002F\u002F Returns 'true' if your processing succeeds, and a string detailing the error if it fails.\n\n        \u002F\u002F We ALWAYS use the WordPress Filesystem API for file operations, see this for details: https:\u002F\u002Fcodex.wordpress.org\u002FFilesystem_API\n        global $wp_filesystem;\n        if ( ! isset( $wp_filesystem ) || null == $wp_filesystem ) {\n            return false;\n        }\n\n        \u002F\u002F get the file we want to include in the new plugin from a local folder\n        \u002F\u002F Note: it's tempting to get your files from somewhere on the Internet (such as Github or your own site) but\n        \u002F\u002F this would be against the WordPress Plugin Guidelines: https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fabout\u002Fguidelines\u002F\n        \u002F\u002F Also you can't include your files in a Zip or other archive, they have to be diff-able (i.e. text-based) files.\n        $cache_file = PLUGIN_BUILDER_DIR . 'cache\u002Fmy-include.php';\n\n        \u002F\u002F copy the file to the build folder\n        $wp_filesystem->copy( $cache_file, $settings->build_path . 'includes\u002Fmy-include.php' );\n\n        return true;\n\n    }\n\n    \u002F**\n     * Returns any code to be injected into the top of the load_dependencies() method.\n     *\n     * @since    1.0.0\n     *\u002F\n    public function get_dependencies_code() {\n\n        \u002F\u002F Be careful here: you're writing PHP code as a string to be injected into a .php file, so it must be valid.\n\n        return \"\n        \u002F**\n         * My Include\n         *\n         * My Include is an example include for the Plugin Builder plugin.\n         *\n         *\u002F\n        require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes\u002Fmy-include.php';\n        \";\n\n    }\n\n    \u002F**\n     * Returns the unique slug for this include.\n     *\n     * @since    1.0.0\n     *\u002F\n    public function get_slug(){\n\n        return 'my-include';\n\n    }\n\n    \u002F**\n     * Returns the translated title for this include.\n     *\n     * @since    1.0.0\n     *\u002F\n    public function get_title() {\n\n        return __( 'My Include' );\n\n    }\n\n    \u002F**\n     * Returns the translated description (HTML allowed) for this include.\n     *\n     * @since    1.0.0\n     *\u002F\n    public function get_description() {\n\n        return __( '\u003Cp>My Include is an example include for the Plugin Builder plugin.\u003C\u002Fp>' );\n\n    }\n\n    \u002F**\n     * Returns the URL giving more information on this include.\n     *\n     * @since    1.0.0\n     *\u002F\n    public function get_info_url() {\n\n        return 'https:\u002F\u002Fsome-website.com\u002Fmy-include\u002F';\n\n    }\n\n    \u002F**\n     * The method that will be called when the add_includes filter runs.\n     *\n     * @since    1.0.0\n     * @var      array    $includes    The array of includes.\n     *\u002F\n    public function add_includes( $includes ) {\n\n        return $includes;\n\n    }\n\n}\n\n\u002F\u002F add this include to Plugin Builder using the plugin_builder_includes filter\n$my_include = new My_Include();\nadd_filter( 'plugin_builder_includes', array( $my_include, 'add_include' ) );\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Gets started building a plugin using the WordPress Plugin Boilerplate in seconds, not hours. Speed up your development.",20,3958,"2015-04-20T21:08:00.000Z","3.0.1",[94,95],"boilerplate","development","http:\u002F\u002Fwww.stillbreathing.co.uk\u002Fwordpress\u002Fplugin-builder","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fplugin-builder.zip",{"slug":99,"name":100,"version":101,"author":5,"author_profile":6,"description":102,"short_description":103,"active_installs":104,"downloaded":105,"rating":106,"num_ratings":36,"last_updated":107,"tested_up_to":108,"requires_at_least":50,"requires_php":26,"tags":109,"homepage":115,"download_link":116,"security_score":58,"vuln_count":59,"unpatched_count":59,"last_vuln_date":60,"fetched_at":38},"performerjs","PerformerJS","1.0.5","\u003Cp>For beginners:\u003C\u002Fp>\n\u003Cp>Ever wanted to put those really great effects on your website, but didn’t know how to start? Yeah, so have we. That’s why we wrote \u003Ca href=\"http:\u002F\u002Fperformerjs.org\" title=\"JavaScript without the code\" rel=\"nofollow ugc\">Performer\u003C\u002Fa> – to take away the pain. AJAX, toggling visibility, form and password checking, tabbing, inline editing and more. We’ve got it all. Check out \u003Ca href=\"http:\u002F\u002Fperformerjs.org\u002Fdocs\" title=\"The full list of Performer features\" rel=\"nofollow ugc\">all the features here\u003C\u002Fa>, or download the PerformerJS plugin to get started.\u003C\u002Fp>\n\u003Cp>For intermediate developers:\u003C\u002Fp>\n\u003Cp>Performer allows you to easily add JavaScript features – like AJAX stuff – to your pages using nothing but CSS classes and other standard element attributes, like rel and rev. There are \u003Ca href=\"http:\u002F\u002Fperformerjs.org\u002Fdocs\" title=\"The full list of Performer features\" rel=\"nofollow ugc\">a wide range of features available\u003C\u002Fa> and Performer works with jQuery, MooTools and Prototype.\u003C\u002Fp>\n\u003Cp>For advanced developers:\u003C\u002Fp>\n\u003Cp>Prototype allows you to easily add JavaScript features to your pages using nothing but CSS classes and other standard element attributes. Using the power of a JavaScript library (there’s a list of libraries Performer supports below) means you have to write less JavaScript code to get things done. But even that isn’t enough. For simple effects and functions wouldn’t it be great to add the JavaScript functionality as you build the HTML of a page? See the Getting Started section for some simple examples.\u003C\u002Fp>\n\u003Cp>To be clear; Performer works with your JavaScript library to make it easier to add simple functionality to your page. While it may be possible to write an entire complex web application interface using Performer, I don’t recommend it. Check out \u003Ca href=\"http:\u002F\u002Fperformerjs.org\u002Fdocs\" title=\"The full list of Performer features\" rel=\"nofollow ugc\">the Documentation\u003C\u002Fa> for full details on all features Performer supports.\u003C\u002Fp>\n\u003Cp>And if you don’t have one of the supported JavaScript libraries already in use on your site, PerformerJS will automatically include the latest version of \u003Ca href=\"http:\u002F\u002Fjquery.com\" title=\"The best JavaScript library\" rel=\"nofollow ugc\">jQuery\u003C\u002Fa> from the Google AJAX API site.\u003C\u002Fp>\n","PerformerJS allows you to add really cool effects and features to your website by doing some simple editing of the HTML code in your pages.",10,4987,100,"2015-04-20T20:58:00.000Z","4.2.39",[110,111,112,113,114],"css","html","interaction","javascript","performer","http:\u002F\u002Fperformerjs.org\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fperformerjs.zip",{"slug":118,"name":119,"version":120,"author":5,"author_profile":6,"description":121,"short_description":122,"active_installs":104,"downloaded":123,"rating":106,"num_ratings":36,"last_updated":124,"tested_up_to":108,"requires_at_least":50,"requires_php":26,"tags":125,"homepage":130,"download_link":131,"security_score":58,"vuln_count":59,"unpatched_count":59,"last_vuln_date":60,"fetched_at":38},"personal-welcome","Personal Welcome","0.3.7","\u003Cp>Personal welcome is a WordPress\u002FMultiSite\u002FBuddyPress plugin that lists newly registered users, and allows site administrators to send them a personalised welcome message. The welcome messages are based on templates which you can write yourself (as many templates as you like). Once a message is sent that user won’t appear again.\u003C\u002Fp>\n\u003Cp>There are four extra management features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The ability to set all users as having been sent a welcome message (an easy way to bulk remove everyone from the list, for example when the plugin is first installed)\u003C\u002Fli>\n\u003Cli>The ability to search for a user and send them a welcome message\u003C\u002Fli>\n\u003Cli>The ability to set the new user as being spam\u003C\u002Fli>\n\u003Cli>The ability to set the new user and all their blogs as spam\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Of course, the templates don’t have to be just for welcoming people – they could contain FAQs, help information or anything else.\u003C\u002Fp>\n\u003Cp>The plugin also makes use of the __() function to allow for easy translation.\u003C\u002Fp>\n","Personal Welcome is a Wordpress plugin that allows site administrators to create and send personalised welcome messages to new users.",13257,"2015-04-20T21:01:00.000Z",[28,126,127,128,129],"email","personal","welcome","wordpress-mu","http:\u002F\u002Fwww.stillbreathing.co.uk\u002Fwordpress\u002Fpersonal-welcome\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpersonal-welcome.zip",{"slug":133,"name":134,"version":135,"author":5,"author_profile":6,"description":136,"short_description":137,"active_installs":104,"downloaded":138,"rating":89,"num_ratings":36,"last_updated":139,"tested_up_to":24,"requires_at_least":25,"requires_php":140,"tags":141,"homepage":147,"download_link":148,"security_score":58,"vuln_count":59,"unpatched_count":59,"last_vuln_date":60,"fetched_at":38},"plugin-register","Plugin Register","0.6.5","\u003Cp>If you are a WordPress plugin developer the chances are your plugins are available for download from the WordPress plugin repository. As part of that service the nice guys at WordPress show you how many downloads of your plugin you get per day. Very useful, and if you’re like me you check your downloads numbers very often.\u003C\u002Fp>\n\u003Cp>However what these stats don’t show you is where your plugin is in use – which sites it is actually being activated on. Seeing that information would allow you to see exactly which sites are using your plugin, when they installed it, and what version the site is running. That is exactly what Plugin Register does.\u003C\u002Fp>\n\u003Cp>By including the Plugin_Register class and calling it with some simple code in your plugin, your plugin will prompt the user to register your plugin when they activate it. When they register the plugin, the Plugin Register database on your site will be updated with the name and version of your plugin, and the site name and URL where that plugin has just been activated. A simple call is made to your website to save these details in the Plugin Register table, and you get some great statistics on which site is installing what versions of your plugins.\u003C\u002Fp>\n\u003Cp>So, what do you need to put in your plugin? This example code hows you everything you need:\u003C\u002Fp>\n\u003Cp>`\u002F\u002F include the Plugin_Register class\u003Cbr \u002F>\nrequire_once( “plugin-register.class.php” );\u003C\u002Fp>\n\u003Cp>\u002F\u002F create a new instance of the Plugin_Register class\u003Cbr \u002F>\n$register = new Plugin_Register(); \u002F\u002F leave this as it is\u003Cbr \u002F>\n$register->file = \u003Cstrong>FILE\u003C\u002Fstrong>; \u002F\u002F leave this as it is\u003Cbr \u002F>\n$register->slug = “pluginregister”; \u002F\u002F create a unique slug for your plugin (normally the plugin name in lowercase, with no spaces or special characters works fine)\u003Cbr \u002F>\n$register->name = “Plugin Register”; \u002F\u002F the full name of your plugin (this will be displayed in your statistics)\u003Cbr \u002F>\n$register->version = “1.0”; \u002F\u002F the version of your plugin (this will be displayed in your statistics)\u003Cbr \u002F>\n$register->developer = “Chris Taylor”; \u002F\u002F your name\u003Cbr \u002F>\n$register->homepage = “http:\u002F\u002Fwww.stillbreathing.co.uk”; \u002F\u002F your WordPress website where Plugin Register is installed (no trailing slash)\u003Cbr \u002F>\n$register->Plugin_Register(); \u002F\u002F set Plugin Register to be called when the plugin is activated\u003C\u002Fp>\n\u003Cp>The reports you get include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Graphs showing how many registrations have been made for the last 24 hours, 14 days, 12 weeks and 12 months\u003C\u002Fli>\n\u003Cli>A list of all plugins registered, with how many unique versions and unique sites\u003C\u002Fli>\n\u003Cli>A list of all versions of a particular plugin, with the number of unique sites\u003C\u002Fli>\n\u003Cli>A list of all sites which have registered any of your plugins\u003C\u002Fli>\n\u003Cli>Details of what plugins were registered on a particular day\u003C\u002Fli>\n\u003Cli>A search, so you can see what sites have got version X of plugin Foo_Bar installed\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy\u003C\u002Fh3>\n\u003Cp>Registering a plugin is completely up to the user who has just activated it. Plugin Register does NOT automatically send any data back to your website without the user manually clicking a link. Some text is displayed which invites the user to register the plugin, by default it says:\u003C\u002Fp>\n\u003Cp>“Please consider registering your use of [your plugin name] to tell [your name] (the plugin maker) you are using it. This sends only your site name and URL to [your name] so they know where their plugin is being used. No other data is sent.”\u003C\u002Fp>\n\u003Cp>It is possible to override this default text on a per-plugin basis.\u003C\u002Fp>\n","For Wordpress plugin developers: keep a register of when and where your plugins are activated.",9921,"2018-03-27T22:12:00.000Z","5.6",[142,143,144,145,146],"activation","count","developer","register","statistics","http:\u002F\u002Fwww.stillbreathing.co.uk\u002Fwordpress\u002Fplugin-register\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fplugin-register.zip",{"slug":150,"name":151,"version":152,"author":5,"author_profile":6,"description":153,"short_description":154,"active_installs":104,"downloaded":155,"rating":59,"num_ratings":59,"last_updated":156,"tested_up_to":108,"requires_at_least":157,"requires_php":26,"tags":158,"homepage":162,"download_link":163,"security_score":58,"vuln_count":59,"unpatched_count":59,"last_vuln_date":60,"fetched_at":38},"simple-user-admin","Simple User Admin","1.5","\u003Cp>Simple user admin is a WordPress MultiSite plugin that gives site administrators a simpler interface to manage blogs and users. The plugin allows you to search for users and blogs, see the blogs that a particular user has access to, and users that have access to a particular blog. You can add users to a blog, or add blogs to a user. You can also easily change roles for a user for all their blogs, or change roles for all users of a particular blog.\u003C\u002Fp>\n\u003Cp>The plugin also makes use of the __() function to allow for easy translation.\u003C\u002Fp>\n\u003Cp>Many thanks to Joost from http:\u002F\u002Fyoast.com\u002F for fixing the plugin to work with MultiSite. Also thanks to Adam Dunson of http:\u002F\u002Fwww.cloudspace.com for lots of development work.\u003C\u002Fp>\n\u003Ch3>1.5 (2015\u002F04\u002F20)\u003C\u002Fh3>\n\u003Cp>Fixed deprecated calls. Tested up to 4.2.\u003C\u002Fp>\n\u003Ch3>1.4 (2011\u002F09\u002F09)\u003C\u002Fh3>\n\u003Cp>Most of the development work for this version was done by Adam Dunson of http:\u002F\u002Fwww.cloudspace.com\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Tightened security\u003C\u002Fli>\n\u003Cli>Made the plugin run from the Network Users admin area\u003C\u002Fli>\n\u003Cli>Made the search boxes more consistent across every page\u003C\u002Fli>\n\u003Cli>Shows all users and blogs by default (pagination will be done for a future release)\u003C\u002Fli>\n\u003Cli>Now shows custom roles, not just the standard roles\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.3 (2010\u002F11\u002F17)\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Implemented fix for WordPress MultiSite (thanks to Joost from http:\u002F\u002Fyoast.com\u002F)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.2\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fixed bug in blog search\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Updated plugin URI\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.0\u003C\u002Fh3>\n\u003Cp>Initial version\u003C\u002Fp>\n","Simple user admin is a WordPress MultiSite plugin that gives site administrators a simpler interface to manage blogs and users.",11220,"2015-04-20T21:25:00.000Z","3.0",[159,160,28,161,129],"administration","blog","user","http:\u002F\u002Fwww.stillbreathing.co.uk\u002Fwordpress\u002Fsimple-user-admin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-user-admin.zip",{"slug":165,"name":166,"version":167,"author":5,"author_profile":6,"description":168,"short_description":169,"active_installs":104,"downloaded":170,"rating":59,"num_ratings":59,"last_updated":171,"tested_up_to":108,"requires_at_least":172,"requires_php":26,"tags":173,"homepage":176,"download_link":177,"security_score":58,"vuln_count":59,"unpatched_count":59,"last_vuln_date":60,"fetched_at":38},"theme-reset","Theme Reset","0.1","\u003Cp>Resets the theme for all sites in a MultiSite network.\u003C\u002Fp>\n","Resets the theme for all sites in a MultiSite network.",4452,"2015-04-20T21:35:00.000Z","3.5",[174,175,78],"multisite","reset","http:\u002F\u002Fwww.stillbreathing.co.uk\u002Fwordpress\u002Ftheme-reset\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftheme-reset.zip",{"slug":179,"name":180,"version":181,"author":5,"author_profile":6,"description":182,"short_description":183,"active_installs":104,"downloaded":184,"rating":59,"num_ratings":59,"last_updated":185,"tested_up_to":108,"requires_at_least":50,"requires_php":26,"tags":186,"homepage":189,"download_link":190,"security_score":58,"vuln_count":59,"unpatched_count":59,"last_vuln_date":60,"fetched_at":38},"themebrowser","ThemeBrowser","0.5","\u003Cp>If you run a WordPress MultiSite network where people can create their own blogs and choose a theme, it would be great to show off the available themes before people sign up. That’s always a been a bit hard to do, until now. This very simple plugin allows you to add a shortcode – [themebrowser] – to any post or page where you want the full list of enabled themes to show.\u003C\u002Fp>\n\u003Cp>You can also paginate the themes by adding a “perpage” attribute to the shortcode, like this: [themebrowser perpage=”10″]\u003C\u002Fp>\n\u003Cp>The list does not include themes that you have disabled in Site Admin. The details shown are the theme name, description and a screenshot (themes without a screenshot are also not included).\u003C\u002Fp>\n","Show off the themes available for blogs in your Wordpress MultiSite with a simple shortcode in any post or page.",4183,"2015-04-20T21:49:00.000Z",[28,187,188,79,55],"styles","templates","http:\u002F\u002Fwww.stillbreathing.co.uk\u002Fwordpress\u002Fthemebrowser\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fthemebrowser.zip",{"slug":192,"name":193,"version":194,"author":5,"author_profile":6,"description":195,"short_description":196,"active_installs":104,"downloaded":197,"rating":59,"num_ratings":59,"last_updated":198,"tested_up_to":108,"requires_at_least":199,"requires_php":26,"tags":200,"homepage":205,"download_link":206,"security_score":58,"vuln_count":59,"unpatched_count":59,"last_vuln_date":60,"fetched_at":38},"wp-config-constants","WP Config Constants","1.0","\u003Cp>Shows you the values of constants defined in your wp-config.php file. Useful if you need to quickly check things like the database and debug settings. For security reasons it will obfuscate the DB_PASSWORD constant and all security key and salt constants.\u003C\u002Fp>\n","Shows you the values of constants defined in your wp-config.php file",2006,"2015-04-20T21:52:00.000Z","3.5.1",[201,202,144,203,204],"constants","debug","settings","wp-config","http:\u002F\u002Fwww.stillbreathing.co.uk\u002Fwordpress\u002Fwp-config-constants\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-config-constants.zip"]