/**
  * set category by post type, with specific name (can be regular or woocommerce)
  */
 public static function setCategoryByPostTypes(UniteSettingsRev $settings, $arrValues, $postTypesWithCats, $nameType, $nameCat, $defaultType)
 {
     //update the categories list by the post types
     $postTypes = UniteFunctionsRev::getVal($arrValues, $nameType, $defaultType);
     if (strpos($postTypes, ",") !== false) {
         $postTypes = explode(",", $postTypes);
     } else {
         $postTypes = array($postTypes);
     }
     $arrCats = array();
     $globalCounter = 0;
     $arrCats = array();
     $isFirst = true;
     foreach ($postTypes as $postType) {
         $cats = UniteFunctionsRev::getVal($postTypesWithCats, $postType, array());
         if ($isFirst == true) {
             $firstValue = self::getFirstCategory($cats);
             $isFirst = false;
         }
         $arrCats = array_merge($arrCats, $cats);
     }
     $settingCategory = $settings->getSettingByName($nameCat);
     $settingCategory["items"] = $arrCats;
     $settings->updateArrSettingByName($nameCat, $settingCategory);
     //update value to first category
     $value = $settings->getSettingValue($nameCat);
     if (empty($value)) {
         $settings->updateSettingValue($nameCat, $firstValue);
     }
     return $settings;
 }