PluginProbe
果果推送 / trunk
果果推送 vtrunk
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 果果推送 trunk, at includes/class-ggpush-task.php

380 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/fastcrawl/index" target="_blank">快速抓取</a>工�
231 �可以向百度搜索主动推送资源,缩短爬虫发现网页链接的时间,通过快速抓取提交的资源将优�
232 �抓取,对是否收录及线上展现效果不保证。
233 </p>
234 <?php
235 }
236
237 /**
238 * �
239
240 * @return void
241 */
242 public static function add_bing_page()
243 {
244 // 注册一个新页面
245 register_setting('ggpush-bing-page', 'ggpush_options', array('Ggpush_Plugin', 'sanitize'));
246
247 // �
248 应搜索引擎
249 add_settings_section(
250 'ggpush_section_bing',
251 null,
252 null,
253 'ggpush-bing-page'
254 );
255
256 add_settings_field(
257 'bing_interval',
258 '推送间隔',
259 array('Ggpush_Plugin', 'field_callback'),
260 'ggpush-bing-page',
261 'ggpush_section_bing',
262 array(
263 'label_for' => 'bing_interval',
264 'form_type' => 'input',
265 'type' => 'number',
266 'form_desc' => '多少分钟推送一次,设置为0则不推送'
267 )
268 );
269
270 add_settings_field(
271 'bing_num',
272 '每次推送链接数量',
273 array('Ggpush_Plugin', 'field_callback'),
274 'ggpush-bing-page',
275 'ggpush_section_bing',
276 array(
277 'label_for' => 'bing_num',
278 'form_type' => 'input',
279 'type' => 'number'
280 )
281 );
282
283 add_settings_field(
284 'bing_type',
285 '推送文章',
286 array('Ggpush_Plugin', 'field_callback'),
287 'ggpush-bing-page',
288 'ggpush_section_bing',
289 array(
290 'label_for' => 'bing_type',
291 'form_type' => 'select',
292 'form_data' => array(
293 array(
294 'title' => '最新',
295 'value' => '1'
296 ),
297 array(
298 'title' => '随机',
299 'value' => '2'
300 ),
301 array(
302 'title' => '伪随机',
303 'value' => '3'
304 )
305 )
306 )
307 );
308 }
309
310 /**
311 * IndexNow
312 * @return void
313 */
314 public static function add_indexnow_page()
315 {
316 // 注册一个新页面
317 register_setting('ggpush-indexnow-page', 'ggpush_options', array('Ggpush_Plugin', 'sanitize'));
318
319 // IndexNow
320 add_settings_section(
321 'ggpush_section_indexnow',
322 null,
323 null,
324 'ggpush-indexnow-page'
325 );
326
327 add_settings_field(
328 'indexnow_interval',
329 '推送间隔',
330 array('Ggpush_Plugin', 'field_callback'),
331 'ggpush-indexnow-page',
332 'ggpush_section_indexnow',
333 array(
334 'label_for' => 'indexnow_interval',
335 'form_type' => 'input',
336 'type' => 'number',
337 'form_desc' => '多少分钟推送一次,设置为0则不推送'
338 )
339 );
340
341 add_settings_field(
342 'indexnow_num',
343 '每次推送链接数量',
344 array('Ggpush_Plugin', 'field_callback'),
345 'ggpush-indexnow-page',
346 'ggpush_section_indexnow',
347 array(
348 'label_for' => 'indexnow_num',
349 'form_type' => 'input',
350 'type' => 'number'
351 )
352 );
353
354 add_settings_field(
355 'indexnow_type',
356 '推送文章',
357 array('Ggpush_Plugin', 'field_callback'),
358 'ggpush-indexnow-page',
359 'ggpush_section_indexnow',
360 array(
361 'label_for' => 'indexnow_type',
362 'form_type' => 'select',
363 'form_data' => array(
364 array(
365 'title' => '最新',
366 'value' => '1'
367 ),
368 array(
369 'title' => '随机',
370 'value' => '2'
371 ),
372 array(
373 'title' => '伪随机',
374 'value' => '3'
375 )
376 )
377 )
378 );
379 }
380 }