get_meta( '_wiaas_package_option_groups' ); foreach ($option_groups as $option_group) { foreach ($option_group['options'] as $group_option_id) { if ((int) $group_option_id === $option_package->get_id()) { return $option_group['name']; } } } return null; } /** * Retrieve groups of optional packages configured for provided package * @param $package * * @return array */ public static function get_package_option_groups($package) { $groups_data = $package->get_meta( '_wiaas_package_option_groups' ); $option_groups = array(); foreach ($groups_data as $group_data) { $group = array( 'id' => $group_data['id'], 'name' => $group_data['name'], 'default' => $group_data['default'], 'options' => array() ); foreach ($group_data['options'] as $option_id) { $option_package = wc_get_product( $option_id ); if (is_object($option_package)) { $group['options'][] = $option_package; } } $option_groups[] = $group; } return $option_groups; } /** * Set groups of optional packages for provided package * @param $package * @param $groups_data */ public static function set_package_option_groups($package, $groups_data) { $package->update_meta_data( '_wiaas_package_option_groups', $groups_data ); $package->save_meta_data(); } } Wiaas_Package_Option_Groups::init();