forked from lifishake/apip
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapip-options.php
349 lines (305 loc) · 12.6 KB
/
apip-options.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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
<?php
/**
* 简陋,由工具做成,少量修改
* 工具URL: http://wpsettingsapi.jeroensormani.com/
*/
add_action( 'admin_menu', 'apip_add_admin_menu' );
add_action( 'admin_init', 'apip_settings_init' );
function apip_add_admin_menu( ) {
add_menu_page( 'APIP设置', 'APIP设置', 'manage_options', __FILE__, 'apip_options_page', plugin_dir_url( __FILE__ ).'img/apip-ico.png' );
}
/*
支持的功能列表
01. 改进的功能摘要
*/
function apip_settings_init( ) {
register_setting( 'apip_option_group', 'apip_settings' );
add_settings_section(
'apip_pluginPage_section',
'APIP可配置项',
'apip_settings_section_callback',
'apip_option_group'
);
//01
add_settings_field(
'better_excerpt',
'颜色设定',
'apip_color_setting_render',
'apip_option_group',
'apip_pluginPage_section'
);
//02
add_settings_field(
'advanced_writer_settings',
'高级编辑选项',
'apip_advanced_writer_settings_render',
'apip_option_group',
'apip_pluginPage_section'
);
//03
add_settings_field(
'header_description',
'文字相关设定',
'apip_text_content_render',
'apip_option_group',
'apip_pluginPage_section'
);
//04
add_settings_field(
'local_gravatar',
'GFW相关',
'apip_anti_gfw_render',
'apip_option_group',
'apip_pluginPage_section'
);
//05
add_settings_field(
'blocked_commenters',
'留言管理',
'apip_blocked_commenters_render',
'apip_option_group',
'apip_pluginPage_section'
);
//06
add_settings_field(
'social_share_settings',
'社会化分享',
'apip_social_share_render',
'apip_option_group',
'apip_pluginPage_section'
);
//07
add_settings_field(
'shortcode_settings',
'自定义的SHORTCODE',
'apip_shortcodes_render',
'apip_option_group',
'apip_pluginPage_section'
);
//08
add_settings_field(
'heavy_tools_settings',
'比较复杂的功能',
'apip_heavy_tools_render',
'apip_option_group',
'apip_pluginPage_section'
);
//99
add_settings_field(
'local_definition_count',
'自定义widget',
'apip_local_widgets_render',
'apip_option_group',
'apip_pluginPage_section'
);
//-1
/*add_settings_field(
'test_field_settings',
'保留功能',
'apip_test_field_render',
'apip_option_group',
'apip_pluginPage_section'
);*/
/*
add_settings_field(
'apip_text_field_0',
__( 'Settings field description', 'pewae.com' ),
'apip_text_field_0_render',
'pluginPage',
'apip_pluginPage_section'
);
add_settings_field(
'apip_radio_field_1',
__( 'Settings field description', 'pewae.com' ),
'apip_radio_field_1_render',
'pluginPage',
'apip_pluginPage_section'
);
}
function apip_text_field_0_render( ) {
$options = get_option( 'apip_settings' );
?>
<input type='text' name='apip_settings[apip_text_field_0]' value='<?php echo $options['apip_text_field_0']; ?>'>
<?php
}
add_settings_field(
'apip_radio_field_1',
__( 'Settings field description', 'apip' ),
'apip_radio_field_1_render',
'apip_option_group',
'apip_pluginPage_section'
);
add_settings_field(
'apip_textarea_field_2',
__( 'Settings field description', 'apip' ),
'apip_textarea_field_2_render',
'apip_option_group',
'apip_pluginPage_section'
);*/
}
function apip_color_setting_render( ) {
//01
$options = get_option( 'apip_settings' );
?>
<span> 自定义链接颜色:</span>
<input type= 'text' name='apip_settings[link_color]' id='link-color' value='<?php if ( isset( $options['link_color'] ) ) echo $options['link_color']; else echo " #1A5F99"; ?>' /></br>
<span> 自定义文字颜色:</span>
<input type= 'text' name='apip_settings[font_color]' id='font-color' value='<?php if ( isset( $options['font_color'] ) ) echo $options['font_color']; else echo " #0A161F"; ?>' /></br>
<span> 自定义边框颜色:</span>
<input type= 'text' name='apip_settings[border_color]' id='border-color' value='<?php if ( isset( $options['border_color'] ) ) echo $options['border_color']; else echo " #8A8988"; ?>' /></br>
<span> 自定义背景颜色:</span>
<input type= 'text' name='apip_settings[bg_color]' id='bg-color' value='<?php if ( isset( $options['bg_color'] ) ) echo $options['bg_color']; else echo " #ECE5DF"; ?>' /></br>
<?php
}
function apip_advanced_writer_settings_render()
{
//02
$options = get_option( 'apip_settings' );
?>
<span> 禁止自动保存:</span>
<input type='checkbox' name='apip_settings[auto_save_disabled]' <?php checked( $options['auto_save_disabled'], 1 ); ?> value='1'/></br>
<span> 禁止保存版本修订(autorevision):</span>
<input type='checkbox' name='apip_settings[save_revisions_disable]' <?php checked( $options['save_revisions_disable'], 1 ); ?> value='1'/></br>
<span> 显示AdminBar:</span>
<input type='checkbox' name='apip_settings[show_admin_bar]' <?php checked( $options['show_admin_bar'], 1 ); ?> value='1'/></br>
<span> 前台显示中文:</span>
<input type='checkbox' name='apip_settings[forground_chinese]' <?php checked( $options['forground_chinese'], 1 ); ?> value='1'/></br>
<span> 屏蔽OpenSans字体:</span>
<input type='checkbox' name='apip_settings[block_open_sans]' <?php checked( $options['block_open_sans'], 1 ); ?> value='1'/></br>
<span> 默认留言widget中屏蔽作者:</span>
<input type='checkbox' name='apip_settings[show_author_comment]' <?php checked( $options['show_author_comment'], 1 ); ?> value='1'/></br>
<span> 搜索结果只有一条时直接跳转:</span>
<input type='checkbox' name='apip_settings[redirect_if_single]' <?php checked( $options['redirect_if_single'], 1 ); ?> value='1'/></br>
<span> 保护wp_comments.php:</span>
<input type='checkbox' name='apip_settings[protect_comment_php]' <?php checked( $options['protect_comment_php'], 1 ); ?> value='1'/></br>
<span> 搜索结果中屏蔽page:</span>
<input type='checkbox' name='apip_settings[search_without_page]' <?php checked( $options['search_without_page'], 1 ); ?> value='1'/></br>
<?php
}
function apip_text_content_render( ) {
//03
$options = get_option( 'apip_settings' );
?>
<input type='checkbox' name='apip_settings[better_excerpt]' <?php checked( $options['better_excerpt'], 1 ); ?> value='1'/>
<span> 摘要长度:</span>
<input type='text' name='apip_settings[excerpt_length]' size='5' value='<?php echo $options['excerpt_length']; ?>'/></br>
<span> 结尾字符:</span>
<input type='text' name='apip_settings[excerpt_ellipsis]' size='10' value='<?php echo $options['excerpt_ellipsis']; ?>'/></br>
<input type='checkbox' name='apip_settings[header_description]' <?php checked( $options['header_description'], 1 ); ?> value='1'/>
<span> 网站描述(留空则使用网站副标题):</span>
<input type='text' name='apip_settings[hd_home_text]' value='<?php echo htmlspecialchars(stripslashes($options['hd_home_text'])); ?>' /></br>
<span> 网站标签(【,】分割(留空则使用10个最常用标签):</span>
<input type='text' name='apip_settings[hd_home_keyword]' value='<?php echo htmlspecialchars(stripslashes($options['hd_home_keyword'])); ?>' />
<?php
}
function apip_anti_gfw_render()
{
//04
$options = get_option( 'apip_settings' );
?>
<span> gravatar使用本地缓存(不使用则替换网址):</span>
<input type='checkbox' name='apip_settings[local_gravatar]' <?php checked( $options['local_gravatar'], 1 ); ?> value='1'/></br>
<span> 替换emojie地址:</span>
<input type='checkbox' name='apip_settings[replace_emoji]' <?php checked( $options['replace_emoji'], 1 ); ?> value='1'/>
<?php
}
function apip_blocked_commenters_render()
{
//05
$options = get_option( 'apip_settings' );
?>
<span> 垃圾关键字列表:</span></br>
<textarea rows='4' cols='40' name='apip_settings[blocked_commenters]' ><?php echo htmlspecialchars(stripslashes($options['blocked_commenters'])); ?></textarea>
<span> 启用用户留言评分(js):</span>
<input type='checkbox' name='apip_settings[commentator_rating_enable]' <?php checked( $options['commentator_rating_enable'], 1 ); ?> value='1'></br>
<?php
}
function apip_social_share_render()
{
//06
$options = get_option( 'apip_settings' );
?>
<span> 是否允许(css+js):</span>
<input type='checkbox' name='apip_settings[social_share_enable]' <?php checked( $options['social_share_enable'], 1 ); ?> value='1'>
<span> Twitter:</span>
<input type='checkbox' name='apip_settings[social_share_twitter]' <?php checked( $options['social_share_twitter'], 1 ); ?> value='1'>
<span> 新浪微博:</span>
<input type='checkbox' name='apip_settings[social_share_sina]' <?php checked( $options['social_share_sina'], 1 ); ?> value='1'>
<span> 腾讯微博:</span>
<input type='checkbox' name='apip_settings[social_share_tencent]' <?php checked( $options['social_share_tencent'], 1 ); ?> value='1'>
<span> facebook:</span>
<input type='checkbox' name='apip_settings[social_share_facebook]' <?php checked( $options['social_share_facebook'], 1 ); ?> value='1'>
<span> google+:</span>
<input type='checkbox' name='apip_settings[social_share_googleplus]' <?php checked( $options['social_share_googleplus'], 1 ); ?> value='1'>
<span> 开心:</span>
<input type='checkbox' name='apip_settings[social_share_kaixin]' <?php checked( $options['social_share_kaixin'], 1 ); ?> value='1'>
<span> 人人:</span>
<input type='checkbox' name='apip_settings[social_share_renren]' <?php checked( $options['social_share_renren'], 1 ); ?> value='1'>
<?php
}
function apip_shortcodes_render()
{
//07
$options = get_option( 'apip_settings' );
?>
<span> 使用自定义TagCloud页(css)<i>CODE:mytagcloud</i>:</span>
<input type='checkbox' name='apip_settings[apip_tagcloud_enable]' <?php checked( $options['apip_tagcloud_enable'], 1 ); ?> value='1'></br>
<span> 使用自定义Link页(css)<i>CODE:mylink</i>:</span>
<input type='checkbox' name='apip_settings[apip_link_enable]' <?php checked( $options['apip_link_enable'], 1 ); ?> value='1'></br>
<span> 使用自定义归档页(css+js)<i>CODE:myarchive</i>:</span>
<input type='checkbox' name='apip_settings[apip_archive_enable]' <?php checked( $options['apip_archive_enable'], 1 ); ?> value='1'></br>
<?php
}
function apip_heavy_tools_render()
{
//08
$options = get_option( 'apip_settings' );
?>
<span> 使用code_heighlight(js+css+content_filter):</span>
<input type='checkbox' name='apip_settings[apip_codehighlight_enable]' <?php checked( $options['apip_codehighlight_enable'], 1 ); ?> value='1'></br>
<span> 使用lazy_load(js+content_filter):</span>
<input type='checkbox' name='apip_settings[apip_lazyload_enable]' <?php checked( $options['apip_lazyload_enable'], 1 ); ?> value='1'></br>
<span> 查询、归档页进入单页后,“上一页”、“下一页”在该范围内跳转(js):</span>
<input type='checkbox' name='apip_settings[range_jump_enable]' <?php checked( $options['range_jump_enable'], 1 ); ?> value='1'></br>
<span> 开启邮件回复(js):</span>
<input type='checkbox' name='apip_settings[notify_comment_reply]' <?php checked( $options['notify_comment_reply'], 1 ); ?> value='1'/></br>
<span> 豆瓣条目(css+js)<i>CODE:mydouban</i>:</span>
<input type='checkbox' name='apip_settings[apip_douban_enable]' <?php checked( $options['apip_douban_enable'], 1 ); ?> value='1'></br>
<span> gaintbomb API KEY<i>CODE:mygame</i>:</span>
<input type='text' name='apip_settings[gaintbomb_key]' size='64' value='<?php echo $options['gaintbomb_key']; ?>'/></br>
<?php
}
function apip_local_widgets_render()
{
//99
$options = get_option( 'apip_settings' );
?>
<span> 使用自定义widget:</span>
<input type='checkbox' name='apip_settings[local_widget_enable]' <?php checked( $options['local_widget_enable'], 1 ); ?> value='1'></br>
<span> 默认条数:</span>
<input type='text' size = '5' name='apip_settings[local_definition_count]' value='<?php echo htmlspecialchars(stripslashes($options['local_definition_count'])); ?>' >
<?php
}
function apip_settings_section_callback( ) {
echo '<span>一些基本设定项目,抄自多个插件</span>';
}
function apip_options_page( ) {
?>
<div id="apip_page_content" class="wrap apip-option" >
<h1><span>A</span>ll <span>P</span>lugins <span>I</span>n <span>P</span>ewae</h1>
<form action='options.php' method='post'>
<?php
settings_fields( 'apip_option_group' );
do_settings_sections( 'apip_option_group' );
submit_button();
?>
</form>
</div>
<?php
}
function apip_test_field_render() {
?>
<span>WP->is_ssl = <?php echo is_ssl()? 'YES':'NO'; ?> WP_FS__IS_HTTPS = <?php echo WP_FS__IS_HTTPS?'YES':'NO'; ?> </span>
<?php
}
?>