Example #1
0
 /**
  * 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);
 }