WordPress per Startup

21
per Startup Costruisci il tuo MVP* in poche ore con WordPress * Minimum Viable Product (MVP) is a strategy used for fast and quantitative market testing of a product or product feature, popularized by Eric Ries for web applications [wikipedia]

description

Alcuni discutono se WordPress sia solo una piattaforma di blogging o un vero CMS; altri, se WordPress sia lo strumento giusto per sviluppare veri e propri applicativi web... ma se fai Startup, non hai tempo per queste discussioni: hai bisogno di costruire un Minimum Viable Product per validare la tua idea e sottoporla a potenziali utenti e investitori. In questo workshop, vedremo gli strumenti adatti per estendere struttura dati e interfacce utente di WordPress, e realizzare rapidamente e con semplicità applicativi web sofisticati.

Transcript of WordPress per Startup

Page 1: WordPress per Startup

per Startup

Costruisci il tuo MVP* in poche ore con WordPress

* Minimum Viable Product (MVP) is a strategy used for fast and quantitative market testing of a product or product feature, popularized by Eric Ries for web applications [wikipedia]

Page 2: WordPress per Startup

Quando «WordPress» e «MVP» si incontrano nella stessa frase…

Will it scale?

E il Data Model?

Ma è un CMS!

Page 4: WordPress per Startup

L’MVP è solo la prima di una lunga serie di iterazioni

In questa fase ci interessa solo una cosa: la velocità

Page 5: WordPress per Startup

L’idea: un marketplace1

Page 6: WordPress per Startup

http://www.localguiding.com/

L’idea: un marketplaceper guide turistiche locali

http://www.lookals.com/

http://www.showmearound.net/

2

Page 7: WordPress per Startup

Localtourguide.io - un marketplace per guide turistiche locali

Gli elementi

BlogNews, Content

marketing…

PagesAbout, Why Join?...

ToursMain feature

Bookings ReviewsGuide

Turisti

3

Page 8: WordPress per Startup

Localtourguide.io - un marketplace per guide turistiche locali

Map to WordPress

BlogNews, Content

marketing…

PagesAbout, Why Join?...

ToursMain feature

4.1

Custom post type + Custom Fields

Bookings Custom post type + Custom Fields

Reviews Tour comments

Page 9: WordPress per Startup

Localtourguide.io - un marketplace per guide turistiche locali

Map to WordPress

Guide Turisti

4.2

Post Author

Custom roles

ToursMain feature

Guide

Posts 2 PostsBookingsTuristi

Posts 2 PostsBookingsToursMain feature

Page 12: WordPress per Startup

Codice: Custom post types + capabilities

6.1

Stiamo creando delle nuove «custom capabilities», che però nessun ruolo possiede.Occorre assegnarle almeno all’admin, altrimenti nessuno avrebbe i privilegi necessari per manipolare questo post type

Da chiamare su init,. i.e. add_action( 'init', 'register_cpt_tour' );

Page 13: WordPress per Startup

Codice: Custom post types + capabilities

6.2

register_cpt_caps aggiunge al ruolo administrator (ed eventuali altri)le custom capabilities associatead un custom post type

Ora quel custom post type risulta accessibile (almeno per gli administrator)

N.B. Le operazioni sui ruoli sono da chiamare solo una volta, all’attivazione, perché sono persistenti, i.e.add_action( 'init', 'register_cr' );function register_cr(){ $registered = get_option('ltg_cr_created'); if( empty($registered) ) { register_cpt_caps('tour'); // altre operazioni sui ruoli add_option('ltg_cr_created', true); }}

Page 14: WordPress per Startup

Codice: Custom post types + capabilities

6.3

register_cr_guide usa clone_role per creare un nuovo ruolo guide, basato su subscriber,e aggiunge il solo privilegio di creare e modificare(ma non pubblicare) i propri post di tipo tour

clone_role crea un nuovo ruolocopiando uno dei ruoli esistenti in WP_Roles

Page 15: WordPress per Startup

Codice: Custom post types + capabilities

6.4

Un ultima cosa: quando creiamo un nuovo tour, vogliamo poter selezionare come autoreanche tutti gli user con ruolo guide

Page 16: WordPress per Startup

Codice: Post and User Connections

6.5…nel frattempo bbiamo creato ancheun custom post type bookingper gestire le prenotazioni

Ogni booking dev’essere collegato a: • Uno o più partecipanti (user)• Il relativo tour

Specifichiamo queste relazioni con l’api del plugin Posts 2 Posts

Page 17: WordPress per Startup

Codice: Post and User Connections

6.6Abbiamo creato anche uncustom post type bookingper gestire le prenotazioni

Ogni booking dev’essere collegato a • Uno o più partecipanti (user)• Il relativo tour

Specifichiamo queste relazioni con l’api del plugin Posts 2 Posts

Ed ecco il risultato in /wp-admin

Page 18: WordPress per Startup

Configurazione: Custom Fields

6.7ACF ci permette di gestire i campi aggiunti con un’interfaccia grafica molto efficiente.

Ecco il risultato in /wp-admin

Page 19: WordPress per Startup

Cosa manca: gestione bookings

7 I custom post type booking non sono contenuti,e devono essere nascosti dal front end.Ma abbiamo comunque bisogno degli url per azioni di richiesta/accettazione/rifiuto delle prenotazioni

Per manipolare i booking definiremo degli url virtuali, non legati a nessun post o pagina

Il ciclo di vita della prenotazione potrà essere gestito mediante dei custom post status

Page 20: WordPress per Startup

Il Backoffice

8

Un backoffice pronto all’uso e conosciuto da molte persone

http://wp.smashingmagazine.com/2012/05/17/customize-wordpress-admin-easily/

• Il logo nella pagina di login• I loghi nell’header e footer dell’area amministrazione• Gli elementi della bacheca• Lo schema colori

C’è spesso una componente «di facciata» in un MVP.In questi casi meglio personalizzare graficamente il backoffice

Page 21: WordPress per Startup

Tutto il codice testato e funzionante?Metti la tua stellina sul repo di github!Lo pubblico se arrivamo almeno a 20Promesso!

9

https://github.com/ptbello/localtourguide