<ul><li><strong>woo_about</strong> - La F.I.G.M. nasce il 19 febbraio 2006 quando, a Creazzo (VI), i rappresentanti di nove regioni d\'Italia si sono riuniti per discutere e definire la situazione nazionale per quanto riguarda il recupero e la salvaguardia dell\'antico gioco popolare della morra.</li><li><strong>woo_aboutlink</strong> - http://www.figm.it/?page_id=54</li><li><strong>woo_ads</strong> - true</li><li><strong>woo_ad_image_1</strong> - http://www.woothemes.com/ads/woothemes-125x125-1.gif</li><li><strong>woo_ad_image_2</strong> - http://www.woothemes.com/ads/woothemes-125x125-2.gif</li><li><strong>woo_ad_image_3</strong> - http://www.woothemes.com/ads/woothemes-125x125-3.gif</li><li><strong>woo_ad_image_4</strong> - http://www.woothemes.com/ads/woothemes-125x125-4.gif</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.woothemes.com</li><li><strong>woo_ad_url_2</strong> - http://www.woothemes.com</li><li><strong>woo_ad_url_3</strong> - http://www.woothemes.com</li><li><strong>woo_ad_url_4</strong> - http://www.woothemes.com</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_colours</strong> - blue.css</li><li><strong>woo_alt_stylesheet</strong> - dirty-light.css</li><li><strong>woo_archives</strong> - </li><li><strong>woo_asides_category</strong> - Select a category:</li><li><strong>woo_asides_entries</strong> - Select a number:</li><li><strong>woo_auto_img</strong> - false</li><li><strong>woo_bio</strong> - </li><li><strong>woo_block_image</strong> - http://www.woothemes.com/ads/woothemes-300x250-2.gif</li><li><strong>woo_block_url</strong> - http://www.woothemes.com</li><li><strong>woo_cat_menu</strong> - false</li><li><strong>woo_cat_nav_1</strong> - true</li><li><strong>woo_centered</strong> - true</li><li><strong>woo_content_feat</strong> - true</li><li><strong>woo_content_left</strong> - true</li><li><strong>woo_custom_css</strong> - </li><li><strong>woo_custom_favicon</strong> - </li><li><strong>woo_custom_upload_tracking</strong> - a:0:{}</li><li><strong>woo_delicious</strong> - </li><li><strong>woo_digg</strong> - </li><li><strong>woo_facebook</strong> - http://www.facebook.com/pages/GIOCO-della-MORRA/150906498305070</li><li><strong>woo_featured_category</strong> - Senza categoria</li><li><strong>woo_feedburner_id</strong> - </li><li><strong>woo_feedburner_url</strong> - </li><li><strong>woo_flickr</strong> - </li><li><strong>woo_flickr_id</strong> - </li><li><strong>woo_get_image_height</strong> - 150</li><li><strong>woo_get_image_width</strong> - 280</li><li><strong>woo_google_analytics</strong> - <script type=\"text/javascript\">

  var _gaq = _gaq || [];
  _gaq.push([\'_setAccount\', \'UA-3797941-29\']);
  _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_hcard</strong> - false</li><li><strong>woo_hcard_addname</strong> - </li><li><strong>woo_hcard_city</strong> - </li><li><strong>woo_hcard_country</strong> - </li><li><strong>woo_hcard_email</strong> - </li><li><strong>woo_hcard_firstname</strong> - figm</li><li><strong>woo_hcard_postal</strong> - </li><li><strong>woo_hcard_region</strong> - </li><li><strong>woo_hcard_street</strong> - </li><li><strong>woo_hcard_surname</strong> - </li><li><strong>woo_hcard_tel</strong> - </li><li><strong>woo_image_height</strong> - </li><li><strong>woo_image_width</strong> - </li><li><strong>woo_lastfm</strong> - </li><li><strong>woo_layout</strong> - header.php</li><li><strong>woo_linkedin</strong> - </li><li><strong>woo_logo</strong> - http://www.figm.it/wp-content/woo_uploads/5-logofigm.png</li><li><strong>woo_manual</strong> - http://www.woothemes.com/support/theme-documentation/thick/</li><li><strong>woo_nav_exclude</strong> - </li><li><strong>woo_other_entries</strong> - 3</li><li><strong>woo_paginate</strong> - false</li><li><strong>woo_popular_posts</strong> - 1</li><li><strong>woo_resize</strong> - true</li><li><strong>woo_shortname</strong> - woo</li><li><strong>woo_side_image</strong> - /styles/clean-light/images/ad-120x240.jpg</li><li><strong>woo_side_url</strong> - http://www.woothemes.com</li><li><strong>woo_single_height</strong> - </li><li><strong>woo_single_width</strong> - </li><li><strong>woo_stumble</strong> - </li><li><strong>woo_themename</strong> - THiCK</li><li><strong>woo_thumb_height</strong> - </li><li><strong>woo_thumb_width</strong> - </li><li><strong>woo_twitter</strong> - </li><li><strong>woo_uploads</strong> - a:3:{i:0;s:56:"http://www.figm.it/wp-content/woo_uploads/5-logofigm.png";i:1;s:56:"http://www.figm.it/wp-content/woo_uploads/4-logofigm.png";i:2;s:60:"http://www.figm.it/wp-content/woo_uploads/3-logofigmsolo.png";}</li><li><strong>woo_vcard</strong> - </li><li><strong>woo_youtube</strong> - </li></ul>