<?php if (!defined('ABSPATH')) { exit; } abstract class WC_Object_Query { protected $query_vars = array(); public function __construct($args = array()) { $this->query_vars = wp_parse_args($args, $this->get_default_query_vars()); } public function get_query_vars() { return $this->query_vars; } public function get($query_var, $default = '') { if (isset($this->query_vars[$query_var])) { return $this->query_vars[$query_var]; } return $default; } public function set($query_var, $value) { $this->query_vars[$query_var] = $value; } protected function get_default_query_vars() { return array('name' => '', 'parent' => '', 'parent_exclude' => '', 'exclude' => '', 'limit' => get_option('posts_per_page'), 'page' => 1, 'offset' => '', 'paginate' => false, 'order' => 'DESC', 'orderby' => 'date', 'return' => 'objects'); } }