function save_wp_query() { // _log($this->wp_query); $this->cache['wp_query'] = $this->wp_query; foreach ((array) $this->wp_query as $property_name => $property_value) { // save conditional tags if (WPHF::has_prefix($property_name, self::$conditional_tag)) { $this->is[$property_name] = $property_value; } } }
function __get($name) { switch (TRUE) { case WPHF::has_prefix($name, self::$conditional_tag): // _log($name); switch (TRUE) { case in_array($name, self::$conditional_tag_by_admin): return $this->author->ID == self::$id_admin; break; case in_array($name, self::$conditional_tag_last_post): return $this->wp_query->current_post + 1 == $this->wp_query->post_count; break; case in_array($name, self::$conditional_tag_post_profile): return TRUE; break; case in_array($name, self::$conditional_tag_post_project): return TRUE; break; case in_array($name, self::$conditional_tag_post_event): // TODO - return TRUE; break; case in_array($name, self::$conditional_tag_post_news): return TRUE; break; case in_array($name, self::$conditional_tag_post_job): return TRUE; break; } break; case in_array($name, self::$boolean_tag): switch (TRUE) { case in_array($name, self::$conditional_tag_by_admin): return $_COOKIE['wp-postpass_' . COOKIEHASH] == $this->post->post_password; break; } break; case in_array($name, self::$post_tag_ids_people): // custom result $result = WPHF::element('post_tag_ids_people', $this->cache, array()); if (empty($result)) { $people = query_posts(array('cat' => $this->cat_id_people)); $people_names = array(); foreach ($people as $person) { $people_names[] = sprintf(self::$tag_slug_pattern, $person->post_name); } foreach ($this->tags as $tag) { if (in_array($tag->slug, $people_names)) { $result[] = $tag->term_id; } } $this->cache['post_tag_ids_people'] = $result; } return $result; break; } // #end custom template vars return parent::__get($name); }