get_predefined_packages_for_service() публичный Метод

Returns a list of enabled predefined packages for the specified service
public get_predefined_packages_for_service ( $service_id ) : array
$service_id
Результат array
 /**
  * Returns the settings for this service (e.g. for use in the form or for
  * sending to the rate request endpoint
  *
  * Used by WC_Connect_Loader to embed the form schema in the page for JS to consume
  *
  * @return object
  */
 public function get_service_settings()
 {
     $service_settings = $this->service_settings_store->get_service_settings($this->id, $this->instance_id);
     if (!is_object($service_settings)) {
         $service_settings = new stdClass();
     }
     if (!property_exists($service_settings, 'services')) {
         return $service_settings;
     }
     //mark the services with predefined packages as disabled if the corresponding package has been also disabled
     $schema = $this->get_service_schema();
     if (!property_exists($schema, 'service_settings') || !property_exists($schema->service_settings, 'definitions') || !property_exists($schema->service_settings->definitions, 'services')) {
         return $service_settings;
     }
     $enabled_packages = $this->service_settings_store->get_predefined_packages_for_service($this->id);
     foreach ($schema->service_settings->definitions->services as $service_schema) {
         $service_id = $service_schema->id;
         if (!property_exists($service_schema, 'predefined_package') || !property_exists($service_settings->services, $service_id)) {
             continue;
         }
         if (false === in_array($service_schema->predefined_package, $enabled_packages)) {
             $service_settings->services->{$service_id}->enabled = false;
         }
     }
     return $service_settings;
 }
 protected function get_all_packages()
 {
     $custom_packages = $this->settings_store->get_packages();
     $formatted_packages = array();
     foreach ($custom_packages as $package) {
         $package_id = $package['name'];
         $formatted_packages[$package_id] = $package;
     }
     $service_id = 'usps';
     //TODO: remove hardcoding
     $predefined_packages_schema = $this->service_schemas_store->get_predefined_packages_schema_for_service($service_id);
     $enabled_predefined_packages = $this->settings_store->get_predefined_packages_for_service($service_id);
     foreach ($predefined_packages_schema as $group) {
         foreach ($group->definitions as $package) {
             if (!in_array($package->id, $enabled_predefined_packages)) {
                 continue;
             }
             $formatted_packages[$package->id] = $package;
         }
     }
     return $formatted_packages;
 }