SlideShare uma empresa Scribd logo
1 de 30
Manage custom options
 pages in Wordpress
     SIMONE D’AMICO

     WORDCAMP BOLOGNA - 9 FEBBRAIO 2013
         @WORDCAMPBOLOGNA # WPCAMPBO13
RELATORE




                              Simone D’Amico
                              Web: simonedamico.com



                              Twitter: @dymissy
                              Facebook: dymissy


BIO

Web Developer by vocation. Team Leader at Your Inspiration. Blogger.

He loves everything that revolves around the user experience and web
development, with a focus on jQuery and Wordpress. Furthermore he writes for
various Italian online magazines such as Html.it and Your Inspiration Web or
international blogs as webexpedition18.com and webification.


WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                           @WORDCAMPBOLOGNA # WPCAMPBO13
WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
THEME OPTIONS
                                     IN WORDPRESS




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                   @WORDCAMPBOLOGNA # WPCAMPBO13
THEME OPTIONS IN WORDPRESS




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
WHY SHOULD I USE A THEME OPTIONS?




 • Improve customer experience

 • Don’t reinvent the wheel

 • Higher maintainable code

 • …and much more!




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
OPTIONS API




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                 @WORDCAMPBOLOGNA # WPCAMPBO13
OPTIONS API



 • Way of storing data in your Wordpress installation
 • Easy way to use, access, update and delete options
 • Stored in wp_options table



   Add / Delete Options              Get / Update Options
   • add_option()                    • get_option()
   • delete_option()                 • update_option()
   • add_site_option()               • get_site_option()
   • delete_site_option()            • update_site_option()

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                    @WORDCAMPBOLOGNA # WPCAMPBO13
OPTIONS API




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                  @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API



• First added in Wordpress
2.7


• Allows admin pages
containing settings forms


• Lets you define sections
within settings pages and
fields within each section


WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API




   Setting Register/Unregister       Add Field/Section
   • register_setting()              • add_settings_field()
   • unregister_setting()            • add_settings_section()



   Options Form Rendering            Errors
   • settings_fields()               • add_settings_error()
   • do_settings_sections()          • get_settings_errors()
   • do_settings_fields()            • settings_errors()


WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                 @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API:
                           A CONCRETE EXAMPLE




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013         @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API: A CONCRETE EXAMPLE



 1. Register the settings




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API: A CONCRETE EXAMPLE



 2. Add a new submenu page in Wordpress admin area




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013        @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API: A CONCRETE EXAMPLE



 3. Print the Theme Options page




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API: A CONCRETE EXAMPLE



 3. Print the Theme Options page




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API: A CONCRETE EXAMPLE



 4. Add new sections




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API: A CONCRETE EXAMPLE



 4. Add new sections




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API: A CONCRETE EXAMPLE



 5. Add fields to the section




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API: A CONCRETE EXAMPLE



 5. Add fields to the section




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API: A CONCRETE EXAMPLE



 Let’s take a look to the final result!




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013        @WORDCAMPBOLOGNA # WPCAMPBO13
SETTINGS API: A CONCRETE EXAMPLE



 Example is available under GPL 2.0 license at:




                                     http://j.mp/WTBb4Q




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                        @WORDCAMPBOLOGNA # WPCAMPBO13
OPTIONS FRAMEWORK THEME




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
ADVANCED THEME OPTIONS EXAMPLE




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
OPTIONS FRAMEWORK THEME



 • Do we really need to code from scratch the Theme Options?
 • Options Framework Theme could do that for us!
 • The Options Framework Theme makes it easy to include a
 full featured options panel in any WordPress theme.
 • It’s a bundled version of the Options Framework Plugin for
 those folks who want to build the options directly into the
 theme.
 • Released under GPL 2.0 license
 • https://github.com/devinsays/options-framework-theme


WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                @WORDCAMPBOLOGNA # WPCAMPBO13
OPTIONS FRAMEWORK THEME




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
OPTIONS FRAMEWORK THEME




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
ANY QUESTIONS?




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
Thanks

