/** * Returns the SQL query to be used when fetching terms * * @return string * @since 2.6 */ protected function getQuery() { $config = $this->plugin->get('dataConfig'); $db = $this->plugin->get('wpdb'); $builder = new UTCW_QueryBuilder($this->plugin); $builder->addAuthorConstraint($config->authors); $builder->addPostTypeConstraint($config->post_type); $builder->addPostStatusConstraint($this->plugin->isAuthenticatedUser(), $config->post_type); $builder->addDaysOldConstraint($config->days_old); $builder->addTaxonomyConstraint($config->taxonomy); $builder->addTagsListConstraint($config->tags_list_type, $config->tags_list, $config->taxonomy); $builder->addPostTermConstraint($config->post_term); $builder->addGrouping(); $builder->addMinimum($config->minimum); // Add statements from the strategy $this->buildQuery($builder); $builder->addMaxConstraint($config->max); $builder->addSort($config->order, $config->reverse, $config->case_sensitive); $query = $builder->getQuery(); $parameters = $builder->getParameters(); return $db->prepare($query, $parameters); }