/var/www/hkosl.com/aga/wp-content/plugins/siteorigin-panels/widgets/migration.php


1
2
3
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
<?php

/**
 * Go through all the old PB widgets and change them into far better visual editor widgets
 *
 * @param array $panels_data
 *
 * @return array
 */
function siteorigin_panels_legacy_widget_migration($panels_data){

    if( !empty(
$panels_data['widgets']) && is_array($panels_data['widgets']) ) {

        foreach( 
$panels_data['widgets'] as &$widget ) {

            switch(
$widget['panels_info']['class']) {
                case 
'SiteOrigin_Panels_Widgets_Gallery':
                    
$shortcode '[gallery ';
                    if( !empty(
$widget['ids']) ) $shortcode .= 'ids="' esc_attr$widget['ids'] ) . '" ';
                    
$shortcode trim($shortcode) . ']';

                    
$widget = array(
                        
'title' => '',
                        
'filter' => '1',
                        
'type' => 'visual',
                        
'text' => $shortcode,
                        
'panels_info' => $widget['panels_info']
                    );
                    
$widget['panels_info']['class'] = 'SiteOrigin_Widget_Editor_Widget';

                    break;

                case 
'SiteOrigin_Panels_Widgets_Image':

                    if( 
class_exists('SiteOrigin_Panels_Widgets_Image') ) {
                        
ob_start();
                        
the_widget'SiteOrigin_Panels_Widgets_Image'$widget, array(
                            
'before_widget' => '',
                            
'after_widget' => '',
                            
'before_title' => '',
                            
'after_title' => '',
                        ) );

                        
$widget = array(
                            
'title' => '',
                            
'filter' => '1',
                            
'type' => 'visual',
                            
'text' => ob_get_clean(),
                            
'panels_info' => $widget['panels_info']
                        );

                        
$widget['panels_info']['class'] = 'SiteOrigin_Widget_Editor_Widget';
                    }

                    break;
            }

        }

    }

    return 
$panels_data;
}
add_filter('siteorigin_panels_data''siteorigin_panels_legacy_widget_migration');