esc_html__('A widget that shows wordpress default posts', 'metrostore') )); } private function widget_fields() { $args = array( 'type' => 'post', 'child_of' => 0, 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'taxonomy' => 'category', ); $categories = get_categories( $args ); $posts_categories = array(); foreach( $categories as $category ) { $posts_categories[$category->term_id] = $category->name; } $fields = array( 'metrostore_blog_title' => array( 'metrostore_widgets_name' => 'metrostore_blog_title', 'metrostore_widgets_title' => esc_html__('Title', 'metrostore'), 'metrostore_widgets_field_type' => 'title', ), 'metrostore_default_posts_category' => array( 'metrostore_widgets_name' => 'metrostore_default_posts_category', 'metrostore_mulicheckbox_title' => esc_html__('Select Posts Category', 'metrostore'), 'metrostore_widgets_field_type' => 'multicheckcategory', 'metrostore_widgets_field_options' => $posts_categories ), 'metrostore_posts_number' => array( 'metrostore_widgets_name' => 'metrostore_posts_number', 'metrostore_widgets_title' => esc_html__('Enter Number of Posts Show', 'metrostore'), 'metrostore_widgets_field_type' => 'number', ), ); return $fields; } public function widget($args, $instance) { extract($args); extract($instance); /** * wp query for first block */ $title = empty( $instance['metrostore_blog_title'] ) ? '' : $instance['metrostore_blog_title']; $blogs_category_list = empty( $instance['metrostore_default_posts_category'] ) ? '' : $instance['metrostore_default_posts_category']; $posts_number = empty( $instance['metrostore_posts_number'] ) ? 5 : $instance['metrostore_posts_number']; $blogs_cat_id = array(); if(!empty($blogs_category_list)){ $blogs_cat_id = array_keys($blogs_category_list); } $blogs_posts = new WP_Query( array( 'post_type' => 'post', 'cat' => $blogs_cat_id, 'posts_per_page' => $posts_number )); echo $before_widget; ?>
have_posts() ) : while( $blogs_posts->have_posts() ) : $blogs_posts->the_post(); $image = wp_get_attachment_image_src(get_post_thumbnail_id(get_the_ID()), 'metrostore-blog-image', true); ?>
widget_fields(); foreach ($widget_fields as $widget_field) { extract($widget_field); $instance[$metrostore_widgets_name] = metrostore_widgets_updated_field_value($widget_field, $new_instance[$metrostore_widgets_name]); } return $instance; } public function form($instance) { $widget_fields = $this->widget_fields(); foreach ($widget_fields as $widget_field) { extract($widget_field); $metrostore_widgets_field_value = !empty($instance[$metrostore_widgets_name]) ? $instance[$metrostore_widgets_name] : ''; metrostore_widgets_show_widget_field($this, $widget_field, $metrostore_widgets_field_value); } } }