SIMONE D’AMICO

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013
    @WORDCAMPBOLOGNA # WPCAMPBO13

Mais conteúdo relacionado

Mais procurados

Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuffBig Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuffMoshe Kaplan
 
Giving back to WordPress - no code needed!
Giving back to WordPress - no code needed!Giving back to WordPress - no code needed!
Giving back to WordPress - no code needed!Meagan Hanes
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web DesignDave Olsen
 
8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid ThemDaniel Kanchev
 
5 Skills Needed to be a Successful WebVR Developer
5 Skills Needed to be a Successful WebVR Developer5 Skills Needed to be a Successful WebVR Developer
5 Skills Needed to be a Successful WebVR DeveloperYoni Binstock
 
There's More Than 1 Way To Skin A Theme
There's More Than 1 Way To Skin A ThemeThere's More Than 1 Way To Skin A Theme
There's More Than 1 Way To Skin A ThemeSennza Design
 
Pimp my Blog - Wordpress für Fortgeschrittene
Pimp my Blog - Wordpress für FortgeschrittenePimp my Blog - Wordpress für Fortgeschrittene
Pimp my Blog - Wordpress für FortgeschritteneRobert Seyfriedsberger
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best PracticesBrad Frost
 
Bring More Into Your Online Course
Bring More Into Your Online CourseBring More Into Your Online Course
Bring More Into Your Online CourseRuth
 
10 Simple Rules for Making My Site Accessible
10 Simple Rules for Making My Site Accessible10 Simple Rules for Making My Site Accessible
10 Simple Rules for Making My Site AccessibleHelena Zubkow
 
Presentation tools for the classroom 2011
Presentation tools for the classroom 2011Presentation tools for the classroom 2011
Presentation tools for the classroom 2011Karen Brooks
 
The Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect ContentThe Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect ContentDave Olsen
 
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)Dave Olsen
 
Tech For Chairs Slides
Tech For Chairs SlidesTech For Chairs Slides
Tech For Chairs SlidesEric Castro
 
GoCoding.Today For Rails - Episode1
GoCoding.Today For Rails - Episode1GoCoding.Today For Rails - Episode1
GoCoding.Today For Rails - Episode1Brian Hu
 
The Adobe Legal Department Style Guide
The Adobe Legal Department Style GuideThe Adobe Legal Department Style Guide
The Adobe Legal Department Style GuideAdobe
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Stephen Hay
 

Mais procurados (20)

PHUG - Open Source Culture
PHUG - Open Source CulturePHUG - Open Source Culture
PHUG - Open Source Culture
 
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuffBig Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
 
Facebook Development On Dot Net
Facebook Development On Dot NetFacebook Development On Dot Net
Facebook Development On Dot Net
 
Giving back to WordPress - no code needed!
Giving back to WordPress - no code needed!Giving back to WordPress - no code needed!
Giving back to WordPress - no code needed!
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web Design
 
8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them
 
5 Skills Needed to be a Successful WebVR Developer
5 Skills Needed to be a Successful WebVR Developer5 Skills Needed to be a Successful WebVR Developer
5 Skills Needed to be a Successful WebVR Developer
 
There's More Than 1 Way To Skin A Theme
There's More Than 1 Way To Skin A ThemeThere's More Than 1 Way To Skin A Theme
There's More Than 1 Way To Skin A Theme
 
Pimp my Blog - Wordpress für Fortgeschrittene
Pimp my Blog - Wordpress für FortgeschrittenePimp my Blog - Wordpress für Fortgeschrittene
Pimp my Blog - Wordpress für Fortgeschrittene
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best Practices
 
Bring More Into Your Online Course
Bring More Into Your Online CourseBring More Into Your Online Course
Bring More Into Your Online Course
 
