plugin

code
<?php
/*
Plugin Name: Onderhoud
Description: Schakelt de onderhoudsmodus in en uit.
Author: Pascal ter Heege
Version: 1.0
*/
// Menu optie
function add_maintenance_menu() {
add_menu_page('Onderhoud', 'Onderhoud', 'manage_options', 'maintenance_settings', 'maintenance_settings_page');
}
add_action('admin_menu', 'add_maintenance_menu');
// Pagina van menu
function maintenance_settings_page() {
if (!current_user_can('manage_options')) {
wp_die('Je hebt geen toegang tot deze pagina.');
}
if (isset($_POST['maintenance_mode_toggle'])) {
update_option('maintenance_mode_active', $_POST['maintenance_mode_active']);
}
$maintenance_mode_active = get_option('maintenance_mode_active', 'off');
?>
<div class="wrap">
<h2>Onderhoudsmodus instellingen</h2>
<form method="post" action="">
<label for="maintenance_mode_active">
<input type="checkbox" name="maintenance_mode_active" id="maintenance_mode_active" value="on" <?php checked('on', $maintenance_mode_active); ?>>
Schakel onderhoudsmodus in
</label>
<p><em>Note: Onderhoudsmodus is momenteel <?php echo $maintenance_mode_active === 'on' ? 'ingeschakeld' : 'uitgeschakeld'; ?></em></p>
<p class="submit">
<input type="submit" name="maintenance_mode_toggle" class="button-primary" value="Opslaan">
</p>
</form>
</div>
<?php
}
// In en uitschakelen
function wp_maintenance_mode() {
if (get_option('maintenance_mode_active') === 'on' && !current_user_can('edit_themes') && !is_user_logged_in()) {
wp_die('Kom later terug');
}
}
add_action('wp', 'wp_maintenance_mode');
?>
