How to fix this in a switch function - ERROR: Deprecated: The each() function is deprecated

Viewed 24

How do I fix this in a switch function - The each() function is deprecated- I have tried to use a foreach function as per the below however it is causing the below errors:

/Fatal error: Uncaught ArgumentCountError: Too few arguments to function WP_Widget::__construct(), 0 passed in /usr/www/users/zeroaurcry/wp-includes/class-wp-widget-factory.php on line 61 and at least 2 expected in /usr/www/users/zeroaurcry/wp-includes/class-wp-widget.php:162 Stack trace: #0 /usr/www/users/zeroaurcry/wp-includes/class-wp-widget-factory.php(61): WP_Widget->construct() #1 /usr/www/users/zeroaurcry/wp-includes/widgets.php(115): WP_Widget_Factory->register('The_Gem_Widget...') #2 /usr/www/users/zeroaurcry/wp-content/plugins/thegem-elements/inc/diagram.php(7): register_widget('The_Gem_Widget...') #3 /usr/www/users/zeroaurcry/wp-includes/class-wp-hook.php(307): thegem_diagram_register_widgets('') #4 /usr/www/users/zeroaurcry/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters(NULL, Array) #5 /usr/www/users/zeroaurcry/wp-includes/plugin.php(476): WP_Hook->do_action(Array) #6 /usr/www/users/zeroaurcry/wp-includes/widgets.php(1854): do_action('widgets_init') #7 /usr/www/users/zeroaurcry/wp-includes/class-wp-hook.php(307): wp_widgets_init('') #8 /usr/www/users/zeroaurcry/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters(NULL, Array) #9 /usr/www/users/zeroaurcry/wp-includes/plugin.php(476): WP_Hook->do_action(Array) #10 /usr/www/users/zeroaurcry/wp-settings.php(598): do_action('init') #11 /usr/www/users/zeroaurcry/wp-config.php(99): require_once('/usr/www/users/...') #12 /usr/www/users/zeroaurcry/wp-load.php(50): require_once('/usr/www/users/...') #13 /usr/www/users/zeroaurcry/wp-blog-header.php(13): require_once('/usr/www/users/...') #14 /usr/www/users/zeroaurcry/index.php(17): require('/usr/www/users/...') #15 {main} thrown in /usr/www/users/zeroaurcry/wp-includes/class-wp-widget.php on line 162

        do_action( 'vc_mapper_call_activities_before' );
        while ( $activity = each( $this->init_activity ) ) {    
            list( $object, $method, $params ) = $activity[1];
            if ( 'mapper' === $object ) {
                switch ( $method ) {
                    case 'map':
                        WPBMap::map( $params['tag'], $params['attributes'] );
                        break;
                    case 'drop_param':
                        WPBMap::dropParam( $params['name'], $params['attribute_name'] );
                        break;
                    case 'add_param':
                        WPBMap::addParam( $params['name'], 
            }
        }
    }

This code did not work with the foreach statement

protected function callActivities() {
        do_action( 'vc_mapper_call_activities_before' );
        foreach($this->init_activity as $activity) {
            list( $object, $method, $params ) = $activity[1];
            if ( 'mapper' === $object ) {
                switch ( $method ) {
                    case 'map':
                        WPBMap::map( $params['tag'], $params['attributes'] );
                        break;
                    case 'drop_param':
                        WPBMap::dropParam( $params['name'], $params))}}```

0 Answers
Related