// Remove the "admin bar" from any public facing theme // ------------------------------------------------------------------------------------------------------------------- if (is_admin() === false) { add_action('init', function () { wp_deregister_script('admin-bar'); wp_deregister_style('admin-bar'); remove_action('init', '_wp_admin_bar_init'); remove_action('wp_footer', 'wp_admin_bar_render', 1000); remove_action('admin_footer', 'wp_admin_bar_render', 1000); }, 0); } // ------------------------------------------------------------------------------------------------------------------- // The following is used when a REGISTERED USER creates a NEW BLOG // ------------------------------------------------------------------------------------------------------------------- add_action('wpmu_new_blog', function ($b, $u) { $activate = new \Pressbooks\Activation(); $activate->wpmuNewBlog($b, $u); }, 9, 2); // Force PB colors add_action('wp_login', '\\Pressbooks\\Activation::forcePbColors', 10, 2); add_action('profile_update', '\\Pressbooks\\Activation::forcePbColors'); add_action('user_register', '\\Pressbooks\\Activation::forcePbColors'); // ------------------------------------------------------------------------------------------------------------------- // Redirects // ------------------------------------------------------------------------------------------------------------------- add_filter('init', '\\Pressbooks\\Redirect\\rewrite_rules_for_format', 1); add_filter('init', '\\Pressbooks\\Redirect\\rewrite_rules_for_catalog', 1); add_filter('init', '\\Pressbooks\\Redirect\\rewrite_rules_for_api', 1); add_filter('init', '\\Pressbooks\\Redirect\\rewrite_rules_for_open', 1); add_filter('login_redirect', '\\Pressbooks\\Redirect\\login', 10, 3); // -------------------------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------------------------- // Check minimum requirements // ------------------------------------------------------------------------------------------------------------------- if (!function_exists('pb_meets_minimum_requirements') && !@(include_once PB_PLUGIN_DIR . 'compatibility.php')) { add_action('admin_notices', function () { echo '<div id="message" class="error fade"><p>' . __('Cannot find Pressbooks install.', 'pressbooks') . '</p></div>'; }); return; } elseif (!pb_meets_minimum_requirements()) { return; } // ------------------------------------------------------------------------------------------------------------------- // Configure root site // ------------------------------------------------------------------------------------------------------------------- register_activation_hook(__FILE__, function () { $activate = new \Pressbooks\Activation(); $activate->registerActivationHook(); }); // ------------------------------------------------------------------------------------------------------------------- // Initialize // ------------------------------------------------------------------------------------------------------------------- $GLOBALS['pressbooks'] = new \Pressbooks\Pressbooks(); // ------------------------------------------------------------------------------------------------------------------- // Hooks // ------------------------------------------------------------------------------------------------------------------- require PB_PLUGIN_DIR . 'hooks.php'; if (is_admin()) { require PB_PLUGIN_DIR . 'hooks-admin.php'; } // -------------------------------------------------------------------------------------------------------------------- // Shortcuts to help template designers who don't use real namespaces...