Archive | December 2012

Add “first” and “last” CSS classes to dynamic sidebar widgets.

/**
* Add "first" and "last" CSS classes to dynamic sidebar widgets. Also adds numeric index class for each widget (widget-1, widget-2, etc.)
*/
function widget_first_last_classes($params) {

global $my_widget_num; // Global a counter array
$this_id = $params[0][‘id’]; // Get the id for the current sidebar we’re processing
$arr_registered_widgets = wp_get_sidebars_widgets(); // Get an array of ALL registered widgets

if(!$my_widget_num) {// If the counter array doesn’t exist, create it
$my_widget_num = array();
}

if(!isset($arr_registered_widgets[$this_id]) || !is_array($arr_registered_widgets[$this_id])) { // Check if the current sidebar has no widgets
return $params; // No widgets in this sidebar… bail early.
}

if(isset($my_widget_num[$this_id])) { // See if the counter array has an entry for this sidebar
$my_widget_num[$this_id] ++;
} else { // If not, create it starting with 1
$my_widget_num[$this_id] = 1;
}

$class = ‘class=”widget-‘ . $my_widget_num[$this_id] . ‘ ‘; // Add a widget number class for additional styling options

if($my_widget_num[$this_id] == 1) { // If this is the first widget
$class .= ‘widget-first ‘;
} elseif($my_widget_num[$this_id] == count($arr_registered_widgets[$this_id])) { // If this is the last widget
$class .= ‘widget-last ‘;
}

$params[0][‘before_widget’] = preg_replace(‘/class=\”/’, “$class”, $params[0][‘before_widget’], 1);

return $params;

}
add_filter(‘dynamic_sidebar_params’,’widget_first_last_classes’);

Custom WordPress RSS Feeds

<?php if(function_exists('fetch_feed')) {
include_once(ABSPATH . WPINC . '/feed.php'); // the file to rss feed generator
$feed = fetch_feed('http://www.brettthompsonracing.com/feed/'); // specify the rss feed
$limit = $feed->get_item_quantity(7); // specify number of items
$items = $feed->get_items(0, $limit); // create an array of items
}
if ($limit == 0) echo '<div>The feed is either empty or unavailable.</div>';
else foreach ($items as $item) : ?>
// The actual output
<h1><a href="<?php echo $item->get_permalink(); ?>" alt="<?php echo $item->get_title(); ?>"><?php echo $item->get_title(); ?></a></h1>
<p><?php echo $item->get_date('j F Y @ g:i a'); ?></p>
<p><?php echo substr($item->get_description(), 0, 200); ?> ...</p>
<?php endforeach; ?>