Example #1
0
 /**
  * Get array of term translations IDS.
  *
  * @param int $ID the term ID
  *
  * @return array array contains all translation IDS for the given term
  */
 protected function getProductTermTranslationIDS($ID)
 {
     $IDS = Utilities::getTermTranslationsArrayByID($ID);
     return $IDS ? $IDS : array($ID);
 }
 /**
  * Collect products from category translations
  *
  * Add all products in the given category translations
  *
  * @param array   $productIDS array of products in the given category
  * @param integer $categoryID category ID
  *
  * @return array array of producs in the given category and its translations
  */
 public function addProductsInCategoryTranslations($productIDS, $categoryID)
 {
     if (static::isCombine()) {
         /* Find the category translations */
         $translations = Utilities::getTermTranslationsArrayByID($categoryID);
         foreach ($translations as $slug => $ID) {
             if ($ID === $categoryID) {
                 continue;
             }
             $termIDS = get_term_children($ID, 'product_cat');
             $termIDS[] = $ID;
             $productIDS = array_merge($productIDS, (array) get_objects_in_term($termIDS, 'product_cat'));
         }
     }
     return $productIDS;
 }
 /**
  * Do sync category custom fields
  *
  * @param integer $ID    the term ID
  * @param string  $key   the key
  * @param mixed   $value the value
  */
 public function doSyncProductCatCustomFields($ID, $key, $value = '')
 {
     $translations = Utilities::getTermTranslationsArrayByID($ID);
     foreach ($translations as $translation) {
         update_woocommerce_term_meta($translation, $key, $value);
     }
 }