/** * @param mixed $value * @param mixed $by * * @return $this */ public function load($value, $by = null) { switch ($by) { case 'all': $args['hide_empty'] = false; $items = get_terms(TaxonomyModel::getTaxonomyNames(), $args); break; case 'parentId': $args['hide_empty'] = false; $args['parent'] = $value; $items = get_terms(TaxonomyModel::getTaxonomyNames(), $args); break; case 'child_of': $args['hide_empty'] = false; $args['child_of'] = $value; $items = get_terms(TaxonomyModel::getTaxonomyNames(), $args); break; case 'args': $args = $value; $items = get_terms(TaxonomyModel::getTaxonomyNames(), $args); break; } foreach ($items as $item) { $term = new TermModel($item, 'wp_object'); $this->offsetSet($term->id, $term); } return $this; }
/** * @param mixed $value * @param mixed $by * * @return $this */ public function load($value, $by = null) { switch ($by) { case 'id': $args = array(); $args['include'] = $value; $args['hide_empty'] = false; $args['number'] = 1; $taxonomies = static::TYPE ?: TaxonomyModel::getTaxonomyNames(); $items = get_terms($taxonomies, $args); $item = reset($items); break; case 'name': $args = array(); $args['slug'] = $value; $args['hide_empty'] = false; $args['number'] = 1; $taxonomies = static::TYPE ?: TaxonomyModel::getTaxonomyNames(); $items = get_terms($taxonomies, $args); $item = reset($items); break; case 'args': $args = $value; $args['number'] = 1; $items = get_terms(TaxonomyModel::getTaxonomyNames(), $args); $item = reset($items); break; case 'wp_object': $item = $value; break; } $this->fromArray($item); return $this; }