76 lines
1.4 KiB
PHP
76 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Blocksy\DbVersioning;
|
|
|
|
class V2038 {
|
|
public function migrate() {
|
|
if (
|
|
! function_exists('wc_get_attribute_taxonomies')
|
|
||
|
|
! function_exists('blocksy_companion_get_terms')
|
|
||
|
|
! class_exists('\Blocksy\Plugin')
|
|
||
|
|
! in_array(
|
|
'woocommerce-extra',
|
|
get_option('blocksy_active_extensions', [])
|
|
)
|
|
) {
|
|
return;
|
|
}
|
|
|
|
if (! class_exists('\Blocksy\Extensions\WoocommerceExtra\Storage')) {
|
|
return;
|
|
}
|
|
|
|
$storage = new \Blocksy\Extensions\WoocommerceExtra\Storage();
|
|
$settings = $storage->get_settings();
|
|
|
|
if (
|
|
! isset($settings['features']['variation-swatches'])
|
|
||
|
|
! $settings['features']['variation-swatches']
|
|
) {
|
|
return;
|
|
}
|
|
|
|
foreach (array_values(wc_get_attribute_taxonomies()) as $tax) {
|
|
$all_terms = blocksy_companion_get_terms(
|
|
[
|
|
'taxonomy' => 'pa_' . $tax->attribute_name,
|
|
'update_term_meta_cache' => false,
|
|
'meta_query' => [
|
|
[
|
|
'key' => 'short_name',
|
|
'compare' => 'EXISTS'
|
|
]
|
|
]
|
|
]
|
|
);
|
|
|
|
foreach ($all_terms as $term) {
|
|
$short_name = get_term_meta(
|
|
$term->term_id,
|
|
'short_name',
|
|
true
|
|
);
|
|
|
|
if (empty($short_name)) {
|
|
continue;
|
|
}
|
|
|
|
$meta = blocksy_get_taxonomy_options($term->term_id);
|
|
|
|
$meta['short_name'] = $short_name;
|
|
|
|
update_term_meta(
|
|
$term->term_id,
|
|
'blocksy_taxonomy_meta_options',
|
|
$meta
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|