# woo-postnl/4.4.0/includes/wcpn-initialize-settings-collection.php

PostNL for WooCommerce, version 4.4.0. 45 lines.

- Page: https://pluginprobe.com/plugins/woo-postnl/4.4.0/code/includes/wcpn-initialize-settings-collection.php
- Raw: https://pluginprobe.com/plugins/woo-postnl/4.4.0/raw/includes/wcpn-initialize-settings-collection.php
- Modified: 2021-01-04T09:17:00+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/woo-postnl/4.4.0/code/includes/wcpn-initialize-settings-collection.php#L10-L20`.

```php
<?php

use MyParcelNL\Sdk\src\Model\Consignment\PostNLConsignment;
use WPO\WC\PostNL\Collections\SettingsCollection;

class WCPN_Initialize_Settings_Collection
{
    /**
     * Initialize the PHP 7.1+ settings collection.
     */
    public function initialize(): SettingsCollection
    {
        // Load settings
        $settings = new SettingsCollection();

        $settings->setSettingsByType($this->getOption("woocommerce_postnl_general_settings"), "general");
        $settings->setSettingsByType($this->getOption("woocommerce_postnl_checkout_settings"), "checkout");
        $settings->setSettingsByType($this->getOption("woocommerce_postnl_export_defaults_settings"), "export");

        $settings->setSettingsByType(
            $this->getOption("woocommerce_postnl_postnl_settings"),
            "carrier",
            PostNLConsignment::CARRIER_NAME
        );

        return $settings;
    }

    /**
     * @param $option
     *
     * @return array
     */
    private function getOption($option): array
    {
        $option = get_option($option);

        if (! $option) {
            return [];
        }

        return $option;
    }
}

```
