__('Shows Random Posts. You can customize it easily.', 'adv-rnd-posts') ); //Create widget $this->WP_Widget('advancedrandomposts', __('Advanced Random Posts', 'adv-rnd-posts'), $widget_ops); } function widget($args, $instance) { extract($args, EXTR_SKIP); echo $before_widget; $title = empty($instance['title']) ? __('Random Posts', 'adv-rnd-posts') : apply_filters('widget_title', $instance['title']); $parameters = array( 'title' => $title, 'limit' => (int) $instance['show-num'], 'excerpt' => (int) $instance['excerpt-length'], 'actcat' => (bool) $instance['actcat'], 'cats' => esc_attr($instance['cats']), 'cusfield' => esc_attr($instance['cus-field']), 'w' => (int) $instance['width'], 'h' => (int) $instance['height'], 'firstimage' => (bool) $instance['firstimage'], 'atimage' =>(bool) $instance['atimage'], 'defimage' => esc_url($instance['defimage']) ); if ( !empty( $title ) ) { echo $before_title . $title . $after_title; }; //print random posts yg_randomposts($parameters); echo $after_widget; } //end of widget //Update widget options function update($new_instance, $old_instance) { $instance = $old_instance; //get old variables $instance['title'] = esc_attr($new_instance['title']); $instance['show-num'] = (int) abs($new_instance['show-num']); if ($instance['show-num'] > 20) $instance['show-num'] = 20; $instance['excerpt-length'] = (int) abs($new_instance['excerpt-length']); $instance['cats'] = esc_attr($new_instance['cats']); $instance['actcat'] = $new_instance['actcat'] ? 1 : 0; $instance['cus-field'] = esc_attr($new_instance['cus-field']); $instance['width'] = esc_attr($new_instance['width']); $instance['height'] = esc_attr($new_instance['height']); $instance['firstimage'] = $new_instance['first-image'] ? 1 : 0; $instance['atimage'] = $new_instance['atimage'] ? 1 : 0; $instance['defimage'] = esc_url($new_instance['def-image']); return $instance; } //end of update //Widget options form function form($instance) { $instance = wp_parse_args( (array) $instance, array( 'title' => __('Advanced Random Posts','adv-rnd-posts'), 'show-num' => 10, 'excerpt-length' => 0, 'actcat' => 0, 'cats' => '', 'cus-field' => '', 'width' => '', 'height' => '', 'firstimage' => 0, 'atimage' => 0,'defimage'=>'' ) ); $title = esc_attr($instance['title']); $show_num = (int) $instance['show-num']; $excerpt_length = (int) $instance['excerpt-length']; $cats = esc_attr($instance['cats']); $actcat = (bool) $instance['actcat']; $cus_field = esc_attr($instance['cus-field']); $width = esc_attr($instance['width']); $height = esc_attr($instance['height']); $firstimage = (bool) $instance['firstimage']; $atimage = (bool) $instance['atimage']; $defimage = esc_url($instance['defimage']); ?>
px
px
/>
/>
/>
10, 'excerpt' => 0, 'actcat' => 0, 'cats'=>'', 'cusfield' =>'', 'w' => 48, 'h' => 48, 'firstimage' => 0, 'atimage' => 0, 'defimage' => ''); $args = wp_parse_args( $args, $defaults ); extract($args); $limit = (int) abs($limit); $firstimage = (bool) $firstimage; $atimage = (bool) $atimage; $defimage = esc_url($defimage); $w = (int) $w; $h = (int) $h; $excerptlength = (int) abs($excerpt); $excerpt = ''; $cats = str_replace(" ", "", esc_attr($cats)); if (($limit < 1 ) || ($limit > 20)) $limit = 10; if (($actcat) && (is_category())) { $cats = get_query_var('cat'); } if (($actcat) && (is_single())) { $cats = ''; foreach (get_the_category() as $catt) { $cats .= $catt->cat_ID.' '; } $cats = str_replace(" ", ",", trim($cats)); } if (!intval($cats)) $cats=''; $query = "cat=$cats&showposts=$limit&orderby=rand"; $rnd_posts = get_posts($query); //get posts by random $postlist = ''; $height = $h ? ' height = "' . $h .'"' : ''; $width = $w ? ' width = "' . $w . '"' : ''; foreach ($rnd_posts as $post) { $post_title = htmlspecialchars(stripslashes($post->post_title)); if ($excerptlength) { $excerpt = $post->post_excerpt; if ( '' == $excerpt ) { $text = $post->post_content; $text = strip_shortcodes( $text ); $text = str_replace(']]>', ']]>', $text); $text = strip_tags($text); $excerpt_length = 100; $words = explode(' ', $text, $excerpt_length + 1); if (count($words) > $excerpt_length) { array_pop($words); $text = implode(' ', $words); } $excerpt = $text; } if(strlen($excerpt) > $excerptlength) { $excerpt = mb_substr($excerpt, 0, $excerptlength) . '...'; } $excerpt = ': ' . $excerpt; } $image = ''; $img = ''; if ($cusfield) { $cusfield = esc_attr($cusfield); $img = get_post_meta($post->ID, $cusfield, true); } if (!$img && $firstimage) { $match_count = preg_match_all("/