/**
  * 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;
 }
示例#3
0
                    <?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) {
示例#4
0
            </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);
 }
示例#6
0
<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) {