跳到内容
导航菜单
切换导航
登录
产品
行动
自动化任何工作流
包装
托管和管理程序包
安全
查找并修复漏洞
代码空间
即时开发环境
GitHub Copilot公司
使用AI编写更好的代码
代码审查
管理代码更改
问题
计划和跟踪工作
讨论
在代码外协作
探索
所有功能
文档
GitHub技能
博客
解决
按大小
企业
团队
创业公司
按行业划分
保健
金融服务
制造业
按用例
CI/CD和自动化
开发运营
开发安全操作
资源
话题
人工智能
开发运营
安全
软件开发
查看全部
探索
学习途径
白皮书、电子书、网络研讨会
客户案例
合作伙伴
开放源代码
GitHub赞助商
资助开源开发人员
ReadME项目
GitHub社区文章
存储库
话题
趋向
收藏
企业
企业平台
人工智能驱动的开发者平台
可用的加载项
高级安全
企业级安全功能
GitHub Copilot公司
企业级AI功能
特优支持
企业级全天候支持
定价
搜索或跳转到。。。
搜索代码、存储库、用户、问题、推送请求。。。
搜索
清除
搜索语法提示
提供反馈
我们阅读了每一条反馈,并非常认真地对待您的意见。
包括我的电子邮件地址以便联系我
保存的搜索
使用保存的搜索更快地筛选结果
姓名
查询
要查看所有可用的限定符,请参阅我们的
文档
.
登录
注册
重置焦点
您使用另一个选项卡或窗口登录。
重新加载
刷新会话。
您在另一个选项卡或窗口中注销。
重新加载
刷新会话。
您在另一个选项卡或窗口上切换了帐户。
重新加载
刷新会话。
解除警报
{{消息}}
WordPress(文字出版社)
/
文字印刷-开发
公共镜像
镜像自
git://develop.git.wordpress.org/
通知
您必须登录才能更改通知设置
福克
2.5公里
星星
2.5公里
代码
Pull请求
1.7公里
行动
安全
洞察力
其他导航选项
代码
Pull请求
行动
安全
洞察力
文件夹
6.5
面包屑
文字印刷-开发
/
型钢混凝土
/
wp包括
/
小部件
/
类wp-widget-media.php
责备
责备
最新提交
历史
历史
516行(464个位置)·15 KB
6.5
面包屑
文字印刷-开发
/
型钢混凝土
/
wp包括
/
小部件
/
类wp-widget-media.php
顶部
文件元数据和控件
代码
责备
516行(464个位置)·15 KB
原始
1
2
三
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
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
<?
php(电话)
/**
*小工具API:WP_Media_Widget类
*
*@package WordPress
*@子包小工具
*@自4.8.0起
*/
/**
*实现媒体小部件的核心类。
*
*@自4.8.0起
*
*@请参阅WP_Widget
*/
摘要
班
WP_小工具_媒体
延伸
WP_小工具
{
/**
*翻译标签。
*
*@自4.8.0起
*@var数组
*/
公众的
$
110亿
=
阵列
(
'
添加_小部件
'
=>
''
,
'
替换媒体
'
=>
''
,
'
编辑_媒体
'
=>
''
,
'
媒体库状态多
'
=>
''
,
'
媒体库状态单一
'
=>
''
,
'
缺少附件
'
=>
''
,
'
未选择媒体
'
=>
''
,
'
添加媒体(_M)
'
=>
''
,
);
/**
*小部件是否已注册。
*
*@自4.8.1起
*@var布尔
*/
受保护的
$
已注册
=
假
;
/**
*默认小部件描述。
*
*@自6.0.0起
*@var字符串
*/
受保护的
静止的
$
默认描述(_D)
=
''
;
/**
*小部件使用的默认本地化字符串。
*
*@自6.0.0起
*@var字符串[]
*/
受保护的
静止的
$
l10n_默认值
=
阵列
();
/**
*建造师。
*
*@自4.8.0起
*
*小部件的@param string$id_base base id,小写且唯一。
*配置页面上显示的小部件的@param string$name名称。
*@param array$widget_options可选。
小工具选项。
请参阅wp_register_sidebar_widget()了解
*关于已接受参数的信息。
默认空数组。
*@param array$control_options可选。
小工具控制选项。
请参阅wp_register_widget_control()
*获取有关已接受参数的信息。
默认空数组。
*/
公众的
功能
__构造
(
$
id基础(_B)
,
$
名称
,
$
小部件选项(_O)
=
阵列
(),
$
控制选项(_O)
=
阵列
() ) {
$
小部件_选项
=
wp_parse_args
(
$
小部件选项(_O)
,
阵列
(
'
描述
'
=>
自己
::
获取默认描述
(),
'
自定义_选择_刷新
'
=>
真的
,
'
显示实例列表
'
=>
真的
,
'
mime_type
'
=>
''
,
)
);
$
控制点(_O)
=
wp_parse_args
(
$
控制选项(_O)
,
阵列
() );
$
这
->
110亿
=
阵列_合并
(
自己
::
获取_110n_默认值
(),
阵列过滤器
(
$
这
->
110亿
) );
起源
::
__构造
(
$
id基础(_B)
,
$
名称
,
$
小部件_选项
,
$
控制点(_O)
);
}
/**
*在注册该小部件类的所有小部件实例时添加挂钩。
*
*@自4.8.0起
*
*@param int$number可选。
此小部件实例的唯一订单号
*与同类的其他实例相比。
默认值为1。
*/
公众的
功能
_寄存器_一
(
$
数
= -
1
) {
起源
::
_寄存器_一
(
$
数
);
如果
(
$
这
->
已注册
) {
返回
;
}
$
这
->
已注册
=
真的
;
/*
*注意,定制器中的小部件组件也可以
*WP_Customize_widgets::print_scripts()中的“admin_print_scripts-widgets.php”操作。
*/
添加操作(_A)
(
'
admin_print_scripts-widgets.php
'
,
阵列
(
$
这
,
'
排队管理员脚本
'
) );
如果
(
$
这
->
is_preview(预览)
() ) {
添加操作(_A)
(
'
wp_排队_脚本
'
,
阵列
(
$
这
,
'
排队审核脚本
'
) );
}
/*
*注意,定制器中的小部件组件也可以
*WP_Customize_widgets::print_footer_scripts()中的“admin_footer-widgets.php”操作。
*/
添加操作(_A)
(
'
admin_footer-widgets.php
'
,
阵列
(
$
这
,
'
渲染控制模板脚本
'
) );
添加筛选器
(
'
显示媒体状态
'
,
阵列
(
$
这
,
'
显示媒体状态
'
),
10
,
2
);
}
/**
*获取小部件实例(项)属性的模式。
*
*@自4.8.0起
*
*@请参阅WP_REST_Controller::get_item_schema()
*@请参阅WP_REST_Controller::get_additional_fields()
*@链接
https://core.trac.wordpress.org/ticket/35574
*
*属性的@return数组架构。
*/
公众的
功能
获取实例模式
() {
$
模式
=
阵列
(
'
附件id
'
=>
阵列
(
'
类型
'
=>
'
整数
'
,
'
违约
'
=>
0
,
'
最低限度
'
=>
0
,
'
描述
'
=>
__
(
'
附件帖子ID
'
),
'
媒体_放置
'
=>
'
身份证件
'
,
),
'
网址
'
=>
阵列
(
'
类型
'
=>
'
一串
'
,
'
违约
'
=>
''
,
'
格式
'
=>
'
uri(用户界面)
'
,
'
描述
'
=>
__
(
'
媒体文件的URL
'
),
),
'
标题
'
=>
阵列
(
'
类型
'
=>
'
一串
'
,
'
违约
'
=>
''
,
'
清理回调
'
=>
'
清理文本字段
'
,
'
描述
'
=>
__
(
'
小部件的标题
'
),
'
应该审核更新
'
=>
假
,
),
);
/**
*过滤媒体小部件实例架构以添加其他属性。
*
*@自4.9.0起
*
*@param array$schema实例架构。
*@param WP_Widget_Media$Widget Widget对象。
*/
$
模式
=
应用筛选器
(
"
小部件_
{
$
这
->
id基础(_B)
}
_实例模式
"
,
$
模式
,
$
这
);
返回
$
模式
;
}
/**
*确定提供的附件是否用于具有指定MIME类型的有效附件帖子。
*
*@自4.8.0起
*
*@param int | WP_Post$附件帖子ID或对象。
*@param string$mime_type mime类型。
*@return bool正在匹配MIME类型。
*/
公众的
功能
带有时间类型的附件
(
$
附件
,
$
mime_type
) {
如果
(
空的
(
$
附件
) ) {
返回
假
;
}
$
附件
=
获取_发布
(
$
附件
);
如果
( !
$
附件
) {
返回
假
;
}
如果
(
'
附件
'
!==
$
附件
->
帖子类型
) {
返回
假
;
}
返回
wp_附件
(
$
mime_type
,
$
附件
);
}
/**
*对标记列表字符串进行Sanitize处理,例如在HTML rel和类属性中使用的字符串。
*
*@自4.8.0起
*
*@链接
http://w3c.github.io/html/instructure.html#空间
-分离的tokens
*@链接
https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList网站
*@param string | array$tokens由空格或标记数组分隔的标记列表。
*@return string清理令牌字符串列表。
*/
公众的
功能
清理token_list
(
$
代币
) {
如果
(
是字符串
(
$
代币
) ) {
$
代币
=
预处理_拆分
(
'
/\秒+/
'
,
修剪
(
$
代币
) );
}
$
代币
=
阵列_贴图
(
'
清理html_class
'
,
$
代币
);
$
代币
=
阵列过滤器
(
$
代币
);
返回
内爆
(
'
'
,
$
代币
);
}
/**
*在前端显示小部件。
*
*@自4.8.0起
*
*@请参阅WP_Widget::Widget()
*
*@param array$args显示参数,包括before_title、after_title、before_widget和after_widget。
*@param array$instance已从数据库中保存设置。
*/
公众的
功能
小装置
(
$
参数
,
$
实例
) {
$
实例
=
wp_parse_args
(
$
实例
,
wp_列表_运气
(
$
这
->
获取实例模式
(),
'
违约
'
) );
//如果未选择媒体,则短路。
如果
( !
$
这
->
有内容(_C)
(
$
实例
) ) {
返回
;
}
回声
$
参数
[
'
before_widget之前
'
];
/**该过滤器记录在wp-includes/widgets/class-wp-widget-pages.php中*/
$
标题
=
应用筛选器
(
'
小部件标题
'
,
$
实例
[
'
标题
'
],
$
实例
,
$
这
->
id基础(_B)
);
如果
(
$
标题
) {
回声
$
参数
[
'
标题之前
'
] .
$
标题
.
$
参数
[
'
标题之后(_T)
'
];
}
/**
*在渲染媒体之前过滤媒体小部件实例。
*
*@自4.8.0起
*
*@param array$instance实例数据。
*@param array$args小部件参数。
*@param WP_Widget_Media$Widget Widget对象。
*/
$
实例
=
应用筛选器
(
"
小部件_
{
$
这
->
id基础(_B)
}
_实例
"
,
$
实例
,
$
参数
,
$
这
);
$
这
->
渲染器_媒体
(
$
实例
);
回声
$
参数
[
'
小部件之后
'
];
}
/**
*在保存小部件表单值时对其进行清理。
*
*@自4.8.0起
*@since 5.9.0将`$instance`重命名为`$old_instance`以匹配父类
*用于PHP 8命名参数支持。
*
*@请参阅WP_Widget::update()
*@请参阅WP_REST_Request::has_valid_params()
*@请参阅WP_REST_Request::sanitize_params()
*
*@param array$new_instance刚刚发送要保存的值。
*@param array$old_instance以前从数据库中保存的值。
*@return array更新了要保存的安全值。
*/
公众的
功能
更新
(
$
新建实例(_I)
,
$
旧实例(_I)
) {
$
模式
=
$
这
->
获取实例模式
();
foreach公司
(
$
模式
作为
$
领域
=>
$
字段_架构
) {
如果
( !
数组键存在
(
$
领域
,
$
新建实例(_I)
) ) {
持续
;
}
$
价值
=
$
新建实例(_I)
[
$
领域
];
/*
*rest_validate_value_from_schema()的解决方法,因为
*rest_is_boolean(“”)===false,而rest_is_coolean('1')为true。
*/
如果
(
'
布尔值
'
===
$
字段_架构
[
'
类型
'
] &&
''
===
$
价值
) {
$
价值
=
假
;
}
如果
(
真的
!==
rest_validate_value_from_schema(剩余有效值)
(
$
价值
,
$
字段_方案
,
$
领域
) ) {
持续
;
}
$
价值
=
rest从架构中删除值
(
$
价值
,
$
字段_架构
);
//@codeCoverage忽略开始
如果
(
is_wp_错误
(
$
价值
) ) {
持续
;
//当rest_sanitize_value_from_schema()返回其phpdoc@return标记指示的WP_Error时,处理大小写。
}
//@codeCoverage忽略结束
如果
(
发行
(
$
字段_架构
[
'
清理回调
'
] ) ) {
$
价值
=
呼叫用户取消
(
$
字段_架构
[
'
清理回调
'
],
$
价值
);
}
如果
(
is_wp_错误
(
$
价值
) ) {
持续
;
}
$
旧实例(_I)
[
$
领域
] =
$
价值
;
}
返回
$
旧实例(_I)
;
}
/**
*在前端渲染媒体。
*
*@自4.8.0起
*
*@param array$instance Widget实例道具。
*/
摘要
公众的
功能
渲染器_媒体
(
$
实例
);
/**
*输出设置更新表单。
*
*请注意,小部件UI本身是通过“MediaWidgetControl#render()”用JavaScript呈现的。
*
*@自4.8.0起
*
*@请参阅\WP_Widget_Media::render_control_template_scripts()JS模板所在的位置。
*
*@param array$instance当前设置。
*/
最终的
公众的
功能
形式
(
$
实例
) {
$
实例模式
=
$
这
->
获取实例模式
();
$
实例
=
wp_array_slice_assoc
(
wp_parse_args
( (
阵列
)
$
实例
,
wp_列表_运气
(
$
实例模式
,
'
违约
'
) ),
数组键
(
$
实例模式
)
);
foreach公司
(
$
实例
作为
$
名称
=>
$
价值
) :
?>
<输入
type=“隐藏”
data-property=“
<?
php(电话)
回声
esc属性
(
$
名称
);
?>
"
class=“media-widget-instance-property”
name=“
<?
php(电话)
回声
esc属性
(
$
这
->
获取字段名称
(
$
名称
) );
?>
"
id=“
<?
php(电话)
回声
esc属性
(
$
这
->
获取字段id
(
$
名称
) );
//wpWidgets.appendTitle()特别需要。
?>
"
value=“
<?
php(电话)
回声
esc属性
(
是数组(_A)
(
$
价值
) ?
内爆
(
'
,
'
,
$
价值
) : (
一串
)
$
价值
);
?>
"
/>
<?
php(电话)
每个端部
;
}
/**
*过滤“介质”列表中项目的默认介质显示状态。
*
*@自4.8.0起
*
*@param array$states媒体状态的数组。
*@param WP_Post$Post当前附件对象。
*@return数组
*/
公众的
功能
显示媒体状态
(
$
状态
,
$
邮递
=
无效的
) {
如果
( !
$
邮递
) {
$
邮递
=
获取_发布
();
}
//统计此附件在小部件中使用的次数。
$
使用_计数
=
0
;
foreach公司
(
$
这
->
获取设置(_S)
()
作为
$
实例
) {
如果
(
发行
(
$
实例
[
'
附件id
'
] ) &&
$
实例
[
'
附件id
'
] ===
$
邮递
->
身份证件
) {
++
$
使用计数
;
}
}
如果
(
1
===
$
使用计数
) {
$
状态
[] =
$
这
->
110亿
[
'
媒体库状态单一
'
];
}
埃尔塞夫
(
$
使用_计数
>
0
) {
$
状态
[] =
把格式数据写成串
(
translate_nooped_plural
(
$
这
->
110亿
[
'
媒体库状态多
'
],
$
使用_计数
),
数字格式i18n
(
$
使用_计数
) );
}
返回
$
状态
;
}
/**
*将预览脚本排队。
*
*这些脚本通常在呈现小部件时实时排队。
*然而,在定制程序中,可以通过以下方式动态添加和呈现小部件
*选择性刷新,因此无条件地将它们排队很重要
*如果确实添加了小部件。
*
*@自4.8.0起
*/
公众的
功能
排队审核脚本
() {}
/**
*加载小部件控件所需的脚本和样式。
*
*@自4.8.0起
*/
公众的
功能
排队管理员脚本
() {
wp_排队_媒体
();
wp_排队_脚本
(
'
媒体小部件
'
);
}
/**
*呈现表单模板脚本。
*
*@自4.8.0起
*/
公众的
功能
渲染控制模板脚本
() {
?>
<script type=“text/html”id=“tmpl-widget-media-
<?
php(电话)
回声
esc属性
(
$
这
->
id基础(_B)
);
?>
-控制“>
<#var elementIdPrefix='el'+字符串(Math.random())+'_'#>
<p>
<label for=“{{elementIdPrefix}}title”>
<?
php(电话)
esc_html_e
(
'
职务:
'
);
?>
</label>
<input id=“{{elementIdPrefix}}title”type=“text”class=“widefat title”>
</p>
<div class=“media-widget-preview
<?
php(电话)
回声
esc属性
(
$
这
->
id基础(_B)
);
?>
">
<div class=“attachment-media-view”>
<button type=“button”class=“select-media button-add-media not-selected”>
<?
php(电话)
回声
esc_html
(
$
这
->
110亿
[
'
添加媒体(_M)
'
] );
?>
</按钮>
</div>
</div>
<p class=“媒体小部件按钮”>
<button type=“button”class=“button edit-media selected”>
<?
php(电话)
回声
esc_html
(
$
这
->
110亿
[
'
编辑_媒体
'
] );
?>
</按钮>
<?
php(电话)
如果
( !
空的
(
$
这
->
110亿
[
'
替换媒体
'
] ) ) :
?>
<button type=“button”class=“button change-media select-media selected”>
<?
php(电话)
回声
esc_html
(
$
这
->
110亿
[
'
替换媒体
'
] );
?>
</按钮>
<?
php(电话)
结尾
;
?>
</p>
<div class=“媒体小部件字段”>
</div>
</脚本>
<?
php(电话)
}
/**
*重置默认标签的缓存。
*
*@自6.0.0起
*/
公众的
静止的
功能
重置默认标签
() {
自己
::
$
默认描述(_D)
=
''
;
自己
::
$
l10n_默认值
=
阵列
();
}
/**
*小部件是否有要显示的内容。
*
*@自4.8.0起
*
*@param array$instance Widget实例道具。
*@return bool小部件是否有内容。
*/
受保护的
功能
有内容(_C)
(
$
实例
) {
返回
(
$
实例
[
'
附件id
'
] &&
'
附件
'
===
获取发布类型
(
$
实例
[
'
附件id
'
] ) ) ||
$
实例
[
'
网址
'
];
}
/**
*返回小部件的默认描述。
*
*@自6.0.0起
*
*@return字符串
*/
受保护的
静止的
功能
获取默认描述
() {
如果
(
自己
::
$
默认描述(_D)
) {
返回
自己
::
$
默认描述(_D)
;
}
自己
::
$
默认描述(_D)
=
__
(
'
媒体项目。
'
);
返回
自己
::
$
默认描述(_D)
;
}
/**
*返回小部件使用的默认本地化字符串。
*
*@自6.0.0起
*
*@return(string|array)[]
*/
受保护的
静止的
功能
获取_ l10n _默认值
() {
如果
( !
空的
(
自己
::
$
l10n_默认值
) ) {
返回
自己
::
$
l10n_默认值
;
}
自己
::
$
l10n_默认值
=
阵列
(
'
未选择媒体
'
=>
__
(
'
未选择媒体
'
),
'
添加媒体(_M)
'
=>
_x个
(
'
添加媒体
'
,
'
媒体小部件中按钮的标签
'
),
'
替换媒体
'
=>
_x个
(
'
更换介质
'
,
'
媒体小部件中按钮的标签;
最好不超过~13个字符
'
),
'
编辑_媒体
'
=>
_x
(
'
编辑媒体
'
,
'
媒体小部件中按钮的标签;
最好不超过~13个字符
'
),
'
添加_小部件
'
=>
__
(
'
添加到小工具
'
),
'
缺少附件
'
=>
把格式数据写成串
(
/*转换器:%s:媒体库的URL*/
__
(
'
找不到该文件。
检查您的媒体库,确保它未被删除。
'
),
esc_url
(
管理员url
(
'
上传.php
'
) )
),
/*转换器:%d:小工具计数*/
'
媒体库状态多
'
=>
_n_noop(无)
(
'
媒体小工具(%d)
'
,
'
媒体小工具(%d)
'
),
'
媒体库状态单一
'
=>
__
(
'
媒体小工具
'
),
'
不支持的文件类型
'
=>
__
(
'
看起来这不是正确的文件类型。
请链接到适当的文件。
'
),
);
返回
自己
::
$
l10n_默认值
;
}
}
此时无法执行该操作。