sb2-media/wordpress-starter-plugin

Central repository for crafting plugins to extend and customize WordPress.

v0.4.0 2018-10-25 15:37 UTC

This package is auto-updated.

Last update: 2024-05-07 06:20:43 UTC


README

** In development. Not ready for production.

Central repository for crafting plugins to extend and customize WordPress

Features

  • Pimple container dependency injection
  • Built-in initialization tasks
    • System environment compatibility check
    • Plugin constants with ability to add more
    • Enqueue manager for enqueuing styles and scripts into WordPress
    • Localization - includes a .pot file as a starting point for internationalization
    • Class to handle all activation/deactivation/installation tasks
  • Modules
    • Config - abstracts the runtime configuration out of the modules and into the config folder
    • Event Management - interact with the WordPress Plugin API
    • File and template loader
  • Composer autoloader
  • Follows PSR-4 coding standards
  • Includes Laravel Mix for simple webpack implementation
  • Custom post type functionality - configured via config file

Requirements

Make sure all dependencies have been installed before moving on:

Installation

  1. From the command line navigate to your WordPress mu-plugins directory.
  2. Run this command: composer create-project sb2-media/wordpress-starter-plugin.
  3. Rename the wordpress-starter-plugin directory to your-plugin-name.
  4. Change into the plugin directory: cd your-plugin-name.
  5. Update the package.json file with your info.
  6. Update the main plugin header in plugin.php with your plugin info.
  7. Run npm install.
  8. Run npm run dev.
  9. Global search and replace SB2Media\Hub namespaces with YourCompanyName\YourPluginName.
  10. Update composer.json with relevant information including the namespaces defined in the autoload section. They must match the namespaces used in the previous step.
  11. Run composer dump-autoload -o.
  12. In the WordPress dashboard, navigate to the Plugins page and locate the menu item that reads “Your Plugin Name.”
  13. Click on Activate.

Note that this will activate the source code of the starter plugin, but because it has no real functionality no menu items, meta boxes, or custom post types will be added.

Usage

Enqueuing Assets

Default behavior for enqueueing assets is via two configuration files found in the config folder. Front-end and back-end assets can be defined in enqueue.php and admin-enqueue.php, respectively. Adding multiple files is as simple as adding another entry in the configuration array. This is well-documented in each file.

Alternatively (or in conjunction with), assets can be enqueued via the EnqueueManager class' enqueueStyles and enqueueScripts methods. These are best called in the Plugin class' enqueueAssets and enqueueAdminAssets methods.

Each asset to be enqueued should be placed in the appropriate assets/sass (default for css), assets/css and/or assets/js subfolders. These filed must also be defined in webpack.mix.js in the plugin's root directory and compiled into the appropriate dist/ subfolder by executing npm run dev or npm run production on the command line.

Recommended Tools

i18n Tools

The WordPress Starter Plugin uses a variable to store the text domain used when internationalizing strings throughout. To take advantage of this method, there are tools that are recommended for providing correct, translatable files:

Any of the above tools should provide you with the proper tooling to internationalize the plugin.

License

The WordPress Starter Plugin is licensed under the GPL v2 or later.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

A copy of the license is included in the root of the plugin’s directory. The file is named LICENSE.

Assets

The assets/images directory contains three files.

  1. banner-772x250.png is used to represent the plugin’s header image.
  2. icon-256x256.png is a used to represent the plugin’s icon image (which is new as of WordPress 4.0).
  3. screenshot-1.png is used to represent a single screenshot of the plugin that corresponds to the “Screenshots” heading in your plugin README.txt.

Credits

This starter plugin was originally based on The WordPress Plugin Boilerplate which was started in 2011 by Tom McFarlin. The current version of the Boilerplate was developed in conjunction with Josh Eaton, Ulrich Pogson, and Brad Vincent. The fork which this is directly forked from was developed by Luís Rodrigues.

This plugin also uses code and concepts adapted from Carl Alexander and Tonya Mork's Fulcrum plugin.