SlideShare une entreprise Scribd logo
THEME DEVELOPMENT
WORKFLOW
Shameem Reza | Future IT Park
Shameem Reza
 CTO & Co-Founder – Future IT
Park
 Contributor – Ghost and
WordPress
 Wordpress Consultant
 Plugin Developer
The Pitch
 Understand clients requirements.
 Organizing client data.
 Post type / taxonomies – use the core Luke!
 Custom post data.
 Bespoke functionality.
 Who’s doing what?
 Timescales and contingency.
Pitfalls to avoid
 Quickie quotes.
 Setting milestones.
 Defining responsibilities.
 Service level and expectations.
 The contingency.
 Costs breakdown – give options.
Won it – Best Foot Forward
 Get sign-off of proposal and milestones.
 Engage and schedule outside resources.
 Upsell – Don’t devalue our services.
 Confirm payment details / schedule of
payment.
 Get client going on content (or copyrighter)
 Hosting / Domains
My Development Environment
 Internal
 Xampp / Lamp
 Sublime Text 2
 VMWare Fusion
 Modern.ie
 Photoshop
 External
 Github
 Google Drive
 Digital Ocean Cloud
Server
Working in a Team or as an
Individual
 Version control
 Tracking changes / work.
 Accountability of task / issue.
 Associate commits with milestones.
LINKING COMMITS TO
ISSUES
Working in a Team – Dev Workflow
Local
Development
Team
Commit to Github
Team
Deploy to test
server
Team
Wireframes – Don’t get ahead of
yourself
 Solve a-lot of queries.
 Defines what’s important.
 What actually needs to be editable?
 Clarifies functionality with clients.
 Save time = saves (your) profit.
Wireframe Examples
Theme Building Options
 Adapting (hacking!) other themes.
 Starter / Foundation themes, like _s.
 Frameworks + Child theme, like Genesis.
 From scratch.
Let the Coding Begin !
 Code straight into template files.
 Avoid CSS( until later) – code pure XHTML.
 Identify and use common CSS classes :
 Colour definitions.
 Layout and containers.
 Identify common layout components :
Template parts.
Plugins or functions.php
 Plugins :
 Post types
 Taxonomies
 Advance functionality
 Functions.php :
 Widgets
 Enqueue styles / scripts
 Smaller utility / Display functions
Keep functions.php Organized
 Group into logical sections
 Comment as much you can.
 Template parts / includes vs. big chunks of
code.
Functions.php Example
Functions.php Example
Create your Own Hooks
 Add function to do_action in functions.php:
function mytheme_hook_after_page_loop(){
do_action('mytheme_hook_after_page_loop');
}
 Add action hook to theme:
mytheme_hook_after_page_loop()
 Use action hook:
function mytheme_insert_howdy(){ echo 'Howdy!';}
add_action(
'mytheme_hook_after_page_loop',
'mytheme_insert_howdy'
);
Testing Early – testing Often
 Run with Debug on during local development:
wp-config.php > define('WP_DEBUG', true);
 Developer Plugin
 Debug bar plugin
Test Data – Beyond Hello World
 Standard WordPress unit test data
http://codex.wordpress.org/Theme_Unit_Test
 BuddyPress test data
https://wordpress.org/plugins/bp-default-data
 Or export your own and make available to
team!
Deploy
 Migrating installs isn’t tough
http://interconnectit.com/products/search-and- replace-for-
wordpress-databases
 Analytics
 Optimization and cache
 XML sitemap(s) and Google webmaster tools
 Redirects for old site pages in .htaccess file
Redirect 301 /old.html http://www.site.com/new
Final Thoughts
 Stop using Plugins for simple things.
 Typography matters … and so does legibility.
 Don’t just copy and paste : examine, understand,
refine.
 On-server sub-domain dev environment but
lock it down!
 Keep R&D folder – don’t lose that researches.
Stop Hacking and Start
Creating
THANK YOU
Shameem Reza | Future IT Park

Contenu connexe

Tendances

ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High GearASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
Kevin Griffin
 
Week 11 - Hosting and Migration
Week 11 - Hosting and MigrationWeek 11 - Hosting and Migration
Week 11 - Hosting and Migration
henri_makembe
 
Wordcamp Toronto Presentation
Wordcamp Toronto PresentationWordcamp Toronto Presentation
Wordcamp Toronto Presentation
Roy Sivan
 
Blogging Presentation
Blogging PresentationBlogging Presentation
Blogging Presentation
ajaymehta
 
WordPress Migrations 101 - WordCamp Orlando
WordPress Migrations 101 - WordCamp OrlandoWordPress Migrations 101 - WordCamp Orlando
WordPress Migrations 101 - WordCamp Orlando
SiteGround.com
 
Using Wordpress for Internet Publishing
Using Wordpress for Internet PublishingUsing Wordpress for Internet Publishing
Using Wordpress for Internet Publishing
Ohio Public Library Information Network (OPLIN)
 
