'kadence_recent_posts', 'description' => __('This shows the most recent posts on your site with a thumbnail', 'ascend')); parent::__construct('kadence_recent_posts', __('Ascend: Recent Posts', 'ascend'), $widget_ops); } public function widget($args, $instance) { if ( ! isset( $args['widget_id'] ) ) { $args['widget_id'] = $this->id; } extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base); if ( empty( $instance['number'] ) || ! $number = absint( $instance['number'] ) ) { $number = 10; } if(isset($instance['orderby'])) { $orderby = $instance['orderby']; } else { $orderby = 'date'; } if($orderby == "menu_order" || $orderby == "title") { $order = "ASC"; } else { $order = "DESC"; } if(isset($instance['first_feature']) && $instance['first_feature'] == "true") { $feature = "true"; } else { $feature = "false"; } if(isset($instance['read_more']) && $instance['read_more'] == "true") { $readmore = "true"; } else { $readmore = "false"; } if(isset($instance['read_more_txt']) && !empty($instance['read_more_txt'])) { $readmore_txt = $instance['read_more_txt']; } else { $readmore_txt = __('Read More', 'ascend'); } if(isset($instance['thecate'])) { $cat = $instance['thecate']; } else { $cat = __('Read More', 'ascend'); } $r = new WP_Query( apply_filters( 'widget_posts_args', array( 'posts_per_page' => $number, 'category_name' => $cat, 'no_found_rows' => true, 'post_status' => 'publish', 'orderby' => $orderby, 'order' => $order, 'ignore_sticky_posts' => true ) ) ); if ($r->have_posts()) : $image_size = apply_filters('kadence_post_widget_image_size', array('width'=> 60, 'height' => 60)); $feature_image_size = apply_filters('kadence_post_feature_widget_image_size', array('width'=> 420, 'height' => 280)); echo $before_widget; if ( $title ) { echo $before_title . $title . $after_title; } echo ''; if($readmore == 'true') { if(isset($instance['thecate']) && !empty($instance['thecate'])) { $cat = get_category_by_slug($instance['thecate']); $link = get_category_link($cat->term_id); } else { $post_id = get_option( 'page_for_posts' ); if(isset($post_id) && !empty($post_id)) { $link = get_the_permalink($post_id); } else { $link = home_url(); } } echo '
'; echo ''.esc_html($readmore_txt).''; echo '
'; } echo $after_widget; wp_reset_postdata(); endif; } public function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = sanitize_text_field($new_instance['title']); $instance['orderby'] = sanitize_text_field($new_instance['orderby']); $instance['number'] = (int) $new_instance['number']; $instance['thecate'] = sanitize_text_field($new_instance['thecate']); $instance['first_feature'] = sanitize_text_field($new_instance['first_feature']); $instance['read_more'] = sanitize_text_field($new_instance['read_more']); $instance['read_more_txt'] = sanitize_text_field($new_instance['read_more_txt']); return $instance; } public function form( $instance ) { $title = isset($instance['title']) ? esc_attr($instance['title']) : ''; $number = isset($instance['number']) ? absint($instance['number']) : 5; if (isset($instance['thecate'])) { $thecate = esc_attr($instance['thecate']); } else {$thecate = '';} if (isset($instance['orderby'])) { $orderby = esc_attr($instance['orderby']); } else {$orderby = 'date';} $first_feature = isset($instance['first_feature']) ? $instance['first_feature'] : "false"; $read_more = isset($instance['read_more']) ? $instance['read_more'] : "false"; $read_more_txt = isset($instance['read_more_txt']) ? esc_attr($instance['read_more_txt']) : ''; $orderoptions = array(array('name' => 'Date', 'slug' => 'date'), array('name' => 'Random', 'slug' => 'rand'), array('name' => 'Comment Count', 'slug' => 'comment_count'), array('name' => 'Modified', 'slug' => 'modified')); $true_false_options = array(array('name' => 'False', 'slug' => 'false'), array('name' => 'True', 'slug' => 'true')); $categories= get_categories(); $cate_options = array(); $cate_options[] = ''; foreach ($categories as $cate) { if ($thecate==$cate->slug) { $selected=' selected="selected"';} else { $selected=""; } $cate_options[] = ''; } $order_options = array(); foreach ($orderoptions as $ooption) { if ($orderby==$ooption['slug']) { $selected=' selected="selected"';} else { $selected=""; } $order_options[] = ''; } $feature_options = array(); foreach ($true_false_options as $foption) { if ($first_feature==$foption['slug']) { $selected=' selected="selected"';} else { $selected=""; } $feature_options[] = ''; } $readmore_options = array(); foreach ($true_false_options as $roption) { if ($read_more ==$roption['slug']) { $selected=' selected="selected"';} else { $selected=""; } $readmore_options[] = ''; } ?>