define('WPKB_FILE', __FILE__); define('WPKB_VERSION', '1.2'); // load composer autoloader if (!function_exists('wpkb')) { require __DIR__ . '/vendor/autoload.php'; } // load constants, filters, actions & shortcodes require __DIR__ . '/src/default-actions.php'; require __DIR__ . '/src/default-filters.php'; require __DIR__ . '/src/shortcodes.php'; // instantiate object tree global $wpkb; $wpkb = wpkb(); $wpkb['options'] = $options = new Options('wpkb', array('custom_archive_page_id' => 0)); $router = new Router($options->get('custom_archive_page_id', 0)); $router->add_hooks(); $wpkb['plugin'] = $plugin = new Plugin(WPKB_VERSION, __FILE__, __DIR__); $wpkb['categories'] = new Term_List('wpkb-category'); $wpkb['keywords'] = new Term_List('wpkb-keyword'); // search $wpkb['search'] = $search = new Search($plugin); $search->add_hooks(); // breadcrumbs $wpkb['breadcrumbs'] = function () use($router) { return new Breadcrumbs\Crumbs($router->archive_page); }; // code highlighting $highlighting = new CodeHighlighting($plugin); $highlighting->add_hooks(); // callout boxes $callouts = new Callouts();