10 Simple Rules for Making My Site Accessible
10 Simple Rules for Making My Site Accessible10 Simple Rules for Making My Site Accessible
10 Simple Rules for Making My Site Accessible
 
Presentation tools for the classroom 2011
Presentation tools for the classroom 2011Presentation tools for the classroom 2011
Presentation tools for the classroom 2011
 
The Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect ContentThe Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect Content
 
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
 
Tech For Chairs Slides
Tech For Chairs SlidesTech For Chairs Slides
Tech For Chairs Slides
 
wordcampUK SEO tools & plugins
wordcampUK SEO tools & pluginswordcampUK SEO tools & plugins
wordcampUK SEO tools & plugins
 
GoCoding.Today For Rails - Episode1
GoCoding.Today For Rails - Episode1GoCoding.Today For Rails - Episode1
GoCoding.Today For Rails - Episode1
 
The Adobe Legal Department Style Guide
The Adobe Legal Department Style GuideThe Adobe Legal Department Style Guide
The Adobe Legal Department Style Guide
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012
 

Destaque

Asynchronous WordPress
Asynchronous WordPressAsynchronous WordPress
Asynchronous WordPressAaron Brazell
 
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013Mattia Compagnucci
 
Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress
Lo Stato Attuale della Sicurezza nell'Ecosistema di WordpressLo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress
Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpressgbrindisi
 
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13Corley S.r.l.
 
Sviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver BulletSviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver BulletLuca Bartoli
 
UX laws - How to design a great user experience
UX laws - How to design a great user experienceUX laws - How to design a great user experience
UX laws - How to design a great user experienceLuca Mascaro
 
Perché odio i temi di WordPress
Perché odio i temi di WordPressPerché odio i temi di WordPress
Perché odio i temi di WordPressmatteo cavucci
 
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp BolognaBest Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp BolognaLuca Degli Esposti
 
WordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesWordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesDanilo Ercoli
 
Wordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessiWordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessiMaurizio Pelizzone
 
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...Andrea Cardinali
 
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...Andrea Cardinali
 
Creare temi custom con _s, Bootstrap e LESS
Creare temi custom con _s, Bootstrap e LESSCreare temi custom con _s, Bootstrap e LESS
Creare temi custom con _s, Bootstrap e LESSPiero Bellomo
 
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Giuliano Ambrosio
 

Destaque (14)

Asynchronous WordPress
Asynchronous WordPressAsynchronous WordPress
Asynchronous WordPress
 
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013
 
Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress
Lo Stato Attuale della Sicurezza nell'Ecosistema di WordpressLo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress
Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress
 
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13
 
Sviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver BulletSviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver Bullet
 
UX laws - How to design a great user experience
UX laws - How to design a great user experienceUX laws - How to design a great user experience
UX laws - How to design a great user experience
 
Perché odio i temi di WordPress
Perché odio i temi di WordPressPerché odio i temi di WordPress
Perché odio i temi di WordPress
 
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp BolognaBest Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
 
WordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesWordPress Development Tools and Best Practices
WordPress Development Tools and Best Practices
 
Wordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessiWordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessi
 
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...
 
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
 
Creare temi custom con _s, Bootstrap e LESS
Creare temi custom con _s, Bootstrap e LESSCreare temi custom con _s, Bootstrap e LESS
Creare temi custom con _s, Bootstrap e LESS
 
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
 

Semelhante a Manage custom options pages in Wordpress

Switching from Canvas to Storefront
Switching from Canvas to StorefrontSwitching from Canvas to Storefront
Switching from Canvas to StorefrontHerb Miller
 
DjangoCon 2013 - Rapid prototyping and communicating with clients
DjangoCon 2013 - Rapid prototyping and communicating with clientsDjangoCon 2013 - Rapid prototyping and communicating with clients
DjangoCon 2013 - Rapid prototyping and communicating with clientsKat Chuang
 
WordPress Recipes
WordPress RecipesWordPress Recipes
WordPress RecipesBrad Bihun
 
