<ul><li><strong>woo_ads_rotate</strong> - true</li><li><strong>woo_ad_300_adsense</strong> - </li><li><strong>woo_ad_300_image</strong> - http://www.woothemes.com/ads/woothemes-300x250-2.gif</li><li><strong>woo_ad_300_url</strong> - http://www.woothemes.com</li><li><strong>woo_ad_image_1</strong> - http://www.williamsoncountyweddings.com/cjs.jpg</li><li><strong>woo_ad_image_2</strong> - http://www.williamsoncountyweddings.com/wcw.jpg</li><li><strong>woo_ad_image_3</strong> - http://www.wedcandy.com/wp-content/badges/badge_125.jpg</li><li><strong>woo_ad_image_4</strong> -  http://www.williamsoncountyweddings.com/wcw2.jpg</li><li><strong>woo_ad_image_5</strong> - http://www.woothemes.com/ads/woothemes-125x125-4.gif</li><li><strong>woo_ad_image_6</strong> - http://www.woothemes.com/ads/woothemes-125x125-4.gif</li><li><strong>woo_ad_url_1</strong> - http://www.cjsoffthesquare.com/#/cj-s-off-the-square/</li><li><strong>woo_ad_url_2</strong> - http://www.cjsoffthesquare.com/#/wcw/</li><li><strong>woo_ad_url_3</strong> - http://www.wedcandy.com</li><li><strong>woo_ad_url_4</strong> -  http://www.williamsoncountyweddings.com/#/invitations/</li><li><strong>woo_ad_url_5</strong> - http://www.woothemes.com</li><li><strong>woo_ad_url_6</strong> - http://www.woothemes.com</li><li><strong>woo_alt_stylesheet</strong> - floral.css</li><li><strong>woo_archives</strong> - Select a page:</li><li><strong>woo_asides_category</strong> - Select a category:</li><li><strong>woo_author</strong> - false</li><li><strong>woo_auto_img</strong> - false</li><li><strong>woo_block_image</strong> - /images/468x60-woothemes.gif</li><li><strong>woo_block_url</strong> - http://www.woothemes.com</li><li><strong>woo_cat_list</strong> - Select a number:</li><li><strong>woo_cat_mid_1</strong> - false</li><li><strong>woo_cat_mid_11</strong> - false</li><li><strong>woo_cat_mid_14</strong> - false</li><li><strong>woo_cat_mid_3</strong> - false</li><li><strong>woo_cat_mid_4</strong> - false</li><li><strong>woo_cat_mid_5</strong> - false</li><li><strong>woo_cat_mid_6</strong> - false</li><li><strong>woo_cat_nav_1</strong> - false</li><li><strong>woo_cat_nav_11</strong> - true</li><li><strong>woo_cat_nav_14</strong> - true</li><li><strong>woo_cat_nav_3</strong> - true</li><li><strong>woo_cat_nav_4</strong> - true</li><li><strong>woo_cat_nav_5</strong> - true</li><li><strong>woo_cat_nav_6</strong> - true</li><li><strong>woo_content</strong> - false</li><li><strong>woo_content_feat</strong> - false</li><li><strong>woo_content_left</strong> - true</li><li><strong>woo_content_mid</strong> - false</li><li><strong>woo_custom_css</strong> - </li><li><strong>woo_custom_favicon</strong> - </li><li><strong>woo_featured_category</strong> - Real Weddings</li><li><strong>woo_featured_posts</strong> - 1</li><li><strong>woo_feat_image_height</strong> - 195</li><li><strong>woo_feat_image_width</strong> - 540</li><li><strong>woo_feedburner_id</strong> - </li><li><strong>woo_feedburner_url</strong> - </li><li><strong>woo_flickr_entries</strong> - Select a number:</li><li><strong>woo_flickr_id</strong> - </li><li><strong>woo_google_analytics</strong> - <script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-9629993-2']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script></li><li><strong>woo_home_one_col</strong> - false</li><li><strong>woo_home_secondary</strong> - 3</li><li><strong>woo_image_disable</strong> - false</li><li><strong>woo_image_height</strong> - 200</li><li><strong>woo_image_single</strong> - false</li><li><strong>woo_image_width</strong> - 200</li><li><strong>woo_logo</strong> - http://www.nashvillegardenweddings.com/venues/wp-content/woo_uploads/15-ngw-logo.png</li><li><strong>woo_manual</strong> - http://www.woothemes.com/</li><li><strong>woo_not_mpu</strong> - true</li><li><strong>woo_resize</strong> - true</li><li><strong>woo_shortname</strong> - woo</li><li><strong>woo_single_image_height</strong> - 100</li><li><strong>woo_single_image_width</strong> - 100</li><li><strong>woo_tabs</strong> - false</li><li><strong>woo_themename</strong> - Papercut</li><li><strong>woo_thumb_height</strong> - 75</li><li><strong>woo_thumb_image_height</strong> - 75</li><li><strong>woo_thumb_image_width</strong> - 75</li><li><strong>woo_thumb_width</strong> - 75</li><li><strong>woo_uploads</strong> - a:3:{i:0;s:84:"http://www.nashvillegardenweddings.com/venues/wp-content/woo_uploads/15-ngw-logo.png";i:1;s:84:"http://www.nashvillegardenweddings.com/venues/wp-content/woo_uploads/14-ngw-logo.png";i:2;s:84:"http://www.nashvillegardenweddings.com/venues/wp-content/woo_uploads/13-ngw-logo.png";}</li><li><strong>woo_upload_errors</strong> - a:0:{}</li><li><strong>woo_video_category</strong> - Select a category:</li></ul>