Ship WordPress Projects Like a Boss
Ship WordPress Projects Like a BossShip WordPress Projects Like a Boss
Ship WordPress Projects Like a Boss
SiteGround.com
 
Django for n00bs
Django for n00bsDjango for n00bs
Django for n00bs
Jen Zajac
 
Slideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You QueueSlideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You Queue
10n Software, LLC
 
RPC-CMS-Blog-Platforms
RPC-CMS-Blog-PlatformsRPC-CMS-Blog-Platforms
WordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTOWordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTO
Roy Sivan
 
Set up dev environment
Set up dev environmentSet up dev environment
Set up dev environment
ICourses Ottawa
 
Async
AsyncAsync
WordPress Basics
WordPress BasicsWordPress Basics
WordPress Basics
Doug Fisher
 
Theming Wordpress for Your Showcases
Theming Wordpress for Your ShowcasesTheming Wordpress for Your Showcases
Theming Wordpress for Your Showcases
Jun Hu
 
Speed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan HanesSpeed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan Hanes
Meagan Hanes
 
Word press in 60 minutes
Word press in 60 minutesWord press in 60 minutes
Word press in 60 minutes
Michelle Castillo
 
What is (not) WordPress
What is (not) WordPressWhat is (not) WordPress
What is (not) WordPress
Nikolay Bachiyski
 
Empowering Non-Profits with WordPress
Empowering Non-Profits with WordPressEmpowering Non-Profits with WordPress
Empowering Non-Profits with WordPress
Cliff Seal
 
Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015
Joe Querin
 

Tendances (20)

ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High GearASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
 
Week 11 - Hosting and Migration
Week 11 - Hosting and MigrationWeek 11 - Hosting and Migration
Week 11 - Hosting and Migration
 
Wordcamp Toronto Presentation
Wordcamp Toronto PresentationWordcamp Toronto Presentation
Wordcamp Toronto Presentation
 
Blogging Presentation
Blogging PresentationBlogging Presentation
Blogging Presentation
 
WordPress Migrations 101 - WordCamp Orlando
WordPress Migrations 101 - WordCamp OrlandoWordPress Migrations 101 - WordCamp Orlando
WordPress Migrations 101 - WordCamp Orlando
 
Using Wordpress for Internet Publishing
Using Wordpress for Internet PublishingUsing Wordpress for Internet Publishing
Using Wordpress for Internet Publishing
 
Ship WordPress Projects Like a Boss
Ship WordPress Projects Like a BossShip WordPress Projects Like a Boss
Ship WordPress Projects Like a Boss
 
Django for n00bs
Django for n00bsDjango for n00bs
Django for n00bs
 
Slideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You QueueSlideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You Queue
 
RPC-CMS-Blog-Platforms
RPC-CMS-Blog-PlatformsRPC-CMS-Blog-Platforms
RPC-CMS-Blog-Platforms
 
WordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTOWordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTO
 
Set up dev environment
Set up dev environmentSet up dev environment
Set up dev environment
 
Async
AsyncAsync
Async
 
WordPress Basics
WordPress BasicsWordPress Basics
WordPress Basics
 
Theming Wordpress for Your Showcases
Theming Wordpress for Your ShowcasesTheming Wordpress for Your Showcases
Theming Wordpress for Your Showcases
 
Speed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan HanesSpeed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan Hanes
 
Word press in 60 minutes
Word press in 60 minutesWord press in 60 minutes
Word press in 60 minutes
 
What is (not) WordPress
What is (not) WordPressWhat is (not) WordPress
What is (not) WordPress
 
Empowering Non-Profits with WordPress
Empowering Non-Profits with WordPressEmpowering Non-Profits with WordPress
Empowering Non-Profits with WordPress
 
Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015
 

Similaire à Theme development workflow

So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
Evan Mullins
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress development
Steve Mortiboy
 
Writing your own WordPress themes and plugins
Writing your own WordPress themes and pluginsWriting your own WordPress themes and plugins
Writing your own WordPress themes and plugins
Stephanie Wells
 
Wordpress development 101
Wordpress development 101Wordpress development 101
Wordpress development 101
Commit Software Sh.p.k.
 
Drupal Camp Victoria
Drupal Camp VictoriaDrupal Camp Victoria
Drupal Camp Victoria
Image X Media
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
Evan Mullins
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Mack Hardy
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfony
Francois Zaninotto
 
North east user group tour
North east user group tourNorth east user group tour
North east user group tour
10n Software, LLC
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
Evan Mullins
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
Michael Peacock
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deployment
phpne
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for Beginners
Adam Englander
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
Erik Osterman
 
Just dev it presenation modified word press 101
Just dev it presenation   modified word press 101Just dev it presenation   modified word press 101
Just dev it presenation modified word press 101
roguevoice
 
Scaling 101 test
Scaling 101 testScaling 101 test
Scaling 101 test
Rashmi Sinha
 
Scaling 101
Scaling 101Scaling 101
Scaling 101
Chris Finne
 