Top 9 WordPress Links For #WPMIA - October 2013
Top 9 WordPress Links For #WPMIA - October 2013Top 9 WordPress Links For #WPMIA - October 2013
Top 9 WordPress Links For #WPMIA - October 2013David Bisset
 
Unknown plone
Unknown ploneUnknown plone
Unknown plonecdw9
 
APIdays Paris 2019 - Real World Graphene: Lessons Learned from Building a Gra...
APIdays Paris 2019 - Real World Graphene: Lessons Learned from Building a Gra...APIdays Paris 2019 - Real World Graphene: Lessons Learned from Building a Gra...
APIdays Paris 2019 - Real World Graphene: Lessons Learned from Building a Gra...apidays
 
Why Your School Needs a Wordpress Site
Why Your School Needs a Wordpress SiteWhy Your School Needs a Wordpress Site
Why Your School Needs a Wordpress SiteBlackbaud
 
x 13118706 Artur Janka Project Presentation
x 13118706 Artur Janka Project Presentation x 13118706 Artur Janka Project Presentation
x 13118706 Artur Janka Project Presentation Artur Janka
 
Wordcampuk 09 (wordcampuk)
Wordcampuk 09 (wordcampuk)Wordcampuk 09 (wordcampuk)
Wordcampuk 09 (wordcampuk)Nick Garner
 
WordPress for Startups
WordPress for StartupsWordPress for Startups
WordPress for StartupsMiriam Schwab
 
July 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know WebinarJuly 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know WebinarRobert Crane
 
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...Jeavon Leopold
 
Comparing Blogger And Wordpress
Comparing Blogger And WordpressComparing Blogger And Wordpress
Comparing Blogger And Wordpressigorgentry
 
Can Orlando dance the Mambo?
Can Orlando dance the Mambo?Can Orlando dance the Mambo?
Can Orlando dance the Mambo?Lynda Kane
 
Tips and tricks for using wordpress as application platform.
Tips and tricks for using wordpress as application platform.Tips and tricks for using wordpress as application platform.
Tips and tricks for using wordpress as application platform.danwestall
 
AMPifying your Drupal 8 Site : higher performance and higher engagement - Par...
AMPifying your Drupal 8 Site : higher performance and higher engagement - Par...AMPifying your Drupal 8 Site : higher performance and higher engagement - Par...
AMPifying your Drupal 8 Site : higher performance and higher engagement - Par...DrupalMumbai
 

Semelhante a Manage custom options pages in Wordpress (20)

Advanced Office365 Sharepoint online Workflows
Advanced Office365 Sharepoint online WorkflowsAdvanced Office365 Sharepoint online Workflows
Advanced Office365 Sharepoint online Workflows
 
Switching from Canvas to Storefront
Switching from Canvas to StorefrontSwitching from Canvas to Storefront
Switching from Canvas to Storefront
 
What is (not) WordPress
What is (not) WordPressWhat is (not) WordPress
What is (not) WordPress
 
DjangoCon 2013 - Rapid prototyping and communicating with clients
DjangoCon 2013 - Rapid prototyping and communicating with clientsDjangoCon 2013 - Rapid prototyping and communicating with clients
DjangoCon 2013 - Rapid prototyping and communicating with clients
 
WordPress Recipes
WordPress RecipesWordPress Recipes
WordPress Recipes
 
Top 9 WordPress Links For #WPMIA - October 2013
Top 9 WordPress Links For #WPMIA - October 2013Top 9 WordPress Links For #WPMIA - October 2013
Top 9 WordPress Links For #WPMIA - October 2013
 
Unknown plone
Unknown ploneUnknown plone
Unknown plone
 
WordPress for mobile
WordPress for mobileWordPress for mobile
WordPress for mobile
 
