Tutorial: WordPress Feature Posts Slider Using jQuery

JQuery Slider for WordPress Feature Posts
This is how the original tutorial looks. I customized my own to look entirely different changing only CSS.

A while back, I found a great tutorial on how to build a feature posts slider with jQuery.  It was just what I was looking for, except as I’m not a PHP expert, I didn’t know how to integrate it into WordPress.  Fortunately I’m a member of the best theme framework that WordPress has to offer, ThemeHybrid.  In the exceptionally run support forums, I was pulled along by Justin Tadlock (Hybrid’s creator) and Rarst (a Hybrid contributor) to make my goal of creating a highly flexible, super customizable feature post slider a reality.  Now I’m going to share how we did it so that any other WordPress user can do it too.

View WebDeveloperPlus demo | View my custom WordPress demo

Why this slider to display featured posts?

  1. It’s coded to jQuery standards.
  2. It includes a list of posts with thumbnails in addition to the feature post.
  3. It can slide right into most themes as is, but is also extremely flexible.
Feeling brave? Go ahead, download the files and skip to the bottom for how to implement the final product.

One requirement to make this work is Justin’s Get The Image plugin.  Don’t worry though, in addition to making the slider work, this plugin will make your life easier in general, providing a simple and effective method for automatically grabbing images for you to use for things like post thumbnails in excerpts.  If you already use Hybrid, you already have Get The Image, so no need to download.

Most of the brains for the slider are going in the functions.php file.  Depending on your theme, you may already be very familiar with this file.  Basically, it’s where you put stuff that’s not natively in your WordPress theme.  While we’re on it, for a great (and long) list of things you can put in functions.php that will make your website awesome check out what the guys at WP Beginner have offered up.

In addition to the functions file, we’ll be creating a css file  to style the slider and a small javascript file to make it work.  Let’s dig in.

Click each tab to view that section of the tutorial.  All files are available for download at the bottom of the tutorial.

[tab: The Functions File]

This is by far the most complex part.

Let’s register and call styles.

wp_register_style( 'jquery-ui-slider', get_stylesheet_directory_uri() . '/jquery-ui-slider.css', '', filemtime(
STYLESHEETPATH . '/jquery-ui-slider.css' ) );
wp_enqueue_style( 'jquery-ui-slider' );

If you only use the slider on a certain page you can wrap this section into a conditional statement.

Next, we’ll start our main function, jquery_ui_slider(), and load Javascript files. We’re loading Javascript files within the function so that they are only loaded on pages where the function is actually called.

