Les 2 – Plugin opbouw

Lesbeschrijving

In deze les zetten we de structuur van de plugin op. Eerst maken we een paar mappen aan, en een definitie bestand. Daarna starten we met coderen door het defineren van de plugin naam. Daarna maken we een bestand aan waarin we alle bestand definities plaatsen.

Als laatste maken we de nu nog lege opstart klasse aan.

stappenplan:

1. Maak een nieuwe map aan in de my-event-organiser map met de naam admin. Hierin komt alle admin functionaliteit te staan. (wp-content/plugin/my-eventorganiser/admin)

2. Maak een nieuwe map aan in de admin map met de naam views. (wpcontent/plugins/my-event-organiser/admin/views)

3. Maak nog een nieuwe map aan in de my-event-organiser map met de naam includes. Hierin komt alle functionaliteit van de plugin die ook beschikbaar moet zijn vanaf de ‘voorkant’ van de website. (wp-content/plugins/my-event-organiser/includes)

4. Maak tenslotte nog een map aan in de includes map met de naam model. Hierin komen alle bestanden met de functionaliteit van de plugin (app) te staan. (wp-content/plugins/myevent-organiser/includes/model)

5. Nu maak je in de includes map een bestand met de naam defs.php.

6. Zet daar onderstaande definities in:

<?php
/**
* Definitions needed in the plugin
*
* @author < your name >
* @version 0.1
* 
* Version history
* 0.1 Initial version
*/

// De versie moet gelijk zijn met het versie nummer in de my-event-organiser.php header
define( 'MY_EVENT_ORGANISER_VERSION', '0.0.1' );

// Minimum required WordPress version for this plugin
define('MY_EVENT_ORGANISER_REQUIRED_WP_VERSION', '4.0');

define('MY_EVENT_ORGANISER_PLUGIN_BASENAME', plugin_basename( MY_EVENT_ORGANISER_PLUGIN));

define('MY_EVENT_ORGANISER_PLUGIN_NAME', trim( dirname( MY_EVENT_ORGANISER_PLUGIN_BASENAME), '/' ) );

// Folder structure
define('MY_EVENT_ORGANISER_PLUGIN_DIR', untrailingslashit( dirname( MY_EVENT_ORGANISER_PLUGIN ) ) );

define('MY_EVENT_ORGANISER_PLUGIN_INCLUDES_DIR', MY_EVENT_ORGANISER_PLUGIN_DIR . '/includes' );

define('MY_EVENT_ORGANISER_PLUGIN_MODEL_DIR', MY_EVENT_ORGANISER_PLUGIN_INCLUDES_DIR . '/model' );

define('MY_EVENT_ORGANISER_PLUGIN_ADMIN_DIR', MY_EVENT_ORGANISER_PLUGIN_DIR . '/admin' );

define('MY_EVENT_ORGANISER_PLUGIN_ADMIN_VIEWS_DIR', MY_EVENT_ORGANISER_PLUGIN_ADMIN_DIR . '/views' );

?>

7. Include het defs bestand in de my-event-organiser.php Zet de include onderin het bestand na de plugin naam definitie:

// Define the plugin name:
define ( 'MY_EVENT_ORGANISER_PLUGIN', __FILE__ );

// Include the general definition file:
require_once plugin_dir_path( __FILE__ ) .'includes/defs.php';

?>

8. Tenslotte maken we een lege plugin klasse aan. Deze gebruiken we later om de plugin op te bouwen. Zet onderin de my-event-organiser.php de volgende lege klasse en maak daar een instantie van:

// Include the general definition file:
require_once plugin_dir_path( __FILE__ ) .'includes/defs.php';

class MyEventOrganiser {

  public function __construct() {
 
  }
}

// Instantiate the class
$event_organiser = new MyEventOrganiser();
?>