wp_parse_widget_id()
云策文档标注
概述
wp_parse_widget_id() 函数用于将小部件 ID 字符串解析为其 id_base 和 number 组件。它通过正则表达式匹配标准格式的 ID,并返回包含这两个组件的数组。
关键要点
- 参数 $id 为必需的小部件 ID 字符串。
- 返回一个数组,包含 id_base 和 number 键值对。
- 如果 ID 格式不匹配(如旧式单小部件),则仅设置 id_base。
代码示例
function wp_parse_widget_id( $id ) {
$parsed = array();
if ( preg_match( '/^(.+)-(d+)$/', $id, $matches ) ) {
$parsed['id_base'] = $matches[1];
$parsed['number'] = (int) $matches[2];
} else {
// Likely an old single widget.
$parsed['id_base'] = $id;
}
return $parsed;
}注意事项
- 该函数自 WordPress 5.8.0 版本引入。
- 常用于 REST API 控制器中,如 WP_REST_Widgets_Controller 和 WP_REST_Widget_Types_Controller。
原文内容
Converts a widget ID into its id_base and number components.
Parameters
$idstringrequired-
Widget ID.
Source
function wp_parse_widget_id( $id ) {
$parsed = array();
if ( preg_match( '/^(.+)-(d+)$/', $id, $matches ) ) {
$parsed['id_base'] = $matches[1];
$parsed['number'] = (int) $matches[2];
} else {
// Likely an old single widget.
$parsed['id_base'] = $id;
}
return $parsed;
}
Changelog
| Version | Description |
|---|---|
| 5.8.0 | Introduced. |