APIdays Paris 2019 - Real World Graphene: Lessons Learned from Building a Gra...
APIdays Paris 2019 - Real World Graphene: Lessons Learned from Building a Gra...APIdays Paris 2019 - Real World Graphene: Lessons Learned from Building a Gra...
APIdays Paris 2019 - Real World Graphene: Lessons Learned from Building a Gra...
 
Why Your School Needs a Wordpress Site
Why Your School Needs a Wordpress SiteWhy Your School Needs a Wordpress Site
Why Your School Needs a Wordpress Site
 
Schoology vs baabtra
Schoology vs baabtraSchoology vs baabtra
Schoology vs baabtra
 
x 13118706 Artur Janka Project Presentation
x 13118706 Artur Janka Project Presentation x 13118706 Artur Janka Project Presentation
x 13118706 Artur Janka Project Presentation
 
Wordcampuk 09 (wordcampuk)
Wordcampuk 09 (wordcampuk)Wordcampuk 09 (wordcampuk)
Wordcampuk 09 (wordcampuk)
 
WordPress for Startups
WordPress for StartupsWordPress for Startups
WordPress for Startups
 
July 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know WebinarJuly 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know Webinar
 
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...
 
Comparing Blogger And Wordpress
Comparing Blogger And WordpressComparing Blogger And Wordpress
Comparing Blogger And Wordpress
 
Can Orlando dance the Mambo?
Can Orlando dance the Mambo?Can Orlando dance the Mambo?
Can Orlando dance the Mambo?
 
Tips and tricks for using wordpress as application platform.
Tips and tricks for using wordpress as application platform.Tips and tricks for using wordpress as application platform.
Tips and tricks for using wordpress as application platform.
 
AMPifying your Drupal 8 Site : higher performance and higher engagement - Par...
AMPifying your Drupal 8 Site : higher performance and higher engagement - Par...AMPifying your Drupal 8 Site : higher performance and higher engagement - Par...
AMPifying your Drupal 8 Site : higher performance and higher engagement - Par...
 

Mais de Simone D'Amico

Breaking free from monoliths: revolutionizing development with Livewire and S...
Breaking free from monoliths: revolutionizing development with Livewire and S...Breaking free from monoliths: revolutionizing development with Livewire and S...
Breaking free from monoliths: revolutionizing development with Livewire and S...Simone D'Amico
 
Panther loves Symfony apps
Panther loves Symfony appsPanther loves Symfony apps
Panther loves Symfony appsSimone D'Amico
 
Rory’s Story Cubes Retrospective
Rory’s Story Cubes RetrospectiveRory’s Story Cubes Retrospective
Rory’s Story Cubes RetrospectiveSimone D'Amico
 
Symfony Cache Component: speed up your application with a new layer of cache
Symfony Cache Component: speed up your application with a new layer of cacheSymfony Cache Component: speed up your application with a new layer of cache
Symfony Cache Component: speed up your application with a new layer of cacheSimone D'Amico
 
E-commerce con SF: dal case study alla realtà
E-commerce con SF: dal case study alla realtàE-commerce con SF: dal case study alla realtà
E-commerce con SF: dal case study alla realtàSimone D'Amico
 
Introduction to WordPress REST API
Introduction to WordPress REST APIIntroduction to WordPress REST API
Introduction to WordPress REST APISimone D'Amico
 

Mais de Simone D'Amico (6)

Breaking free from monoliths: revolutionizing development with Livewire and S...
Breaking free from monoliths: revolutionizing development with Livewire and S...Breaking free from monoliths: revolutionizing development with Livewire and S...
Breaking free from monoliths: revolutionizing development with Livewire and S...
 
Panther loves Symfony apps
Panther loves Symfony appsPanther loves Symfony apps
Panther loves Symfony apps
 
Rory’s Story Cubes Retrospective
Rory’s Story Cubes RetrospectiveRory’s Story Cubes Retrospective
Rory’s Story Cubes Retrospective
 
Symfony Cache Component: speed up your application with a new layer of cache
Symfony Cache Component: speed up your application with a new layer of cacheSymfony Cache Component: speed up your application with a new layer of cache
Symfony Cache Component: speed up your application with a new layer of cache
 
