-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsettings-page.php
101 lines (73 loc) · 2.72 KB
/
settings-page.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
add_action( 'admin_menu', 'wp_monolog_add_admin_menu' );
add_action( 'admin_init', 'wp_monolog_settings_init' );
function wp_monolog_add_admin_menu( ) {
add_management_page( 'WP Monolog', 'WP Monolog', 'manage_options', 'wp_monolog', 'wp_monolog_options_page' );
}
function wp_monolog_settings_init( ) {
register_setting( 'pluginPage', 'wp_monolog_settings' );
add_settings_section(
'wp_monolog_error_email_settings',
__( 'Error Notification Settings', 'wp_monolog' ),
'wp_monolog_settings_section_callback',
'pluginPage'
);
add_settings_field(
'wp_monolog_error_from',
__( 'From e-mail:', 'wp_monolog' ),
'wp_monolog_error_from_render',
'pluginPage',
'wp_monolog_error_email_settings'
);
add_settings_field(
'wp_monolog_error_to',
__( 'To e-mail:', 'wp_monolog' ),
'wp_monolog_error_to_render',
'pluginPage',
'wp_monolog_error_email_settings'
);
add_settings_field(
'wp_monolog_error_subject',
__( 'Subject', 'wp_monolog' ),
'wp_monolog_error_subject_render',
'pluginPage',
'wp_monolog_error_email_settings'
);
}
function wp_monolog_error_from_render( ) {
$options = get_option( 'wp_monolog_settings' );
$from = !empty($options['WPMailHandler']['from']) ? $options['WPMailHandler']['from'] : get_option('admin_email');
?>
<input type='text' name='wp_monolog_settings[WPMailHandler][from]' value='<?php echo $from; ?>'>
<?php
}
function wp_monolog_error_to_render( ) {
$options = get_option( 'wp_monolog_settings' );
$to = !empty($options['WPMailHandler']['to']) ? $options['WPMailHandler']['to'] : get_option('admin_email');
?>
<input type='text' name='wp_monolog_settings[WPMailHandler][to]' value='<?php echo $to; ?>'>
<?php
}
function wp_monolog_error_subject_render( ) {
$options = get_option( 'wp_monolog_settings' );
$subject = !empty($options['WPMailHandler']['subject']) ? $options['WPMailHandler']['subject'] : 'An Error on the site "'.get_option('blogname').'" has been detected.';
?>
<input type='text' name='wp_monolog_settings[WPMailHandler][subject]' value='<?php echo $subject; ?>'>
<?php
}
function wp_monolog_settings_section_callback( ) {
echo __( 'These settings will override default values when configuring Monolog', 'wp_monolog' );
}
function wp_monolog_options_page( ) {
?>
<form action='options.php' method='post'>
<h2>WP Monolog</h2>
<?php
settings_fields( 'pluginPage' );
do_settings_sections( 'pluginPage' );
submit_button();
?>
</form>
<?php
}
?>