函数文档

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.

Return

array Array containing a widget’s id_base and number components.

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.