1
|
1 |
<?php |
|
2 |
class four_block_widget extends WP_Widget { |
|
3 |
/** constructor */ |
|
4 |
function four_block_widget() { |
|
5 |
parent::WP_Widget(false, $name = "OCMX Thumbnail Widget", array("description" => "Four block thumbnail widget for the Home Page. Place in the 'Index Header Panel'.")); |
|
6 |
} |
|
7 |
|
|
8 |
/** @see WP_Widget::widget */ |
|
9 |
function widget($args, $instance) { |
|
10 |
extract( $args ); |
|
11 |
$widget_title = esc_attr($instance["widget_title"]); |
|
12 |
|
|
13 |
if(!($instance["post_category"])) : |
|
14 |
$use_catId = 0; |
|
15 |
$cat_query = ""; |
|
16 |
else : |
|
17 |
$use_category = $instance["post_category"]; |
|
18 |
$use_catId = get_category_by_slug($use_category); |
|
19 |
$cat_query = "&category_name=".$use_catId->cat_name; |
|
20 |
endif; |
|
21 |
//Fetch the category for the widget |
|
22 |
if(!($instance["post_offset"])) : |
|
23 |
$use_offset = 0; |
|
24 |
else : |
|
25 |
$use_offset = $instance["post_offset"]; |
|
26 |
endif; |
|
27 |
|
|
28 |
//Fetch the count for the widget |
|
29 |
if(!($instance["post_count"])) : |
|
30 |
$post_count = 4; |
|
31 |
else : |
|
32 |
$post_count = $instance["post_count"]; |
|
33 |
endif; |
|
34 |
|
|
35 |
$ocmx_featured = new WP_Query("showposts=$post_count&post_type=post".$cat_query); |
|
36 |
|
|
37 |
//Set the post Aguments and Query accordingly |
|
38 |
$count = 0; |
|
39 |
?> |
|
40 |
<div class="post-slider clearfix"> |
|
41 |
<h2><?php echo $widget_title; ?></h2> |
|
42 |
<ul> |
|
43 |
<?php while ($ocmx_featured->have_posts()) : $ocmx_featured->the_post(); |
|
44 |
setup_postdata($post); |
|
45 |
$count++; |
|
46 |
if ($count == 5) : |
|
47 |
$count = 1; ?> |
|
48 |
</ul> |
|
49 |
</div> |
|
50 |
<div class="post-slider clearfix"> |
|
51 |
<ul> |
|
52 |
<?php endif; |
|
53 |
// Fetch the PermaLink, Thumbnail and Video Metas |
|
54 |
$this_post = get_post($ocmx_featured->ID); |
|
55 |
$get_post_video = get_post_meta($this_post->ID, "main_video", true); |
|
56 |
$get_thumbnail = get_post_meta($this_post->ID, "other_media", true); |
|
57 |
$get_video_thumbnail = get_post_meta($this_post->ID, "video_thumbnail", true); |
|
58 |
$link = get_permalink($this_post->ID); |
|
59 |
// Set our category |
|
60 |
$category = get_the_category(); |
|
61 |
// If we haven't used our custom image input, search for the first image in the post |
|
62 |
$post_image = ""; |
|
63 |
if($get_thumbnail == "" && (get_option("ocmx_auto_home_images") && get_option("ocmx_auto_home_images") !== "no")) : |
|
64 |
$post_image = fetch_post_image($ocmx_featured->ID, "300", "600"); |
|
65 |
endif; |
|
66 |
?> |
|
67 |
<li<?php if($count == 4) : echo " class=\"last\""; endif;?>> |
|
68 |
<div class="container-header-light-normal"><span></span></div> |
|
69 |
<div class="container-light"> |
|
70 |
<div class="thumbnail"> |
|
71 |
<?php if ($get_video_thumbnail !== "") : |
|
72 |
/* Display Custom Video Image */ |
|
73 |
?> |
|
74 |
<img src="<?php bloginfo('template_directory'); ?>/functions/timthumb.php?src=<?php echo $get_video_thumbnail ?>&h=&w=300&zc=1" alt="<?php the_title(); ?>" /> |
|
75 |
<?php elseif ($post_image !== "") : |
|
76 |
/* Display Post Image */ |
|
77 |
echo $post_image; |
|
78 |
elseif ($get_thumbnail !== "") : |
|
79 |
/* Display Custom Post Image */ |
|
80 |
?> |
|
81 |
<img src="<?php bloginfo('template_directory'); ?>/functions/timthumb.php?src=<?php echo $get_thumbnail ?>&h=&w=300&zc=1" alt="<?php the_title(); ?>" /> |
|
82 |
<?php endif; ?> |
|
83 |
</div> |
|
84 |
</div> |
|
85 |
<div class="container-footer-light-normal"><span></span></div> |
|
86 |
<h3><a href="<?php echo $link; ?>"><?php echo $this_post->post_title; ?></a></h3> |
|
87 |
</li> |
|
88 |
<?php endwhile; ?> |
|
89 |
</ul> |
|
90 |
</div> |
|
91 |
<?php |
|
92 |
} |
|
93 |
|
|
94 |
/** @see WP_Widget::update */ |
|
95 |
function update($new_instance, $old_instance) { |
|
96 |
return $new_instance; |
|
97 |
} |
|
98 |
|
|
99 |
/** @see WP_Widget::form */ |
|
100 |
function form($instance) { |
|
101 |
$widget_title = esc_attr($instance["widget_title"]); |
|
102 |
$post_category = esc_attr($instance["post_category"]); |
|
103 |
$post_count = esc_attr($instance["post_count"]); |
|
104 |
$post_offset = esc_attr($instance["post_offset"]); |
|
105 |
|
|
106 |
?> |
|
107 |
<p> |
|
108 |
<label for="<?php echo $this->get_field_id('widget_title'); ?>">Title |
|
109 |
<input type="text" class="widefat" id="<?php echo $this->get_field_id('widget_title'); ?>" name="<?php echo $this->get_field_name('widget_title'); ?>" value="<?php echo $widget_title; ?>"> |
|
110 |
</p> |
|
111 |
<p> |
|
112 |
<label for="<?php echo $this->get_field_id('post_count'); ?>">Post Count |
|
113 |
<select size="1" class="widefat" id="<?php echo $this->get_field_id('post_count'); ?>" name="<?php echo $this->get_field_name('post_count'); ?>"> |
|
114 |
<?php for($i = 4; $i < 25; $i=$i+4) : ?> |
|
115 |
<option <?php if($post_count == $i) : ?>selected="selected"<?php endif; ?> value="<?php echo $i; ?>"><?php echo $i; ?></option> |
|
116 |
<?php endfor; ?> |
|
117 |
</select> |
|
118 |
</p> |
|
119 |
<p> |
|
120 |
<label for="<?php echo $this->get_field_id('post_offset'); ?>">Post Offset |
|
121 |
<select size="1" class="widefat" id="<?php echo $this->get_field_id('post_offset'); ?>" name="<?php echo $this->get_field_name('post_offset'); ?>"> |
|
122 |
<option <?php if($post_offset == 0) : ?>selected="selected"<?php endif; ?> value="0">Latest Post</option> |
|
123 |
<?php for($i = 1; $i <= 8; $i++) : ?> |
|
124 |
<option <?php if($post_offset == $i) : ?>selected="selected"<?php endif; ?> value="<?php echo $i; ?>"><?php echo $i; ?> Posts Old</option> |
|
125 |
<?php endfor; ?> |
|
126 |
</select> |
|
127 |
</p> |
|
128 |
|
|
129 |
<p><label for="<?php echo $this->get_field_id('post_category'); ?>">Category |
|
130 |
<select size="1" class="widefat" id="<?php echo $this->get_field_id("post_category"); ?>" name="<?php echo $this->get_field_name("post_category"); ?>"> |
|
131 |
<option <?php if($post_count == 0){echo "selected=\"selected\"";} ?> value="0">All</option> |
|
132 |
<?php |
|
133 |
$category_args = array('hide_empty' => false); |
|
134 |
$option_loop = get_categories($category_args); |
|
135 |
foreach($option_loop as $option_label => $value) |
|
136 |
{ |
|
137 |
// Set the $value and $label for the options |
|
138 |
$use_value = $value->slug; |
|
139 |
$label = $value->cat_name; |
|
140 |
//If this option == the value we set above, select it |
|
141 |
if($use_value == $post_category) |
|
142 |
{$selected = " selected='selected' ";} |
|
143 |
else |
|
144 |
{$selected = " ";} |
|
145 |
?> |
|
146 |
<option <?php echo $selected; ?> value="<?php echo $use_value; ?>"><?php echo $label; ?></option> |
|
147 |
<?php |
|
148 |
} |
|
149 |
?> |
|
150 |
</select> |
|
151 |
</p> |
|
152 |
<?php |
|
153 |
} // form |
|
154 |
|
|
155 |
}// class |
|
156 |
|
|
157 |
//This sample widget can then be registered in the widgets_init hook: |
|
158 |
|
|
159 |
// register FooWidget widget |
|
160 |
add_action('widgets_init', create_function('', 'return register_widget("four_block_widget");')); |
|
161 |
|
|
162 |
?> |