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');
|