E-commerce con SF: dal case study alla realtà
E-commerce con SF: dal case study alla realtàE-commerce con SF: dal case study alla realtà
E-commerce con SF: dal case study alla realtà
 
Introduction to WordPress REST API
Introduction to WordPress REST APIIntroduction to WordPress REST API
Introduction to WordPress REST API
 

Último

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Último (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 

Manage custom options pages in Wordpress

  • 1. Manage custom options pages in Wordpress SIMONE D’AMICO WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 2. RELATORE Simone D’Amico Web: simonedamico.com Twitter: @dymissy Facebook: dymissy BIO Web Developer by vocation. Team Leader at Your Inspiration. Blogger. He loves everything that revolves around the user experience and web development, with a focus on jQuery and Wordpress. Furthermore he writes for various Italian online magazines such as Html.it and Your Inspiration Web or international blogs as webexpedition18.com and webification. WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 3. WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 4. THEME OPTIONS IN WORDPRESS WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 5. THEME OPTIONS IN WORDPRESS WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 6. WHY SHOULD I USE A THEME OPTIONS? • Improve customer experience • Don’t reinvent the wheel • Higher maintainable code • …and much more! WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 7. OPTIONS API WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 8. OPTIONS API • Way of storing data in your Wordpress installation • Easy way to use, access, update and delete options • Stored in wp_options table Add / Delete Options Get / Update Options • add_option() • get_option() • delete_option() • update_option() • add_site_option() • get_site_option() • delete_site_option() • update_site_option() WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 9. OPTIONS API WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 10. SETTINGS API WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 11. SETTINGS API • First added in Wordpress 2.7 • Allows admin pages containing settings forms • Lets you define sections within settings pages and fields within each section WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 12. SETTINGS API Setting Register/Unregister Add Field/Section • register_setting() • add_settings_field() • unregister_setting() • add_settings_section() Options Form Rendering Errors • settings_fields() • add_settings_error() • do_settings_sections() • get_settings_errors() • do_settings_fields() • settings_errors() WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 13. SETTINGS API: A CONCRETE EXAMPLE WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 14. SETTINGS API: A CONCRETE EXAMPLE 1. Register the settings WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 15. SETTINGS API: A CONCRETE EXAMPLE 2. Add a new submenu page in Wordpress admin area WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 16. SETTINGS API: A CONCRETE EXAMPLE 3. Print the Theme Options page WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 17. SETTINGS API: A CONCRETE EXAMPLE 3. Print the Theme Options page WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 18. SETTINGS API: A CONCRETE EXAMPLE 4. Add new sections WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 19. SETTINGS API: A CONCRETE EXAMPLE 4. Add new sections WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 20. SETTINGS API: A CONCRETE EXAMPLE 5. Add fields to the section WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 21. SETTINGS API: A CONCRETE EXAMPLE 5. Add fields to the section WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 22. SETTINGS API: A CONCRETE EXAMPLE Let’s take a look to the final result! WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 23. SETTINGS API: A CONCRETE EXAMPLE Example is available under GPL 2.0 license at: http://j.mp/WTBb4Q WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 24. OPTIONS FRAMEWORK THEME WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 25. ADVANCED THEME OPTIONS EXAMPLE WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 26. OPTIONS FRAMEWORK THEME • Do we really need to code from scratch the Theme Options? • Options Framework Theme could do that for us! • The Options Framework Theme makes it easy to include a full featured options panel in any WordPress theme. • It’s a bundled version of the Options Framework Plugin for those folks who want to build the options directly into the theme. • Released under GPL 2.0 license • https://github.com/devinsays/options-framework-theme WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 27. OPTIONS FRAMEWORK THEME WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 28. OPTIONS FRAMEWORK THEME WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 29. ANY QUESTIONS? WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 30. Thanks SIMONE D’AMICO WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13