<ul><li><strong>woo_ads_rotate</strong> - true</li><li><strong>woo_ad_250_adsense</strong> - </li><li><strong>woo_ad_250_image</strong> - http://www.woothemes.com/ads/woothemes-250x250.gif</li><li><strong>woo_ad_250_url</strong> - http://www.woothemes.com</li><li><strong>woo_ad_content_adsense</strong> - </li><li><strong>woo_ad_content_disable</strong> - true</li><li><strong>woo_ad_content_image</strong> - http://www.woothemes.com/ads/woothemes-468x60-2.gif</li><li><strong>woo_ad_content_url</strong> - http://www.woothemes.com</li><li><strong>woo_ad_image_1</strong> - http://www.twi.gs/wp-content/themes/newspress/images/ad-125x125.gif</li><li><strong>woo_ad_image_2</strong> - http://www.twi.gs/wp-content/themes/newspress/images/ad-125x125.gif</li><li><strong>woo_ad_image_3</strong> - http://www.twi.gs/wp-content/themes/newspress/images/ad-125x125.gif</li><li><strong>woo_ad_image_4</strong> - http://www.twi.gs/wp-content/themes/newspress/images/ad-125x125.gif</li><li><strong>woo_ad_image_5</strong> - http://www.twi.gs/wp-content/themes/newspress/images/ad-125x125.gif</li><li><strong>woo_ad_image_6</strong> - http://www.twi.gs/wp-content/themes/newspress/images/ad-125x125.gif</li><li><strong>woo_ad_page</strong> - Select a page:</li><li><strong>woo_ad_top_adsense</strong> - </li><li><strong>woo_ad_top_disable</strong> - true</li><li><strong>woo_ad_top_image</strong> - http://www.ftjcfx.com/image-3169119-10878267</li><li><strong>woo_ad_top_url</strong> - http://www.dpbolvw.net/click-3169119-10878267</li><li><strong>woo_ad_url_1</strong> - http://example.com/ads/ad1_destination.html</li><li><strong>woo_ad_url_2</strong> - http://example.com/ads/ad1_destination.html</li><li><strong>woo_ad_url_3</strong> - http://example.com/ads/ad1_destination.html</li><li><strong>woo_ad_url_4</strong> - http://example.com/ads/ad1_destination.html</li><li><strong>woo_ad_url_5</strong> - http://example.com/ads/ad1_destination.html</li><li><strong>woo_ad_url_6</strong> - http://example.com/ads/ad1_destination.html</li><li><strong>woo_alt_stylesheet</strong> - black.css</li><li><strong>woo_archives</strong> - Select a page:</li><li><strong>woo_auto_img</strong> - true</li><li><strong>woo_cat_ex</strong> - </li><li><strong>woo_comment_posts</strong> - Select a number:</li><li><strong>woo_content</strong> - false</li><li><strong>woo_content_archives</strong> - false</li><li><strong>woo_content_feat</strong> - false</li><li><strong>woo_custom_favicon</strong> - </li><li><strong>woo_featured_category</strong> - Select a category:</li><li><strong>woo_featured_entries</strong> - 3</li><li><strong>woo_featured_posts</strong> - 2</li><li><strong>woo_feedburner_id</strong> - </li><li><strong>woo_feedburner_url</strong> - </li><li><strong>woo_google_analytics</strong> - <script type=\"text/javascript\">

  var _gaq = _gaq || [];
  _gaq.push([\'_setAccount\', \'UA-26581645-1\']);
  _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_gravatar</strong> - true</li><li><strong>woo_home_arc</strong> - false</li><li><strong>woo_home_link</strong> - false</li><li><strong>woo_home_link_desc</strong> - </li><li><strong>woo_home_link_text</strong> - Home</li><li><strong>woo_home_thumb_height</strong> - 100</li><li><strong>woo_home_thumb_width</strong> - 100</li><li><strong>woo_image_height</strong> - 210</li><li><strong>woo_image_single</strong> - false</li><li><strong>woo_image_width</strong> - 540</li><li><strong>woo_layout</strong> - default.php</li><li><strong>woo_logo</strong> - http://www.twi.gs/wp-content/woo_uploads/3-twigs.png</li><li><strong>woo_manual</strong> - http://www.woothemes.com/support/theme-documentation/busy-bee/</li><li><strong>woo_other_entries</strong> - 6</li><li><strong>woo_popular_posts</strong> - 3</li><li><strong>woo_resize</strong> - true</li><li><strong>woo_shortname</strong> - woo</li><li><strong>woo_single_height</strong> - 120</li><li><strong>woo_single_width</strong> - 180</li><li><strong>woo_tabs</strong> - true</li><li><strong>woo_themename</strong> - Busy Bee</li><li><strong>woo_thumb_height</strong> - 88</li><li><strong>woo_thumb_width</strong> - 88</li><li><strong>woo_twitter</strong> - </li><li><strong>woo_uploads</strong> - http://www.twi.gs/wp-content/woo_uploads/3-twigs.png</li><li><strong>woo_video_category</strong> - Select a category:</li></ul>