This is my mind dump on how to use the boiler plate for a custom plugin type. This is based on the worked example Now Hiring by Chris Wilcoxson.
Adding data
- includes\class_pgn.php::define_admin_hooks() creates the class pgn_admin which has the functions to create the custom type & taxomony and add the admin menu. register the class functions on hooks
- admin/class_pgn_admin.php mostly the 2 functions to setup the custom post type and the taxonomy
Displaying data
steps involved in the process of showing entries of the CPT
- (includes\class_)pgn::define_template_hooks — add an action to load a template that does the work, see next item
- (public\nh-template-functions::template_loader — include the appropriate template using includes\now-hiring-global-functions::now_hiring_get_template(template-name)
- (includes\class_)pgn::define_public_hooks() : add a init hook to call the function register_shortcodes
- (public\class_)pgn_public::register_shortcodes add the shortcode to call a function in this class
- (public\class_)pgn_public::sc_action do the display work:
- public\nh_public::list_openings
- ob_start()
- setup SC attributes including template name
- includes\Now_Hiring_Shared::get_openings to get items
- include public\templates\nh-loop
- invoke action handlers registered in 1 passing thru the item and the meta
- display the items requires the following templates
- now-hiring-before-loop
- now-hiring-before-loop-content
- now-hiring-loop-content
- now-hiring-after-loop-content
- now-hiring-after-loop
- get the output
- clean up
- return output
- public\nh_public::list_openings
How it works
- (includes\class_)pgn::define_public_hooks() call from constructor and create class pgn_public and does the following
- sets up the single using add_filter -> ‘single_template’ with call back in public\pgn-public::single_cpt_template
- registers shortcodes, see below
- (includes\class_) pgn:: define_template_hooks() call from constructor and add_action all different parts of the template, call back functions defined in pgn_Template_Functions
- (public\class_) pgn_Template_Functions is a series of functions that include pgn_get_template(template name)
- (includes\pgn_global_functions) locates the requested template file, looks in the theme first then in the plugin
Displaying – registering a short code
- Includes\class_pgn.php Pgn::constructor calls Pgn:: define_public_hooks()
- Pgn:: define_public_hooks()
- $this->loader->add_action( ‘init’, $plugin_public, ‘register_shortcodes’ ) — registers the short codes
- $this->loader->add_action( ‘nowhiring’, $plugin_public, ‘do_something’ ) — registers callback function