upskill-event-manager/hvac-community-events/includes/class-hvac-settings.php

71 lines
No EOL
2.1 KiB
PHP

<?php
/**
* Handles plugin settings and options
*/
if (!defined('ABSPATH')) {
exit;
}
class HVAC_Settings {
public function __construct() {
add_action('admin_menu', array($this, 'add_admin_menu'));
add_action('admin_init', array($this, 'register_settings'));
}
public function add_admin_menu() {
add_options_page(
__('HVAC Community Events', 'hvac-ce'),
__('HVAC Community', 'hvac-ce'),
'manage_options',
'hvac-ce',
array($this, 'options_page')
);
}
public function register_settings() {
register_setting('hvac_ce_options', 'hvac_ce_options');
add_settings_section(
'hvac_ce_main',
__('HVAC Community Events Settings', 'hvac-ce'),
array($this, 'settings_section_callback'),
'hvac-ce'
);
add_settings_field(
'notification_emails',
__('Trainer Notification Emails', 'hvac-ce'),
array($this, 'notification_emails_callback'),
'hvac-ce',
'hvac_ce_main'
);
}
public function settings_section_callback() {
echo '<p>' . __('Configure settings for HVAC Community Events', 'hvac-ce') . '</p>';
}
public function notification_emails_callback() {
$options = get_option('hvac_ce_options');
echo '<input type="text" name="hvac_ce_options[notification_emails]" value="' .
esc_attr($options['notification_emails'] ?? '') . '" class="regular-text">';
echo '<p class="description">' .
__('Comma-separated list of emails to notify when new trainers register', 'hvac-ce') . '</p>';
}
public function options_page() {
?>
<div class="wrap">
<h1><?php esc_html_e('HVAC Community Events Settings', 'hvac-ce'); ?></h1>
<form method="post" action="options.php">
<?php
settings_fields('hvac_ce_options');
do_settings_sections('hvac-ce');
submit_button();
?>
</form>
</div>
<?php
}
}