PluginProbe
果果推送 / 0.0.4
果果推送 v0.0.4
trunk 0.0.1 0.0.2 0.0.3 0.0.4 0.0.5 0.0.6 0.0.7
ggpush / includes / class-ggpush-task.php

class-ggpush-task.php in 果果推送 0.0.4, at includes/class-ggpush-task.php

381 lines 11.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * 定时推送
5 */
6 class Ggpush_Task
7 {
8
9 /**
10 * 初始化页面
11 * @return void
12 */
13 public static function init_page()
14 {
15 self::add_baidu_page();
16 self::add_bing_page();
17 self::add_indexnow_page();
18 }
19
20 /**
21 * 显示定时推送界面
22 * @return void
23 */
24 public static function show_page()
25 {
26 $tab = Ggpush_Plugin::get('tab', 'ggpush-timing-push');
27 if (!empty($_GET['settings-updated'])) {
28 // 添加更新信息
29 add_settings_error('ggpush_messages', 'ggpush_message', '设置已保存。', 'updated');
30 }
31 // 显示错误/更新信息
32 settings_errors('ggpush_messages');
33 ?>
34 <div class="wrap">
35 <h1 class="wp-heading-inline"><?php echo esc_html(get_admin_page_title()); ?></h1>
36 <nav class="nav-tab-wrapper wp-clearfix">
37 <a href="admin.php?page=ggpush-timing-push"
38 class="nav-tab<?php if (empty($tab) || 'ggpush-timing-push' === $tab) {
39 echo ' nav-tab-active';
40 } ?>">推送状态</a>
41 <a href="admin.php?page=ggpush-timing-push&tab=ggpush-baidu-page"
42 class="nav-tab<?php if ('ggpush-baidu-page' === $tab) {
43 echo ' nav-tab-active';
44 } ?>">百度推送</a>
45 <a href="admin.php?page=ggpush-timing-push&tab=ggpush-bing-page"
46 class="nav-tab<?php if ('ggpush-bing-page' === $tab) {
47 echo ' nav-tab-active';
48 } ?>">�
49 应推送</a>
50 <a href="admin.php?page=ggpush-timing-push&tab=ggpush-indexnow-page"
51 class="nav-tab<?php if ('ggpush-indexnow-page' === $tab) {
52 echo ' nav-tab-active';
53 } ?>">IndexNow推送</a>
54 </nav>
55 <?php if ((empty($tab) || 'ggpush-timing-push' === $tab)) { ?>
56 <form id="ggpush-task-table-form" method="get">
57 <input type="hidden" name="page" value="ggpush-timing-push"/>
58 <?php
59 $ggpush_task_table = new Ggpush_Task_Table();
60 $ggpush_task_table->prepare_items();
61 $ggpush_task_table->display();
62 ?>
63 </form>
64 <?php } else { ?>
65 <form action="options.php" method="post">
66 <input type="hidden" name="page" value="ggpush-timing-push">
67 <?php
68 // 输出表单
69 settings_fields($tab);
70 do_settings_sections($tab);
71 // 输出保存设置按钮
72 submit_button('保存更改');
73 ?>
74 </form>
75 <?php } ?>
76 </div>
77 <?php
78 }
79
80 // 百度
81 public static function add_baidu_page()
82 {
83 // 注册一个新页面
84 register_setting('ggpush-baidu-page', 'ggpush_options', array('Ggpush_Plugin', 'sanitize'));
85
86 add_settings_section(
87 'ggpush_section',
88 '普通收录',
89 array('Ggpush_Task', 'baidu_callback'),
90 'ggpush-baidu-page'
91 );
92
93 add_settings_field(
94 'baidu_interval',
95 '推送间隔',
96 array('Ggpush_Plugin', 'field_callback'),
97 'ggpush-baidu-page',
98 'ggpush_section',
99 array(
100 'label_for' => 'baidu_interval',
101 'form_type' => 'input',
102 'type' => 'number',
103 'form_desc' => '多少分钟推送一次,设置为0则不推送'
104 )
105 );
106
107 add_settings_field(
108 'baidu_num',
109 '每次推送链接数量',
110 array('Ggpush_Plugin', 'field_callback'),
111 'ggpush-baidu-page',
112 'ggpush_section',
113 array(
114 'label_for' => 'baidu_num',
115 'form_type' => 'input',
116 'type' => 'number'
117 )
118 );
119
120 add_settings_field(
121 'baidu_type',
122 '推送文章',
123 array('Ggpush_Plugin', 'field_callback'),
124 'ggpush-baidu-page',
125 'ggpush_section',
126 array(
127 'label_for' => 'baidu_type',
128 'form_type' => 'select',
129 'form_data' => array(
130 array(
131 'title' => '最新',
132 'value' => '1'
133 ),
134 array(
135 'title' => '随机',
136 'value' => '2'
137 ),
138 array(
139 'title' => '伪随机',
140 'value' => '3'
141 )
142 )
143 )
144 );
145
146 // 百度搜索引擎快速收录
147 add_settings_section(
148 'ggpush_section_baidu_fast',
149 '快速收录',
150 array('Ggpush_Task', 'baidu_fast_callback'),
151 'ggpush-baidu-page'
152 );
153
154 add_settings_field(
155 'baidu_fast_interval',
156 '推送间隔',
157 array('Ggpush_Plugin', 'field_callback'),
158 'ggpush-baidu-page',
159 'ggpush_section_baidu_fast',
160 array(
161 'label_for' => 'baidu_fast_interval',
162 'form_type' => 'input',
163 'type' => 'number',
164 'form_desc' => '多少分钟推送一次,设置为0则不推送'
165 )
166 );
167
168 add_settings_field(
169 'baidu_fast_num',
170 '每次推送链接数量',
171 array('Ggpush_Plugin', 'field_callback'),
172 'ggpush-baidu-page',
173 'ggpush_section_baidu_fast',
174 array(
175 'label_for' => 'baidu_fast_num',
176 'form_type' => 'input',
177 'type' => 'number'
178 )
179 );
180
181 add_settings_field(
182 'baidu_fast_type',
183 '推送文章',
184 array('Ggpush_Plugin', 'field_callback'),
185 'ggpush-baidu-page',
186 'ggpush_section_baidu_fast',
187 array(
188 'label_for' => 'baidu_fast_type',
189 'form_type' => 'select',
190 'form_data' => array(
191 array(
192 'title' => '最新',
193 'value' => '1'
194 ),
195 array(
196 'title' => '随机',
197 'value' => '2'
198 ),
199 array(
200 'title' => '伪随机',
201 'value' => '3'
202 )
203 )
204 )
205 );
206 }
207
208 /**
209 * 百度说明
210 * @return void
211 */
212 public static function baidu_callback()
213 {
214 ?>
215 <p>
216 <a href="https://ziyuan.baidu.com/linksubmit/index" target="_blank">普通收录</a>工�
217 �可以向百度搜索主动推送资源,缩短爬虫发现网站链接的时间,不保证收录和展现效果。
218 </p>
219 <?php
220 }
221
222 /**
223 * 百度说明
224 * @return void
225 */
226 public static function baidu_fast_callback()
227 {
228 ?>
229 <p>
230 <a href="https://ziyuan.baidu.com/dailysubmit/index" target="_blank">快速收录</a>工�
231 �可以向百度搜索主动推送资源,缩短爬虫发现网站链接的时间,对于高实效性�
232 容推荐使用快速收录工�
233 �,实时向搜索推送资源。
234 </p>
235 <?php
236 }
237
238 /**
239 * �
240
241 * @return void
242 */
243 public static function add_bing_page()
244 {
245 // 注册一个新页面
246 register_setting('ggpush-bing-page', 'ggpush_options', array('Ggpush_Plugin', 'sanitize'));
247
248 // �
249 应搜索引擎
250 add_settings_section(
251 'ggpush_section_bing',
252 null,
253 null,
254 'ggpush-bing-page'
255 );
256
257 add_settings_field(
258 'bing_interval',
259 '推送间隔',
260 array('Ggpush_Plugin', 'field_callback'),
261 'ggpush-bing-page',
262 'ggpush_section_bing',
263 array(
264 'label_for' => 'bing_interval',
265 'form_type' => 'input',
266 'type' => 'number',
267 'form_desc' => '多少分钟推送一次,设置为0则不推送'
268 )
269 );
270
271 add_settings_field(
272 'bing_num',
273 '每次推送链接数量',
274 array('Ggpush_Plugin', 'field_callback'),
275 'ggpush-bing-page',
276 'ggpush_section_bing',
277 array(
278 'label_for' => 'bing_num',
279 'form_type' => 'input',
280 'type' => 'number'
281 )
282 );
283
284 add_settings_field(
285 'bing_type',
286 '推送文章',
287 array('Ggpush_Plugin', 'field_callback'),
288 'ggpush-bing-page',
289 'ggpush_section_bing',
290 array(
291 'label_for' => 'bing_type',
292 'form_type' => 'select',
293 'form_data' => array(
294 array(
295 'title' => '最新',
296 'value' => '1'
297 ),
298 array(
299 'title' => '随机',
300 'value' => '2'
301 ),
302 array(
303 'title' => '伪随机',
304 'value' => '3'
305 )
306 )
307 )
308 );
309 }
310
311 /**
312 * IndexNow
313 * @return void
314 */
315 public static function add_indexnow_page()
316 {
317 // 注册一个新页面
318 register_setting('ggpush-indexnow-page', 'ggpush_options', array('Ggpush_Plugin', 'sanitize'));
319
320 // IndexNow
321 add_settings_section(
322 'ggpush_section_indexnow',
323 null,
324 null,
325 'ggpush-indexnow-page'
326 );
327
328 add_settings_field(
329 'indexnow_interval',
330 '推送间隔',
331 array('Ggpush_Plugin', 'field_callback'),
332 'ggpush-indexnow-page',
333 'ggpush_section_indexnow',
334 array(
335 'label_for' => 'indexnow_interval',
336 'form_type' => 'input',
337 'type' => 'number',
338 'form_desc' => '多少分钟推送一次,设置为0则不推送'
339 )
340 );
341
342 add_settings_field(
343 'indexnow_num',
344 '每次推送链接数量',
345 array('Ggpush_Plugin', 'field_callback'),
346 'ggpush-indexnow-page',
347 'ggpush_section_indexnow',
348 array(
349 'label_for' => 'indexnow_num',
350 'form_type' => 'input',
351 'type' => 'number'
352 )
353 );
354
355 add_settings_field(
356 'indexnow_type',
357 '推送文章',
358 array('Ggpush_Plugin', 'field_callback'),
359 'ggpush-indexnow-page',
360 'ggpush_section_indexnow',
361 array(
362 'label_for' => 'indexnow_type',
363 'form_type' => 'select',
364 'form_data' => array(
365 array(
366 'title' => '最新',
367 'value' => '1'
368 ),
369 array(
370 'title' => '随机',
371 'value' => '2'
372 ),
373 array(
374 'title' => '伪随机',
375 'value' => '3'
376 )
377 )
378 )
379 );
380 }
381 }