__('Shows Hyperlinked Thumbnails from Random Posts.', 'adv-rnd-post-thumbs') ); //Create widget $this->WP_Widget('advancedrandompostthumbs', __('Advnaced Random Post Thumbnails', 'adv-rnd-post-thumbs'), $widget_ops); } function widget($args, $instance) { extract($args, EXTR_SKIP); echo $before_widget; $title = empty($instance['title']) ? __('Random Post Thumbnails', 'adv-rnd-post-thumbs') : apply_filters('widget_title', $instance['title']); $parameters = array( 'title' => $title, 'limit' => (int) $instance['show-num'], 'actcat' => (bool) $instance['actcat'], 'cats' => esc_attr($instance['cats']), 'cusfield' => esc_attr($instance['cus-field']), 'w' => (int) $instance['width'], 'h' => (int) $instance['height'], 'inline' => (bool) $instance['inline'], 't' => (int) $instance['top'], 'r' => (int) $instance['right'], 'b' => (int) $instance['bottom'], 'l' => (int) $instance['left'], 'bl' => (int) $instance['bufferl'], 'br' => (int) $instance['bufferr'], '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 dv_randompostthumbs($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['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['inline'] = $new_instance['inline'] ? 1 : 0; $instance['top'] = esc_attr($new_instance['top']); $instance['right'] = esc_attr($new_instance['right']); $instance['bottom'] = esc_attr($new_instance['bottom']); $instance['left'] = esc_attr($new_instance['left']); $instance['bufferl'] = esc_attr($new_instance['bufferl']); $instance['bufferr'] = esc_attr($new_instance['bufferr']); $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' => __('Random Post Thumbnails','adv-rnd-post-thumbs'), 'show-num' => 10, 'actcat' => 0, 'cats' => '', 'cus-field' => '', 'width' => '75', 'height' => '75', 'inline' => 'inline', 'top' => '5', 'right' => '5', 'bottom' => '5', 'left' => '5', 'bufferl' => '0', 'bufferr' => '0', 'firstimage' => 0, 'atimage' => 0, 'defimage'=>'' ) ); $title = esc_attr($instance['title']); $show_num = (int) $instance['show-num']; $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']); $inline = (bool) $instance['inline']; $top = esc_attr($instance['top']); $right = esc_attr($instance['right']); $bottom = esc_attr($instance['bottom']); $left = esc_attr($instance['left']); $bufferl = esc_attr($instance['bufferl']); $bufferr = esc_attr($instance['bufferr']); $firstimage = (bool) $instance['firstimage']; $atimage = (bool) $instance['atimage']; $defimage = esc_url($instance['defimage']); ?>
Thumbnail Dimensions:
px
px
/>
Thumbnail Margins:
px
px
px
px
Left and Right Side Buffers:
px
px
(
/>
/>
/>
10, 'actcat' => 0, 'cats'=>'', 'cusfield' =>'', 'w' => 48, 'h' => 48, 'inline' => '0', 't' => 5, 'r' => 5, 'b' => 5, 'l' => 5, 'bl' => 0, 'br' => 0, '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; $inline = (bool) $inline; $t = (int) $t; $r = (int) $r; $b = (int) $b; $l = (int) $l; $bl = (int) $bl; $br = (int) $br; $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 .'"' : ''; $top = $t ? ' margin-top:' . $t : ''; $right = $r ? ' margin-right:' . $r : ''; $bottom = $b ? ' margin-bottom:' . $b : ''; $left = $l ? ' margin-left:' . $l : ''; $bufferl = $bl ? ' width:' . $bl : ''; $bufferr = $br ? ' width:' . $br : ''; foreach ($rnd_posts as $post) { $post_title = htmlspecialchars(stripslashes($post->post_title)); $image = ''; $img = ''; if ($cusfield) { $cusfield = esc_attr($cusfield); $img = get_post_meta($post->ID, $cusfield, true); } if (!$img && $firstimage) { $match_count = preg_match_all("/| '; echo ' | ' . $postlist . ' | '; echo ''; echo ' |