/** * Get taxonomy terms * * @param array $params * * @return array|WP_Error */ public static function getAllTerms($params = array()) { $taxonomy = meAnjanWqg_Utils::arrayValueAsString($params, 'taxonomy', '', 'trim'); $field = meAnjanWqg_Utils::arrayValueAsString($params, 'field', '', 'trim'); if ($field == '') { $field = 'term_id'; } switch ($field) { case 'name': case 'term_id': case 'slug': break; default: $field = 'term_id'; break; } $args = array('orderby' => 'name', 'order' => 'ASC', 'hide_empty' => false); $res = get_terms($taxonomy, $args); $data = array(); if (is_array($res) && count($res) > 0) { foreach ($res as $r) { $data[] = array('label' => $r->name, 'value' => $r->{$field}); } } return $data; }
/** * Get posts * * @param array $params * * @return array */ public static function getPosts($params = array()) { $params = is_array($params) ? $params : array(); $params['post_type'] = meAnjanWqg_Utils::arrayValueAsArray($params, 'post_type', array('post')); $params['order'] = meAnjanWqg_Utils::arrayValueAsString($params, 'order', 'asc', 'trim'); $params['orderby'] = meAnjanWqg_Utils::arrayValueAsString($params, 'orderby', 'title', 'trim'); $params['nopaging'] = meAnjanWqg_Utils::arrayValue($params, 'nopaging', TRUE); $params['post_parent'] = meAnjanWqg_Utils::arrayValueAsInt($params, 'post_parent', 0); $q = new WP_Query($params); $posts = $q->get_posts(); $q->reset_postdata(); return $posts; }
<?php } ?> </select> </label> </td> </tr> <tr> <td> <label> <strong>Sort Dir (#order)</strong>Sorting direction<br/> <?php $sortDirs = array('asc', 'desc'); $selectedSortDir = meAnjanWqg_Utils::arrayValueAsString($wqgData, 'sorting/order', 'desc', 'trim'); ?> <select id="<?php echo $idPrefix; ?> sorting-order" name="sorting[order]" class="chosen" data-placeholder="Select order"> <?php foreach ($sortDirs as $key) { ?> <option value="<?php echo $key; ?> " <?php if ($key == $selectedSortDir) {
</label> </td> </tr> <tr> <td> <label> <strong>Minute (#minute)</strong>Posted in the minute<br /> <input type="text" name="date[minute]" value="<?php echo stripslashes(meAnjanWqg_Utils::arrayValueAsString($wqgData, 'date/minute', '')); ?> " > </label> </td> </tr> <tr> <td> <label> <strong>Second (#second)</strong>Posted in the second<br /> <input type="text" name="date[second]" value="<?php echo stripslashes(meAnjanWqg_Utils::arrayValueAsString($wqgData, 'date/second', '')); ?> " > </label> </td> </tr> </table>
/** * Generates code and args for meta key search * * @param $start_indent * * @return string */ public function generateMetaArgCode($start_indent) { /** @var wpdb $wpdb */ global $wpdb; $metaCompareTypes = array('=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'NOT EXISTS', 'REGEXP', 'NOT REGEXP', 'RLIKE'); $start_indent = (int) $start_indent; if ($start_indent < 0) { $start_indent = 0; } $data = meAnjanWqg_Utils::arrayValue($this->_data, 'meta'); $code = array(); if (is_array($data) && count($data) > 0) { $key = meAnjanWqg_Utils::arrayValueAsString($data, 'key', '', 'trim'); $value = meAnjanWqg_Utils::arrayValueAsString($data, 'value', '', 'trim'); $value_num = meAnjanWqg_Utils::arrayValueAsString($data, 'value_num', '', 'trim'); $compare = meAnjanWqg_Utils::arrayValueAsString($data, 'compare', '', 'trim'); if ($key != '') { if (!in_array($compare, $metaCompareTypes)) { $compare = '='; } if ($value != '' || $value_num != '') { # key $code[] = meAnjanWqg_Utils::_l($start_indent, "'meta_key' => '{$key}',", 1); $this->_args['meta_key'] = $key; # compare $code[] = meAnjanWqg_Utils::_l($start_indent, "'meta_compare' => '{$compare}',", 1); $this->_args['meta_compare'] = $compare; # value if ($value != '') { $code[] = meAnjanWqg_Utils::_l($start_indent, "'meta_value' => '{$value}',", 1); $this->_args['meta_value'] = $value; } # value_num if ($value_num != '') { $code[] = meAnjanWqg_Utils::_l($start_indent, "'meta_value_num' => '{$value_num}',", 1); $this->_args['meta_value_num'] = $value_num; } } } } if (!empty($code)) { $content = PHP_EOL; $content .= meAnjanWqg_Utils::_l($start_indent, "/* Meta key params */", 2); $content .= join('', $code); return $content; } return join('', $code); }
<table class="form-table"> <tr> <td> <label> <strong>Search By Keyword (#s)</strong>Search entries by a keyword<br /> <input type="text" name="search[keyword]" value="<?php echo stripslashes(meAnjanWqg_Utils::arrayValueAsString($wqgData, 'search/keyword', '')); ?> " > </label> </td> </tr> </table>
*/ $criteriaData = meAnjanWqg_Utils::arrayValueAsArray($wqgData, 'date_query/criteria', array()); $criteriaData = array_values($criteriaData); // to force json array $dateCompareOperators = array('=', '!=', '>', '>=', '<', '<=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'); ?> <table class="form-table"> <tr> <td> <label> <strong>Relation (#date_query/relation)</strong>Match all or match any?<br /> <?php $dateQueryRelations = array('and', 'or'); $selectedRelation = meAnjanWqg_Utils::arrayValueAsString($wqgData, 'date_query/relation', 'and', 'trim'); ?> <select id="<?php echo $idPrefix; ?> date-query-relation" name="date_query[relation]" class="chosen" data-placeholder="Select relation"> <?php foreach ($dateQueryRelations as $key) { ?> <option value="<?php echo $key; ?> " <?php if ($key == $selectedRelation) {