Zend con 2016 bdd with behat for beginners
Zend con 2016   bdd with behat for beginnersZend con 2016   bdd with behat for beginners
Zend con 2016 bdd with behat for beginners
Adam Englander
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
Thomas Daly
 
Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010
KWizCom Team
 

Similaire à Theme development workflow (20)

So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress development
 
Writing your own WordPress themes and plugins
Writing your own WordPress themes and pluginsWriting your own WordPress themes and plugins
Writing your own WordPress themes and plugins
 
Wordpress development 101
Wordpress development 101Wordpress development 101
Wordpress development 101
 
Drupal Camp Victoria
Drupal Camp VictoriaDrupal Camp Victoria
Drupal Camp Victoria
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfony
 
North east user group tour
North east user group tourNorth east user group tour
North east user group tour
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deployment
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for Beginners
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
 
Just dev it presenation modified word press 101
Just dev it presenation   modified word press 101Just dev it presenation   modified word press 101
Just dev it presenation modified word press 101
 
Scaling 101 test
Scaling 101 testScaling 101 test
Scaling 101 test
 
Scaling 101
Scaling 101Scaling 101
Scaling 101
 
Zend con 2016 bdd with behat for beginners
Zend con 2016   bdd with behat for beginnersZend con 2016   bdd with behat for beginners
Zend con 2016 bdd with behat for beginners
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 
Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010
 

Dernier

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 

Dernier (20)

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 

Theme development workflow

  • 2. Shameem Reza  CTO & Co-Founder – Future IT Park  Contributor – Ghost and WordPress  Wordpress Consultant  Plugin Developer
  • 3. The Pitch  Understand clients requirements.  Organizing client data.  Post type / taxonomies – use the core Luke!  Custom post data.  Bespoke functionality.  Who’s doing what?  Timescales and contingency.
  • 4. Pitfalls to avoid  Quickie quotes.  Setting milestones.  Defining responsibilities.  Service level and expectations.  The contingency.  Costs breakdown – give options.
  • 5. Won it – Best Foot Forward  Get sign-off of proposal and milestones.  Engage and schedule outside resources.  Upsell – Don’t devalue our services.  Confirm payment details / schedule of payment.  Get client going on content (or copyrighter)  Hosting / Domains
  • 6. My Development Environment  Internal  Xampp / Lamp  Sublime Text 2  VMWare Fusion  Modern.ie  Photoshop  External  Github  Google Drive  Digital Ocean Cloud Server
  • 7. Working in a Team or as an Individual  Version control  Tracking changes / work.  Accountability of task / issue.  Associate commits with milestones.
  • 9. Working in a Team – Dev Workflow Local Development Team Commit to Github Team Deploy to test server Team
  • 10. Wireframes – Don’t get ahead of yourself  Solve a-lot of queries.  Defines what’s important.  What actually needs to be editable?  Clarifies functionality with clients.  Save time = saves (your) profit.
  • 12. Theme Building Options  Adapting (hacking!) other themes.  Starter / Foundation themes, like _s.  Frameworks + Child theme, like Genesis.  From scratch.
  • 13. Let the Coding Begin !  Code straight into template files.  Avoid CSS( until later) – code pure XHTML.  Identify and use common CSS classes :  Colour definitions.  Layout and containers.  Identify common layout components : Template parts.
  • 14. Plugins or functions.php  Plugins :  Post types  Taxonomies  Advance functionality  Functions.php :  Widgets  Enqueue styles / scripts  Smaller utility / Display functions
  • 15. Keep functions.php Organized  Group into logical sections  Comment as much you can.  Template parts / includes vs. big chunks of code.
  • 18. Create your Own Hooks  Add function to do_action in functions.php: function mytheme_hook_after_page_loop(){ do_action('mytheme_hook_after_page_loop'); }  Add action hook to theme: mytheme_hook_after_page_loop()  Use action hook: function mytheme_insert_howdy(){ echo 'Howdy!';} add_action( 'mytheme_hook_after_page_loop', 'mytheme_insert_howdy' );
  • 19. Testing Early – testing Often  Run with Debug on during local development: wp-config.php > define('WP_DEBUG', true);  Developer Plugin  Debug bar plugin
  • 20. Test Data – Beyond Hello World  Standard WordPress unit test data http://codex.wordpress.org/Theme_Unit_Test  BuddyPress test data https://wordpress.org/plugins/bp-default-data  Or export your own and make available to team!
  • 21. Deploy  Migrating installs isn’t tough http://interconnectit.com/products/search-and- replace-for- wordpress-databases  Analytics  Optimization and cache  XML sitemap(s) and Google webmaster tools  Redirects for old site pages in .htaccess file Redirect 301 /old.html http://www.site.com/new
  • 22. Final Thoughts  Stop using Plugins for simple things.  Typography matters … and so does legibility.  Don’t just copy and paste : examine, understand, refine.  On-server sub-domain dev environment but lock it down!  Keep R&D folder – don’t lose that researches.
  • 23. Stop Hacking and Start Creating
  • 24. THANK YOU Shameem Reza | Future IT Park