/** * Get all the post applying the args, then filters them by the given taxonomy term. * Note: El filtrado por taxonomia se hace luego de obtener todos los posts, asi que si haces un "posts_per_page", * éste podria reducir aun mas luego del filtrado por taxonomia. * @param array $taxonomyFilters * @param array $args * @return array */ public static function GetAllOfTaxonomy($taxonomyFilters, $args = array()) { $all = Accion::GetAll($args); $queTeMueveTerms = isset($taxonomyFilters[Accion::TermQueTeMueve]) ? $taxonomyFilters[Accion::TermQueTeMueve] : array(); $cuantoTiempoTienesTerms = isset($taxonomyFilters[Accion::TermCuantoTiempoTienes]) ? $taxonomyFilters[Accion::TermCuantoTiempoTienes] : array(); $queTeGustariaHacerTerms = isset($taxonomyFilters[Accion::TermTeGustariaHacer]) ? $taxonomyFilters[Accion::TermTeGustariaHacer] : array(); $matches = array(); /** * @var $action Accion */ foreach ($all as $action) { if ((!$queTeMueveTerms || $action->HasTerm("queTeMueveTerms", $queTeMueveTerms)) && (!$cuantoTiempoTienesTerms || $action->HasTerm("cuantoTiempoTienesTerms", $cuantoTiempoTienesTerms)) && (!$queTeGustariaHacerTerms || $action->HasTerm("queTeGustariaHacerTerms", $queTeGustariaHacerTerms))) { $matches[] = $action; } } return $matches; }
/** * Regresa un array de acciones a las que el usuario esta suscrito. * @param array $args argumentos opcionales para hacer la wp_query de las acciones. * @return array <Accion> */ public function GetSubscribedActions($args = array()) { $acciones = Accion::GetAll($args); $subscribedActions = array(); /** * @var $accion Accion */ foreach ($acciones as $accion) { if ($this->IsSubscribedToAction($accion->id)) { $subscribedActions[] = $accion; } } return $subscribedActions; }