next_widget_id_number

The timeline below displays how wordpress function next_widget_id_number has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.4

/**
 * @global array $wp_registered_widgets
 *
 * @param string $id_base
 * @return int
 */
function next_widget_id_number($id_base)
{
    global $wp_registered_widgets;
    $number = 1;
    foreach ($wp_registered_widgets as $widget_id => $widget) {
        if (preg_match('/' . preg_quote($id_base, '/') . '-([0-9]+)$/', $widget_id, $matches)) {
            $number = max($number, $matches[1]);
        }
    }
    ++$number;
    return $number;
}

WordPress Version: 5.8

/**
 * @global array $wp_registered_widgets
 *
 * @param string $id_base
 * @return int
 */
function next_widget_id_number($id_base)
{
    global $wp_registered_widgets;
    $number = 1;
    foreach ($wp_registered_widgets as $widget_id => $widget) {
        if (preg_match('/' . preg_quote($id_base, '/') . '-([0-9]+)$/', $widget_id, $matches)) {
            $number = max($number, $matches[1]);
        }
    }
    $number++;
    return $number;
}

WordPress Version: 5.1

/**
 * @global array $wp_registered_widgets
 *
 * @param string $id_base
 * @return int
 */
function next_widget_id_number($id_base)
{
    global $wp_registered_widgets;
    $number = 1;
    foreach ($wp_registered_widgets as $widget_id => $widget) {
        if (preg_match('/' . $id_base . '-([0-9]+)$/', $widget_id, $matches)) {
            $number = max($number, $matches[1]);
        }
    }
    $number++;
    return $number;
}

WordPress Version: 4.3

/**
 *
 * @global array $wp_registered_widgets
 *
 * @param string $id_base
 * @return int
 */
function next_widget_id_number($id_base)
{
    global $wp_registered_widgets;
    $number = 1;
    foreach ($wp_registered_widgets as $widget_id => $widget) {
        if (preg_match('/' . $id_base . '-([0-9]+)$/', $widget_id, $matches)) {
            $number = max($number, $matches[1]);
        }
    }
    $number++;
    return $number;
}

WordPress Version: 3.7

function next_widget_id_number($id_base)
{
    global $wp_registered_widgets;
    $number = 1;
    foreach ($wp_registered_widgets as $widget_id => $widget) {
        if (preg_match('/' . $id_base . '-([0-9]+)$/', $widget_id, $matches)) {
            $number = max($number, $matches[1]);
        }
    }
    $number++;
    return $number;
}