function jquery_ui_slider() {

	slider_scripts_register(); /* calls function defined later */
	add_filter( 'script_loader_src', 'google_scripts_unversion' ); /* filters Google API url for bug prevention */
	add_action( 'wp_footer', 'slider_footer_scripts', 20 ); /* adds an action to load the scripts in the footer */

And meat of the html and php:

The most important thing to note here is that in the second line we’re calling for posts in the “Featured” category and displaying four posts at a time. Both can be changed for your application, but it will be necessary to adjust the css accordingly if you want to change the number of posts in the slider.

?> <div id="featured" > /* remember to close the php tags before starting html */

<?php $loop = new WP_Query( array( 'category_name' => 'Featured', 'posts_per_page' => 4 ) ); ?>

<?php $i = 0; ?>

<ul class="ui-tabs-nav">

<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

<li id="nav-fragment-<?php echo ++$i; ?>" class="ui-tabs-nav-item <?php if ( $i <= 1 ) echo 'ui-tabs-selected'; ?>" >
<a href="#fragment-<?php echo $i; ?>"> /* references the div #fragment-i where i equals 1, 2, 3, or 4  */
<?php get_the_image( array( 'link_to_post' => false ) ); ?> /* uses plugin to grab the image from post */
<span><?php the_title(); ?></span>

<?php endwhile; ?>


<?php $i = 0; ?>

<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div id="fragment-<?php echo ++$i; ?>" class="ui-tabs-panel <?php if ( $i > 1 ) echo 'ui-tabs-hide'; ?>"> /* adds ui-tabs-hide portion of class if post is not active */
<?php get_the_image( array( 'link_to_post' => false ) ); ?> /* uses plugin to grab the image from post */
<div class="info">
<h2><a href="<?php echo get_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<p><?php the_excerpt(); ?></p>
<?php endwhile; ?>

To get the actual WordPress posts we’re querying the database for four “Featured” posts and looping through the posts two times. The first loop grabs the list of posts with thumbnails and title and applies the ul class “ui-tabs-nav”. The second loop grabs the posts and displays the image, title and excerpts with the div class “ui-tabs-panel” for the active post plus “ui-tabs-hide” for non-active posts. It’s important to pay attention to where you are opening and closing php tags, as the php and html are mixed throughout this section.

Now we will register, filter, and print scripts.

function slider_scripts_register() {
if ( !is_admin() ) { /*only perform on non-admin pages */
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js', false, '1.4.2', true );

wp_deregister_script( 'jquery-ui-core' );
wp_register_script( 'jquery-ui-core', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js', array( 'jquery' ), '1.8.2', true );
wp_register_script( 'jquery-ui-slider', get_stylesheet_directory_uri() . '/jquery-ui-slider.js', array( 'jquery-ui-core' ), filemtime( STYLESHEETPATH . '/jquery-ui-slider.js' ), true );

function google_scripts_unversion( $src ) { /*filter jQuery version on Google APIs */

if( strpos($src, 'ajax.googleapis.com' ) )
$src = remove_query_arg( 'ver', $src );
return $src;

function slider_footer_scripts() { /* define the function we used earlier via add_action */

if ( !is_admin() ) {
wp_print_scripts( 'jquery-ui-slider' );

That’s it for the functions file. There are all kinds of ways to customize this. Some ideas would be to add a byline or entry meta, remove the title from the thumbs, or limit the length of the excerpts (which needs to be done to about 20 characters using the default css). The sky is the limit!
[tab: The CSS File]
The CSS needs to be named jquery-ui-slider.css and can be saved in the same folder as your style.css. If you use the default CSS, you will also need the selected-item.gif image for the active post pointer.  To make the original slider fit into WordPress, apply the following CSS.

/*featured content*/

	border:5px solid #ccc;
#featured ul li {
        background: none;
	margin: 0;
	border: none;
#featured ul.ui-tabs-nav{
	top:0; left:340px;
	padding:0; margin:0;
#featured ul.ui-tabs-nav li{
	padding:1px 0; padding-left:13px;
#featured ul.ui-tabs-nav li img{
	float:left; margin:2px 5px;
	border:1px solid #eee;
#featured ul.ui-tabs-nav li span{
	font-size:11px; font-family:Verdana;
#featured li.ui-tabs-nav-item a{
	color:#333;  background:#fff;
        margin-right: 1px;

#featured li.ui-tabs-nav-item a:hover{
#featured li.ui-tabs-selected{
	background:url('images/selected-item.gif') top left no-repeat;
#featured ul.ui-tabs-nav li.ui-tabs-selected a{
#featured .ui-tabs-panel{
	width:340px; height:250px;
	background:#999; position:relative;
#featured .ui-tabs-panel .info{
	top:170px; left:0;
        width: 340px;
	background: url('images/transparent-bg.png');
#featured .info h2{
	font-size:14px; font-family:Georgia, serif;
	color:#fff; padding:0px 5px; margin:0;
        line-height: 18px;
#featured .info p{
	margin:0 5px;
	font-family:Verdana; font-size:11px;
	line-height:13px; color:#f0f0f0;
#featured .info a{
#featured .info a:hover{
#featured .ui-tabs-hide{
#featured .thumbnail{
	height: 50px;
	width: 70px;
        border: none;
#featured .ui-tabs-panel .thumbnail{
	height: 250px;
	width: 340px;
        margin: 0;
        padding: 0;
        border: none;

If you want to create a slider to fit into your theme like a glove I recommend Firebug, a cup of coffee, and lots of imagination.  You can see how I styled it for one of my own themes here, or you can also view the custom version I put into my demo. If you make your own, show me that one too! After all, my favorite part about this slider is that it is so flexible.

WordPress Feature Post Slider Using jQuery

[tab: The jQuery]
The jQuery makes the whole slider work.

I’m not a jQuery expert by any means, and I learned during this project about the jQuery no conflict wrapper for WordPress. Below is the code from the tutorial adapted for WordPress.  This file needs to be named jquery-ui-slider.js and you can save it in the same folder as the css.

jQuery(document).ready(function($) {
$("#featured").tabs({fx:{opacity: "toggle"}}).tabs("rotate", 3000, true);
function() {
function() {

3000 is the number of milliseconds between rotations. It is set to 0 on hover so that the slider will pause when a user scrolls over it.  Get a lot more jQuery ideas here.


Once you’ve finished all three files:

You need to call the function where you want it in your theme. For my theme, I’m using the condition is_front_page() and Widget Logic in the Hybrid widget area utility_before_content.  I have the simple php function

<?php jquery_ui_slider(); ?>

and I’m done. You of course can show this any way you like using the same function.

You now have everything you need for your very own, highly customizable WordPress feature posts slider utilizing jQuery. Three files and done. Again, I’d like to thank Justin Tadlock and Rarst for the more-than-help integrating this into WordPress and WebDeveloperPlus for the original tutorial.

Did you enjoy this tutorial? Let me know about it in the comments! Did you use it? Show it off!

download the files

Happy sliding!

That Pesky First Amendment

Republicans love to tout themselves as constitutional stalwarts… when it’s convenient.  The mosque non-debatable-debate is just my tipping point. Hello! It’s the first amendment!

first amendment

Really? Is this what we’ve come to? This excellent article will tell you why so adamantly protesting this mosque is bad for the United States. It will be used against us by extremists abroad. We must do better to tell the Muslim world that we are against Al Qaeda, not Islam.

Come on GOP. Respect the first amendment. You don’t have to love the idea of a mosque going there, but it has every right to be there.  Imagine what such tolerance says about our belief in “freedom for all” to the rest of the world.  But I guess Newt Gingrich is just fine comparing us to Saudi Arabia instead.  In Newt’s world, New York would just ban new mosques until the Saudis allow churches.  I really hope this is a dog days of summer issue, and Republicans let it go for the November elections, they have far better things to run against the Democrats on.

First Amendment? I thought it started with the one about guns.

The Stock Market is Getting Back to Reality

The stock market has been on a tear since the lows of March 2009, gaining over 60%, but why? Unemployment has risen to nearly 10 percent and the average unemployed person stays unemployed for 12 weeks longer today than the first quarter of 2009. I don’t think too many people feel like the economy has improved in that time frame, so why the confidence in the market? Well right now we’re seeing it get knocked back down to reality. Let’s start with some technical stuff and then move on to how I think we need to move forward to reach real economic health again.

The 200 day moving average is a key indicator for the long term health and momentum of the stock market. The three major stock market indexes have each taken a painful dip below their 200 day moving averages. The NASDAQ tends to lead market trends as the most inclusive of the three indexes with more than three thousand companies, and actually moved below it’s 200 day moving average Tuesday (8/10) before it tanked another 3% Wednesday. The S&P fell 2.82% to 1082, and the Dow dropped a whopping 265 points, or 2.49%, in a single session to close just below 10,379. If you don’t know the significance of any of this, just know that it’s a big move for one day. Usually when the market makes a move across it’s 200 day moving average, it could be considered a false alarm and bounce back within a couple of trading sessions, but often if a quick bounce isn’t attained it points to a broader trend. I believe this is a broader trend.

V-Shaped-stock-marketThis is an ugly signal for the next couple of months for the stock market, but I don’t think it’s anything we should really be surprised by. I’ve been down on the market for a while now, believing that the market’s V shaped recovery was not representative of the real world. I mean, does 9.5% unemployment sound good to anybody? A couple of weeks ago, I was somewhat right by guessing weak manufacturing numbers and positive earnings from some large tech and financial companies, but I thought that would be enough to pull the market back a bit. I was wrong, and our mixed signal earnings season actually rallied the markets. However, I think the market has finally realized, like the rest of us already knew, that our hard times aren’t over. It only took a few signals for them to figure it out. Job growth numbers have been revised down, the fed is acting like it’s getting ready for a double dip, and the GDP will likely have to be revised down sliced in half to about 1.2% growth after the trade gap skyrocketed $30 billion.

My opinion: I don’t think we’ll reach old levels and a 100% double dip recession, but I’d still strap in for a rough ride.

I’m not all doom and gloom, though. I think that America is a resilient country full of hard workers and innovators, and we (as in us ordinary citizens) are going to be the ones that lead the way to better times. Here’s how.

How Entrepreneurs And Startups Can End Our Unemployment Woes

jobs, entrepreneurs, startupsUnemployment is at an unacceptable 9.5%, and surely all of us have family and friends that are looking for jobs.  The Bush and Obama administrations have made plenty of massive top down investments in our struggling economy via TARP, the automotive industry, the stimulus plan, and the most recent “jobs” bill to name a few, but those are proving not good enough to create enough new jobs and bring us out of our unemployment rut.  And employment will eventually be what assures we are a healthy nation again.  The key to true economic growth and our escape from the super recession is not from the top down, but the bottom up.  Okay, I know that is easy to say, but let’s talk about how it can actually get done.

According to the U.S. Census Bureau’s BDS, about 20% of new jobs in a given year are created by startups with one to four employees, compared to 1.3% of new jobs from startups with 250-499 employees.  Since 1980, startups have accounted for about 3% of  yearly employment compared to 1.8% average employment growth.  This means that without startups job growth in America would be net negative. Inc Magazine has also contributed a great article on the importance of investing in entrepreneurship and provided 16 ideas on how to do it.

I’m all aboard this entrepreneurship train .  I’m convinced it’s going to take those people that love to cook and have stellar business plans to take the bold move of starting their own restaurants.  It’s going to take those people that have great ideas for new online services but need the time to quit their job, hire a couple of people to help them, and focus to make their product a reality.  It’s going to take family shops get a quarter million dollar loan to get the piece of equipment that will allow them to quadruple their output.  It’s going to take individuals that have great ideas to have confidence in themselves and go out and do it.  And they need support.  What kind of support? Money.

Community banks need incentive to loan to people that have some, but not all, of the money they need to make their ideas reality.  If someone has a good idea, they’re probably willing to take a risk, but money isn’t easy right now.  People have ideas, and I believe that if they know they can get a federal match on their capital, or a lower interest rate on their loan from community banks, backed and insured for specific entrepreneurial purposes by the federal government, then we’ll be able to grow our way out of our current economic situation.  I don’t necessarily think this is the end all be all to solving unemployment, but I definitely think the government can get a better bang for it’s buck than the $787 billion stimulus and not have to put the “created… or saved” qualifier at the end of its claims on the positive impact of the stimulus.

Some of you may think I’m crazy, and point to something like this article, which says that half of all new businesses close within four years and seventy percent close within ten.  But I would point you to this Business Week article, which highlights a study that describes why many startups close.  Specifically, it sites a study where only 5.3% of businesses studied failed do to bankruptcy during any one decade.  It also notes that 70% of businesses are either profitable or break even over a lifetime, which leads to the idea that fewer businesses close due to losing money than simply moving on.  And don’t forget my initial statistics describing just how much instant growth comes from young, small companies.

You may think that it just wouldn’t make that much of a difference.  I disagree.  If we currently have 14.6 million people unemployed at 9.5%, that means we have about 153 million people that work or want to work.  Since three percent of employment is made up of startups on average, that’s 4.61 million people.  So to double our startups, we’d reduce unemployment to about 6.5%.  We can assume that people will leave jobs to take advantage of a startup opportunity, but considering five people are after every job that comes available, they can be replaced.

“But it will cost too much!  We can’t loan money to every yahoo that wants to mow lawns for a living!”  Wrong.  The average startup costs about $10,000.  To be conservative,  let’s just say that the government will front the entire $10,000 every time, even though the idea is for government to match in order to ensure a sense of responsibility for the startup to succeed.  At our doubled rate for startups, to spend an average of $10,000 per startup for all startups for two years, it would cost the government $184 billion, less than a quarter of the stimulus investment.

This is obviously a huge investment.  But it’s a bottom up bet on the American will, and it will have an immediate effect.  For control purposes, local entities could facilitate the match application process, local bank branches can be responsible for loan applications, and the program could start with a beta test, say of 6 months and $25 billion.  After reviewing the early startups at six months, a supplementary decision could be made on the rest.

Well… What are we waiting for?  You tell me.

Is the AEA set to become more powerful than ever before?

Paul Hubbert, Director of AEA
Paul Hubbert (picture by al.com)

The Democratic Party has been in control of the Alabama legislature for 136 years. Paul Hubbert has led the AEA since 1969.   The majority of the AEA’a 100,000+ members are democrats.  It only made sense for him to chair the democratic party too.  No middle men!  His influence in politics in the state of Alabama has truly been tremendous.  Every four year election since 1998 the AEA has been one of the top three largest contributors of funds, overwhelmingly to democratic candidates.  But has he seen the writing on the wall?

Doc’s political parlor has put together a nice listing of house and senate races and the likelihood of victory by either party in November.  I’ve put together a summary of his listing as updated July 13th:

Status Senate House
Safe or Likely Dem 12 42
Lean Dem 4 8
Total Dem 16 50
Safe or Likely GOP 11 40
Lean GOP 4 9
Total GOP 15 49
Tossups 4 6

In addition to this evidence of an extremely close race, a poll of 500 likely voters put out August 5th by the GOP (so consider the source) that said 50% of likely voters would generically vote Republican for the Alabama state legislature, compared to 33% democrat.  By resigning as co-chair of the state party, is he just hedging his bets on the democrats losing control?  He says as much:

I believe AEA’s interest is better served by my resigning from a leadership role in the Democratic Party and being free to work with the legislators of both the Democratic and Republican parties to promote the interest of public education in Alabama.

Hubbert has never thought this was a good enough idea to do so in the past, so what other reason could it be now other than he’s convinced the Republican party is going to take control of the legislative branch in Alabama? Don’t get me wrong, I don’t think he’s going to stop being heavily involved just because he resigned from his chairmanship, as Joe Turnham even admits to the Birmingham News, “He will still be in the wings playing a role in the party and that’s as it should be.” But I also wouldn’t scoff at the idea of Hubbert and the AEA “working with” Republicans as Mike Hubbard did.

I just think he’s making a calculated move betting that a Republican controlled legislature has a price tag just as the Democratic one does, they just don’t want to be bought by the chair of the other party. We’ve seen his influences in the Republican gubernatorial primary races already, even if it wasn’t requested by Robert Bentley (but also not rejected… I’ll break down PAC to PAC another day).

Ron Sparks without mustache

Candidate Profile: Ron Sparks for Alabama Governor

Ron Sparks running for Governor of Alabama
Ron Sparks at a rally running for Governor of Alabama
Candidate Ron Sparks
Running For Governor
Current Position State Commissioner of Agriculture and Industries
Political Party Democrat
Born October 29th, 1952 – Fort Payne, AL (Dekalb County)
Education Associate Degree from Northeast Alabama Community College
Military Experience Coast Guard: Honor Guard, Search and Rescue
Family Marriage status: divorced. Three children: Misty, Sparky, Luke
Private Sector Limited information, however, apparent involvement in the the “television industry” and a brief stint as a small business owner
Entry to Public Sector Elected Dekalb County commissioner in 1978 at age 24
Primary Victory Margin 62% – 38% in Democratic primary, defeated early favorite Congressman Artur Davis
Online Presence Facebook, Twitter, YouTube, Sparks2010
Key Opponent Robert Bentley, Republican party nominee

I think it is safe to say that Ron Sparks is committed to public service. At 24, he was one of the youngest county commissioners ever when he won the position in Dekalb County in 1978. Sparks has been in public service in one way or another pretty much since high school. His first stint was in the Coast Guard, where he earned the Medal of Commendation for Meritorious Service for, according to his website, “saving passengers from an overturned sailboat in turbulent waters.” Between Sparks’ Coast Guard experience and time as Dekalb County commissioner, he completed an associates degree at Northeast Alabama Community College near his native Fort Payne. If elected, Sparks will be the first Alabama governor without a four year degree since H. Guy Hunt was elected in 1987.

Ron Sparks’ laid back, straight speaking country persona likely helped propel him over the early favorite and Harvard educated congressman, Artur Davis. Early on, Davis was expected to dominate the democratic primary, but lost some of the Alabama democratic core when he consistently voted with Republicans on national issues (like the healthcare overhaul, partial birth abortion, and workplace discrimination bills) in the U.S. House. Davis was punished by voters who preferred the straightforward positions, albeit quite liberal for Alabama, of the Agriculture commissioner.

If you haven’t heard, the Commissioner of Agriculture and Industries is in charge of the second largest department in the state, controlling over $5 billion, 423 employees, and a $30 million operating budget. Ron Sparks would definitely bring tremendous executive experience to the governor’s mansion.

His legislative goals are simple: end the debate on gambling in Alabama by allowing, regulating, and taxing it in order to pay for other things. Specifically, Sparks intends to use gambling funds to pay for the state contributed portion of medicare, pre-k and secondary education, and a $1.4 billion infrastructure fund. I’ll get more in depth on both Ron Sparks and Robert Bentley’s positions on all of these issues coming up in the “Alabama 2010″ series.

What’s more important now is to address one of the hairiest issues in all of the 2010 Alabama election cycle: the mustache.

So… is he gonna grow it back if he wins?  I sure hope so.

Crack vs. Powder Cocaine: Congress Votes to Lessen Disparity

The house has passed a bill that reduces the gap for mandatory sentencing of people convicted of possessing crack and powder cocaine. The senate passed the same bill in March increasing the amount of crack from 5 grams to 28 grams for a 5 year mandatory sentence and from 10 grams to 280 grams for a 10 year mandatory sentence. Powder cocaine takes a 500 gram possession charge to warrant the 5 year mandatory sentence. Crack is much cheaper than powder cocaine, and four out of five people charged with possessing it are black.

I think this is a good bill to reduce the cost on prisons for incarcerating users when the system and police force should be focused on dealers. The Congressional Budget Office says it will save the prison system $42 million over 5 years. This may be peanuts in perspective, but it’s a simple and effective law to improve a previous law that unfairly affects blacks and low income people. Also, think of the positive dollar impact that can come from private charities helping users get on their feet and contribute to society rather than wasting away in prison. For the first time in a while I can actually give congress a little credit.

On a related note, you may remember when Senator Jeff Sessions made a hilarious comment about this issue during a committee hearing that was pretty popular on YouTube for a couple of days.

Candidate Profile: Robert Bentley for Alabama Governor

Robert Bentley Giving News Conference (photo by flickr RobertBentley)
Candidate Robert Bentley
Running For Governor
Current Position State Representative – 63rd District (Tuscaloosa)
Political Party Republican
Born February 3rd, 1943 (age 67) – Columbiana, AL (Shelby County)
Education B.S. in Chemistry / Biology, University of Alabama – University of Alabama School of Medicine
Military Experience Captain in Airforce during Vietnam, Medical Officer
Family Married in 1965 to wife, Dianne – Four children: John Mark, Paul, Luke, Mathew
Private Sector Physician / President of Alabama Dermatology Associates
Entry to Public Sector 2002 elected to State House of Representatives
Primary Victory Margin 25% Republican primary, second to Bradley Byrne (28%).  56% – 44% over Bradley Byrne in Runoff
Online Presence Facebook, Twitter, flickr, YouTube, Bentley2010
Key Opponent Ron Sparks, Democratic party nominee

It is easy to tell why voters were captivated by Robert Bentley in the Alabama republican primary.  He’s the type of politician most of us hope will run because he doesn’t seem like most politicians. He’s a successful and educated man that didn’t ride anyone’s coattails to get where he is today.  His drive is evident from his past, graduating with his undergraduate degree in three years and working his way through med school with a tour of duty to boot.  His no-negative-ad policy is as welcome as it is savvy, and his promise to not take pay until Alabamians are fully employed is both selfless and pure genius in our challenging economy.  But these are things we know about Robert Bentley.  What we want to find out is what he’ll show us now that it’s just him and Sparks, and how he’ll carry over his good guy persona while distinguishing himself from Ron Sparks enough to get the base out to vote in November.

If I were a Bentley advisor, I’d tell him three things:

  1. Stick to the point. Jobs. Budget. Jobs.
  2. Appeal to moderates without abandoning the part of the republican base that isn’t already apathetic about you because of your previously perceived softness on the AEA and gambling. How? Steal the Artur Davis moderates (38% of the democratic primary voters) that aren’t ready for Sparks’ far left policies but are sick of ‘typical’ republicans.
  3. Scream from the rooftops about not being a career politician but a businessman willing to sacrifice time, energy and pay for the service of his state. You don’t have to be negative to remind people that Ron Sparks became commissioner of DeKalb County right out of service and community college (age 24).

But what do I know?

We can get a glimpse of at least one change Robert Bentley plans to make over the coming months by comparing his slightly redesigned website with the one from the primaries. The new website is on the left.

Did you catch it?  Well, other than the much needed cleaning up of the unnecessarily cluttered top navigation bar and removal of the plastering of social media links, he took “Dr.” off of his header.  We needed to be reminded of that during the crowded primary to remember that the Bentley guy was the doctor that won’t take pay until Alabama is fully employed.  Now we know who he is, and it’s a good move to remove it because the whole Dr. Robert first name thing was really an embarrassing little episode.  I take it this is one of the first steps of Bentley’s new staff.

We’ll see what direction Bentley takes his campaign between now and November 2nd, but maybe this second post of my “Alabama 2010″ series helped you learn a little more about the republican nominee like it did for me.  Next on Bentley will be totally on the issues, but before that we’ll catch up on our knowledge of Ron Sparks via another candidate profile.