function widget($args, $instance) { global $wp_version, $widget_id; extract($args, EXTR_SKIP); /* Arguments for the query. */ $args = array(); // general args $args['post_author'] = isset($instance['post_author']) ? $instance['post_author'] : false; $args['post_date'] = isset($instance['post_date']) ? $instance['post_date'] : false; $args['post_comments'] = isset($instance['post_comments']) ? $instance['post_comments'] : false; $args['post_categories'] = isset($instance['post_categories']) ? $instance['post_categories'] : false; $args['post_tags'] = isset($instance['post_tags']) ? $instance['post_tags'] : false; $args['post_edit'] = isset($instance['post_edit']) ? $instance['post_edit'] : false; $args['thumb_display'] = isset($instance['thumb_display']) ? $instance['thumb_display'] : false; $args['thumb_selflink'] = isset($instance['thumb_selflink']) ? $instance['thumb_selflink'] : false; $args['thumb_width'] = intval($instance['thumb_width']); $args['thumb_height'] = intval($instance['thumb_height']); $args['thumb_align'] = $instance['thumb_align']; $args['thumb_cropp'] = $instance['thumb_cropp']; $args['thumb_filter'] = $instance['thumb_filter']; $args['thumb_sharpen'] = $instance['thumb_sharpen']; // archive args $args['post_columns'] = $instance['post_columns']; $args['remove_posts'] = isset($instance['remove_posts']) ? $instance['remove_posts'] : false; $args['full_posts'] = isset($instance['full_posts']) ? $instance['full_posts'] : false; $args['read_more'] = isset($instance['read_more']) ? $instance['read_more'] : false; $args['read_more_text'] = apply_filters('widget_read_more_text', $instance['read_more_text']); /* Widget title and things not in query arguments. */ $show_entry_title = $instance['show_entry_title'] ? true : false; $wp_link_pages = $instance['wp_link_pages'] ? true : false; /* Sticky posts. */ if (version_compare($wp_version, '3.0.9', '>=')) { $args['ignore_sticky_posts'] = $instance['caller_get_posts'] ? '1' : '0'; } else { $args['caller_get_posts'] = $instance['caller_get_posts'] ? '1' : '0'; } /* Posts (by post type). */ $post_types = get_post_types(array('publicly_queryable' => true), 'names'); $post__in = array(); foreach ($post_types as $type) { if (isset($instance[$type]) && !empty($instance[$type])) { $post__in_new = explode(',', $instance[$type]); $post__in = array_merge($post__in, $post__in_new); } } if (!empty($post__in)) { $args['post__in'] = $post__in; } /* Taxonomies. */ $taxonomies = query_posts_get_taxonomies(); foreach ($taxonomies as $taxonomy) { if ('category' == $taxonomy && !empty($instance[$taxonomy])) { $args['category__in'] = explode(",", $instance[$taxonomy]); } elseif ('post_tag' == $taxonomy && !empty($instance[$taxonomy])) { $args['tag__in'] = explode(",", $instance[$taxonomy]); } elseif (!empty($instance[$taxonomy])) { $the_tax = get_taxonomy($taxonomy); $the_term = get_terms($the_tax->query_var, array('include' => $instance[$taxonomy], 'fields' => 'names')); $args[$the_tax->query_var] = implode(",", $the_term); } } /* Post type. */ $post_type = (array) $instance['post_type']; if (in_array('any', $post_type)) { $args['post_type'] = 'any'; } else { $args['post_type'] = $instance['post_type']; } /* Post mime type. */ if (!empty($instance['post_mime_type'])) { $args['post_mime_type'] = (array) $instance['post_mime_type']; } /* Post status. */ if ($instance['post_status']) { $args['post_status'] = join(', ', (array) $instance['post_status']); } /* Ordering and such. */ if ($instance['offset']) { $args['offset'] = absint($instance['offset']); /* fix for offset with pagination */ global $myoffset; $myoffset = $args['offset']; } if ($instance['posts_per_page']) { $args['posts_per_page'] = intval($instance['posts_per_page']); /* fix for offset with pagination */ global $mypppage; $mypppage = $args['posts_per_page']; } if ($instance['post_parent']) { $args['post_parent'] = absint($instance['post_parent']); } /* Paged. */ if ($instance['enable_pagination']) { $args['paged'] = get_query_var('paged') ? get_query_var('paged') : 1; global $paged; $paged = get_query_var('paged') ? get_query_var('paged') : 1; } else { $args['nopaging'] = true; $args['paged'] = 1; global $paged; $paged = 1; } /* Order and orderby. */ $args['order'] = $instance['order']; $args['orderby'] = $instance['orderby']; /* Author arguments. */ if ($instance['author']) { $args['author'] = $instance['author']; } /* Time arguments. */ if ($instance['hour']) { $args['hour'] = absint($instance['hour']); } if ($instance['minute']) { $args['minute'] = absint($instance['minute']); } if ($instance['second']) { $args['second'] = absint($instance['second']); } if ($instance['day']) { $args['day'] = absint($instance['day']); } if ($instance['monthnum']) { $args['monthnum'] = absint($instance['monthnum']); } if ($instance['year']) { $args['year'] = absint($instance['year']); } if ($instance['w']) { $args['w'] = absint($instance['w']); } /* Meta arguments. */ $args['meta_key'] = $instance['meta_key'] ? strip_tags($instance['meta_key']) : ''; $args['meta_value'] = $instance['meta_value'] ? $instance['meta_value'] : ''; $args['meta_compare'] = $instance['meta_compare'] ? $instance['meta_compare'] : ''; /* Open the output of the widget. */ echo $before_widget; echo "<div id=\"content_area_" . preg_replace("/[^0-9\\.]/", '', $widget_id) . "\" class=\"content_area clearfix\">\n"; /* If there is a title given, add it along with the $before_title and $after_title variables. */ if ($instance['title']) { echo "<div class=\"query_headline\">\n"; echo $before_title . apply_filters('widget_title', $instance['title'], $instance, $this->id_base) . $after_title; echo "</div>\n"; } /* Filter posts to allow offset for pagination */ add_filter('post_limits', 'bizz_post_limit'); /* Ignite the query */ query_posts(apply_filters('query_posts_args', $args)); /* If posts were found, let's loop through them. */ if (have_posts()) { if (is_paged()) { $is_paged = true; } /* Open wrapper. */ if ('ol' == $instance['entry_container'] || 'ul' == $instance['entry_container']) { echo "<{$instance['entry_container']}>"; } $post_count = 0; while (have_posts()) { the_post(); $post_count++; /* Post container. */ $e_o = $post_count % $args['post_columns'] ? '' : ' last'; $classes = 'post_box top bsize-' . $args['post_columns'] . $e_o; $post_classes = implode(' ', get_post_class($classes, get_the_ID())); bizz_hook_before_post_box($args); #hook echo "\t\t\t<" . apply_filters('bizz_html5_article', "div") . " class=\"" . $post_classes . "\" id=\"post-" . get_the_ID() . "\">\n"; #wp bizz_hook_post_box_top($args); #hook if ($instance['entry_title'] && $show_entry_title && apply_filters('bizz_show_headline_area', true)) { echo "\t\t\t\t<" . apply_filters('bizz_html5_header', "div") . " class=\"headline_area\">\n"; if ($wp_link_pages) { the_title("<{$instance['entry_title']} class='entry-title'><a href='" . get_permalink() . "' title='" . the_title_attribute('echo=0') . "' rel='bookmark'>", "</a></{$instance['entry_title']}>"); } else { the_title("<{$instance['entry_title']} class='entry-title'>", "</{$instance['entry_title']}>"); } echo "\t\t\t\t</" . apply_filters('bizz_html5_header', "div") . ">\n"; } bizz_hook_query_after_headline($args); #hook bizz_hook_query_content($args); #hook bizz_hook_post_box_bottom($args); #hook echo "\t\t\t</" . apply_filters('bizz_html5_article', "div") . ">\n"; bizz_hook_after_post_box($args); #hook if ($e_o != '') { echo "\t\t\t\t<div class='single-sep fix'><!----></div>\n"; } } /* Pagination */ if (function_exists('bizz_wp_pagenavi') && $instance['enable_pagination']) { bizz_wp_pagenavi(); } /* Close wrapper. */ if ('ol' == $instance['entry_container'] || 'ul' == $instance['entry_container']) { echo "</{$instance['entry_container']}>"; } } elseif ($instance['error_message']) { $classes = 'post_box top'; $post_classes = implode(' ', get_post_class($classes, get_the_ID())); bizz_hook_before_post_box($args); #hook echo "\t\t\t<" . apply_filters('bizz_html5_article', "div") . " class=\"" . $post_classes . "\" id=\"post-" . get_the_ID() . "\">\n"; #wp bizz_hook_post_box_top($args); #hook /* Output error message. */ echo '<div class="entry-content"><p>' . do_shortcode(apply_filters('widget_error_message', $instance['error_message'])) . '</p></div>'; bizz_hook_post_box_bottom($args); #hook echo "\t\t\t</" . apply_filters('bizz_html5_article', "div") . ">\n"; bizz_hook_after_post_box($args); #hook } /* Reset query. */ wp_reset_query(); /* Remove pagination filter */ remove_filter('post_limits', 'bizz_post_limit'); echo "</div>\n"; /* Close the output of the widget. */ echo $after_widget; }
function archive($args) { if (is_paged()) { $is_paged = true; } if (isset($args[0])) { $args = $args[0]; } #[0] array level bizz_archive_headline(); $post_count = 0; while (have_posts()) { #wp the_post(); #wp $post_count++; $e_o = $post_count % $args['post_columns'] ? '' : ' last'; $classes = 'post_box top bsize-' . $args['post_columns'] . $e_o; $post_classes = implode(' ', get_post_class($classes, get_the_ID())); bizz_hook_before_post_box($args); #hook echo "\t\t\t<" . apply_filters('bizz_html5_article', "div") . " class=\"" . $post_classes . "\" id=\"post-" . get_the_ID() . "\">\n"; bizz_hook_post_box_top($args); #hook bizz_headline_area($args); bizz_hook_after_headline($args); #hook bizz_hook_loop_content($args); #hook bizz_hook_post_box_bottom($args); #hook echo "\t\t\t</" . apply_filters('bizz_html5_article', "div") . ">\n"; if ($e_o != '') { echo "\t\t\t\t<div class='single-sep fix'><!----></div>\n"; } bizz_hook_after_post_box($args); #hook } if (function_exists('bizz_wp_pagenavi') && $args['enable_pagination']) { bizz_wp_pagenavi(); } }