Ejemplo n.º 1
0
 public function get_html()
 {
     global $post;
     // v6.76
     $params = $this->params;
     //var_dump($params);
     Wf_Debug::stash(array('$params' => $params));
     $html = "\n<div class='" . $params['style'] . "'>\n";
     // v3.51 renamed from $class
     $html .= extra_markup($params);
     // v4.2
     if ($params['heading']) {
         $html .= "<div class='hwrap'><h2>" . $params['heading'] . "</h2></div>\n";
         // <div class='hwrap'> added for carplus v3.15
     }
     $widg_id = $params['widgnum'] . "_" . $params['region'];
     // eg: 0_left   or __shortcode // v4.3 $params['region']
     $args = array('post_type' => $params['post_type'], 'post_status' => $params['status'], 'posts_per_page' => $params['show_posts'], 'order' => strtoupper($params['order']), 'orderby' => $params['orderby'], 'widg_id' => $widg_id, 'list' => true, 'paginate' => $params['paginate']);
     if ($params['paginate']) {
         parse_str($_SERVER['QUERY_STRING'], $q_array);
         // eg: ?pgd_0_left=3
         if (isset($q_array["pgd_" . $widg_id])) {
             $args['paged'] = $q_array["pgd_" . $widg_id];
         } else {
             $args['paged'] = 1;
         }
     }
     // v6.63
     if ($params['date_field']) {
         if ($params['orderby'] == 'date') {
             $args['orderby'] = 'meta_value';
             $args['meta_key'] = $params['date_field'];
         }
         if ($params['status'] == 'future') {
             $args['post_status'] = 'publish';
             // v6.68 not 'published'!
             $args['meta_query'] = array(array('key' => $params['date_field'], 'type' => 'DATETIME', 'value' => date("Y-m-d H:i"), 'compare' => '>'));
         }
     }
     if ($params['cat'] !== false) {
         $args['tax_query'] = array(array('taxonomy' => $params['post_type'] == 'post' ? 'category' : $params['post_type'] . '_type', 'field' => 'id', 'terms' => $params['cat'], 'operator' => 'IN'));
         if ($params['omit_self']) {
             // v6.76
             //$args['post__not_in'] = array($params['host_post']);
             $args['post__not_in'] = array($post->ID);
         }
     }
     Wf_Debug::stash(array('$args' => $args));
     $html .= get_catposts($args, $params);
     $html .= Wf_Widget::get_endlink($params);
     //v5.7
     $html .= "</div>\n";
     // class = 'list'
     return $html;
 }