private static function _upgrade_v0110()
{
global $wpdb;
// Fix Button widget to new sizes options
$post_ids = $wpdb->get_col($wpdb->prepare('SELECT `post_id` FROM %1$s
WHERE `meta_key` = \'_elementor_version\'
AND `meta_value` = \'%2$s\';', $wpdb->postmeta, '0.3'));
if (empty($post_ids)) {
return;
}
foreach ($post_ids as $post_id) {
$data = Plugin::instance()->db->get_plain_editor($post_id);
$data = Plugin::instance()->db->iterate_data($data, function ($element) {
if (empty($element['widgetType'])) {
return $element;
}
if ('button' === $element['widgetType']) {
$size_to_replace = ['small' => 'xs', 'medium' => 'sm', 'large' => 'md', 'xl' => 'lg', 'xxl' => 'xl'];
if (!empty($element['settings']['size'])) {
$old_size = $element['settings']['size'];
if (isset($size_to_replace[$old_size])) {
$element['settings']['size'] = $size_to_replace[$old_size];
}
}
}
return $element;
});
Plugin::instance()->db->save_editor($post_id, $data);
}
}