SlideShare a Scribd company logo
Improving WordPress Theme
Development Workflow
Development Environment
1. Install Docker CE (Community Edition)
2. Create docker-compose.yml
3. docker-compose up -d
4. docker ps
docker-compose.yml
Node Package Manager
npm is a package manager for the JavaScript programming language. It is the default package
manager for the JavaScript runtime environment Node.js. It consists of a command line client, also
called npm, and an online database of public and paid-for private packages, called the npm registry.
With NPM we can install : -
● Task Runners
● Sass/Scss/LeSS Compiler
● Babel
● And many more ;)
Task Runners
A task runner a program that can execute tasks based on specific criteria. Common usages are to set
up a task that runs every time a certain file is changed (or group of files) so you don't have to explicitly
recompile every time, or to restart a server every time you restart the database.
Gulp
Requirement NPM installed that comes with Node.js.
● > npm install gulp -g
● > npm init
● > npm install gulp --save-dev
● > npm install node-sass gulp-sass --save-dev
Sample gulpfile.js
Gulp + Sass
Emmet
SCSS/LESS
Git
Git is a distributed version-control system for tracking changes in source code during software
development. It is designed for coordinating work among programmers, but it can be used to track
changes in any set of files. Its goals include speed, data integrity, and support for distributed, non-
linear workflows.
Push Karo Khush Raho
Github + Travis CI
➔ Check out the code
➔ Build the code
➔ Run tests
➔ Automate deployment
➢ Travis run our unit tests for every push and every pull request.
● ( https://docs.travis-ci.com/user/tutorial/ )
● ( https://github.com/Automattic/_s/blob/master/.travis.yml )
Sample .travis.yml
Start loving CLI ❤️
Installing Plugins/Themes from WordPress Dashboard
WordPress Dashboard > Plugins > Add New > Search Plugin > Press Install Button ( Now Wait for
installation ~_~ ) > Click Activate. x4 for installing four plugins
Installing Plugins/Themes using WP-CLI
> wp plugin search xyz
> wp install monster-widget query-monitor debug-info block-unit-test --activate
Create POT File in second with WP-CLI
> wp i18n make-pot . languages/my-theme.pot
Theme Test
● Plugins
○ Query Monitor By John Blackbourn.
○ Debug This By MachoThemes.
○ Debug Bar By wordpressdotorg
○ Monster Widget By Automattic.
○ Block Unit Test for Gutenberg By Rich Tabor.
● Theme Unit Test Data https://github.com/WPTRT/theme-unit-test .
● Code is Poetry PHPCS for writing clean and beautiful code.
WordPress Gulp Workflow
https://github.com/ahmadawais/WPGulp
WPGULP
# 1— Install WPGulp in your WordPress theme/plugin.
> npx wpgulp
# 2— Now configure variables inside the `wpgulp.config.js` file.
# 3— Start your npm build workflow.
> npm start
What it can do?
● Auto browser reloading.
● SCSS Compiler on save.
● One command to compress all images in theme.
● One command to create pot file.
● One command for RTL stylesheets generator.
● You can customize WPGulp as you want.
Why WPGulp?
● WPGulp is Open Source Project.
● Awesome folks contributed in WPGULP.
● Just one command to get start.
● It will save your time that you invest in doing setup of your Workflow.
● Lots of features.
● Always Updated.
Resources
● https://make.wordpress.org/cli/handbook/installing/
● http://bit.ly/33pOVhH ( Docker Compose File:- WordPress + PhpMyAdmin + WP-CLI)
● https://github.com/ahmadawais/WPGulp
● https://github.com/WordPress/WordPress-Coding-Standards
● https://deliciousbrains.com/deploying-wordpress-plugins-travis/
● https://www.slideshare.net/HardeepAsrani/automating-wordpress-theme-development
Any Question?
Improving WordPress Theme Development Workflow - Naveen Kharwar.
My Name is Naveen Kharwar.
➔ From Varanasi.
➔ WordPress and Gatsby Developer.
➔ WordPress Contributor.
➔ Part of Varanasi Foss and WordPress Varanasi
Community
https://twitter.com/naveenkharwar0

More Related Content

What's hot (20)

PDF
Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ...
HighSolutions Sp. z o.o.
 
PDF
Frontend Build Tools - CC FE & UX
JWORKS powered by Ordina
 
PDF
An Introduction of Node Package Manager (NPM)
iFour Technolab Pvt. Ltd.
 
PPTX
Introduction to using Grunt & Bower with WordPress theme development
James Bundey
 
PPTX
Modern web technologies
Simeon Prusiyski
 
PPTX
nginx + uwsgi emperor + bottle
Jordi Soucheiron
 
PPTX
Configure jasmine and karma for code coverage
Deepak More
 
PDF
Getting started with gulpjs
unmesh dusane
 
PDF
Nightwatch.js (vodQA Shots - Pune 2017)
Smriti Tuteja
 
PDF
Puppet Camp LA 2015: Server Management with Puppet on AWS for a fast-growing ...
Puppet
 
ODP
Wt vs phalcon
Amitoj Singh
 
PPTX
Docker session III: Dockerfile
Degendra Sivakoti
 
PDF
Modernizing Your WordPress Workflow with Grunt & Bower
Alan Crissey
 
PPTX
Docker session I: Continuous integration, delivery and deployment
Degendra Sivakoti
 
PPTX
Grunt to automate JS build
Tejaswita Takawale
 
PDF
Deploying Drupal using Capistrano
Jochen Verdeyen
 
PDF
Zero Downtime Deployment with Ansible
Stein Inge Morisbak
 
PDF
Production Ready Javascript With Grunt
XB Software, Ltd.
 
PPTX
Vagrant step-by-step guide for Beginners
Sagar Acharya
 
PPTX
Vagrant
ProfessionalVMware
 
Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ...
HighSolutions Sp. z o.o.
 
Frontend Build Tools - CC FE & UX
JWORKS powered by Ordina
 
An Introduction of Node Package Manager (NPM)
iFour Technolab Pvt. Ltd.
 
Introduction to using Grunt & Bower with WordPress theme development
James Bundey
 
Modern web technologies
Simeon Prusiyski
 
nginx + uwsgi emperor + bottle
Jordi Soucheiron
 
Configure jasmine and karma for code coverage
Deepak More
 
Getting started with gulpjs
unmesh dusane
 
Nightwatch.js (vodQA Shots - Pune 2017)
Smriti Tuteja
 
Puppet Camp LA 2015: Server Management with Puppet on AWS for a fast-growing ...
Puppet
 
Wt vs phalcon
Amitoj Singh
 
Docker session III: Dockerfile
Degendra Sivakoti
 
Modernizing Your WordPress Workflow with Grunt & Bower
Alan Crissey
 
Docker session I: Continuous integration, delivery and deployment
Degendra Sivakoti
 
Grunt to automate JS build
Tejaswita Takawale
 
Deploying Drupal using Capistrano
Jochen Verdeyen
 
Zero Downtime Deployment with Ansible
Stein Inge Morisbak
 
Production Ready Javascript With Grunt
XB Software, Ltd.
 
Vagrant step-by-step guide for Beginners
Sagar Acharya
 

Similar to Improving WordPress Theme Development Workflow - Naveen Kharwar. (20)

PPTX
How to install ReactJS software
VigneshVijay21
 
PPTX
ReactJS software installation
HopeTutors1
 
PDF
Magento 2 Development
Duke Dao
 
PDF
Workshop 3: JavaScript build tools
Visual Engineering
 
PDF
#OktoCampus - Workshop : An introduction to Ansible
Cédric Delgehier
 
PDF
Grunt training deck
James Ford
 
PPTX
Grunt and Bower
George Estebe
 
PDF
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
Troublemaker Khunpech
 
PPTX
WordPress Development Environments
Ohad Raz
 
PPTX
#3 Hanoi Magento Meetup - Part 2: Scalable Magento Development With Containers
Hanoi MagentoMeetup
 
ODP
Administer WordPress with WP-CLI
Suwash Kunwar
 
PPTX
Overview of Node JS
Jacob Nelson
 
PDF
Ansible Introduction
Robert Reiz
 
PDF
Docker and DevOps --- new IT culture
Terry Chen
 
PPTX
Linux Presentation
kuldeepakgautam
 
DOCX
How to install and configure LEMP stack
RootGate
 
PDF
Getting Started with Docker
Anup Segu
 
PDF
Infrastructure = Code
Georg Sorst
 
PDF
PDXPortland - Dockerize Django
Hannes Hapke
 
How to install ReactJS software
VigneshVijay21
 
ReactJS software installation
HopeTutors1
 
Magento 2 Development
Duke Dao
 
Workshop 3: JavaScript build tools
Visual Engineering
 
#OktoCampus - Workshop : An introduction to Ansible
Cédric Delgehier
 
Grunt training deck
James Ford
 
Grunt and Bower
George Estebe
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
Troublemaker Khunpech
 
WordPress Development Environments
Ohad Raz
 
#3 Hanoi Magento Meetup - Part 2: Scalable Magento Development With Containers
Hanoi MagentoMeetup
 
Administer WordPress with WP-CLI
Suwash Kunwar
 
Overview of Node JS
Jacob Nelson
 
Ansible Introduction
Robert Reiz
 
Docker and DevOps --- new IT culture
Terry Chen
 
Linux Presentation
kuldeepakgautam
 
How to install and configure LEMP stack
RootGate
 
Getting Started with Docker
Anup Segu
 
Infrastructure = Code
Georg Sorst
 
PDXPortland - Dockerize Django
Hannes Hapke
 
Ad

Recently uploaded (20)

PDF
Thu Dinh - CIE-RESEARCH-METHODS-SLIDES-sample-extract.pptx.pdf
dinhminhthu1405
 
PPTX
Iconic Destinations in India: Explore Heritage and Beauty
dhorashankar
 
PPTX
Working-with-HTML-CSS-and-JavaScript.pptx
badalsenma5
 
PDF
Green Natural Green House Presentation (2).pdf
SaeedOsman6
 
PDF
Helpful but Terrifying: Older Adults' Perspectives of AI in Remote Healthcare...
Daniela Napoli
 
PPTX
Ocean_and_Freshwater_Awareness_Presentation.pptx
Suhaira9
 
PDF
Developing Accessible and Usable Security Heuristics
Daniela Napoli
 
PPTX
Remote Healthcare Technology Use Cases and the Contextual Integrity of Olde...
Daniela Napoli
 
PPTX
GAMABA AWARDEES GINAW BILOG AND SALINTA MONON BY REYMART
purezagambala458
 
PPTX
Applied Stats for Real-Life Decisions.pptx
khalyaniramjan49
 
PPTX
Describing the Organization's General Environment Identifying the Most Impact...
auntorkhastagirpujan
 
PPTX
Raksha Bandhan Celebrations PPT festival
sowmyabapuram
 
PPTX
Introduction_to_Python_Presentation.pptx
vikashkumargaya5861
 
PPTX
Enterprise Asset Management Overview with examples
ManikantaBN1
 
PPTX
Joy And Peace In All Circumstances.pptx
FamilyWorshipCenterD
 
PPTX
Influencing Factors of Business Environment of Vegetables Selling Business
auntorkhastagirpujan
 
PDF
Mathematics Grade 11 Term 1 Week 1_2021.pdf
MalepyaneMokgatle
 
PPTX
A Power Point Presentaion of 2 test match
katarapiyush21
 
PPTX
2025-07-27 Abraham 09 (shared slides).pptx
Dale Wells
 
PDF
Advanced-Web-Design-Crafting-the-Future-Web (1).pdf
vaghelavidhiba591
 
Thu Dinh - CIE-RESEARCH-METHODS-SLIDES-sample-extract.pptx.pdf
dinhminhthu1405
 
Iconic Destinations in India: Explore Heritage and Beauty
dhorashankar
 
Working-with-HTML-CSS-and-JavaScript.pptx
badalsenma5
 
Green Natural Green House Presentation (2).pdf
SaeedOsman6
 
Helpful but Terrifying: Older Adults' Perspectives of AI in Remote Healthcare...
Daniela Napoli
 
Ocean_and_Freshwater_Awareness_Presentation.pptx
Suhaira9
 
Developing Accessible and Usable Security Heuristics
Daniela Napoli
 
Remote Healthcare Technology Use Cases and the Contextual Integrity of Olde...
Daniela Napoli
 
GAMABA AWARDEES GINAW BILOG AND SALINTA MONON BY REYMART
purezagambala458
 
Applied Stats for Real-Life Decisions.pptx
khalyaniramjan49
 
Describing the Organization's General Environment Identifying the Most Impact...
auntorkhastagirpujan
 
Raksha Bandhan Celebrations PPT festival
sowmyabapuram
 
Introduction_to_Python_Presentation.pptx
vikashkumargaya5861
 
Enterprise Asset Management Overview with examples
ManikantaBN1
 
Joy And Peace In All Circumstances.pptx
FamilyWorshipCenterD
 
Influencing Factors of Business Environment of Vegetables Selling Business
auntorkhastagirpujan
 
Mathematics Grade 11 Term 1 Week 1_2021.pdf
MalepyaneMokgatle
 
A Power Point Presentaion of 2 test match
katarapiyush21
 
2025-07-27 Abraham 09 (shared slides).pptx
Dale Wells
 
Advanced-Web-Design-Crafting-the-Future-Web (1).pdf
vaghelavidhiba591
 
Ad

Improving WordPress Theme Development Workflow - Naveen Kharwar.

  • 2. Development Environment 1. Install Docker CE (Community Edition) 2. Create docker-compose.yml 3. docker-compose up -d 4. docker ps
  • 4. Node Package Manager npm is a package manager for the JavaScript programming language. It is the default package manager for the JavaScript runtime environment Node.js. It consists of a command line client, also called npm, and an online database of public and paid-for private packages, called the npm registry. With NPM we can install : - ● Task Runners ● Sass/Scss/LeSS Compiler ● Babel ● And many more ;)
  • 5. Task Runners A task runner a program that can execute tasks based on specific criteria. Common usages are to set up a task that runs every time a certain file is changed (or group of files) so you don't have to explicitly recompile every time, or to restart a server every time you restart the database.
  • 6. Gulp Requirement NPM installed that comes with Node.js. ● > npm install gulp -g ● > npm init ● > npm install gulp --save-dev ● > npm install node-sass gulp-sass --save-dev
  • 11. Git Git is a distributed version-control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, non- linear workflows. Push Karo Khush Raho
  • 12. Github + Travis CI ➔ Check out the code ➔ Build the code ➔ Run tests ➔ Automate deployment ➢ Travis run our unit tests for every push and every pull request. ● ( https://docs.travis-ci.com/user/tutorial/ ) ● ( https://github.com/Automattic/_s/blob/master/.travis.yml )
  • 14. Start loving CLI ❤️ Installing Plugins/Themes from WordPress Dashboard WordPress Dashboard > Plugins > Add New > Search Plugin > Press Install Button ( Now Wait for installation ~_~ ) > Click Activate. x4 for installing four plugins Installing Plugins/Themes using WP-CLI > wp plugin search xyz > wp install monster-widget query-monitor debug-info block-unit-test --activate
  • 15. Create POT File in second with WP-CLI > wp i18n make-pot . languages/my-theme.pot
  • 16. Theme Test ● Plugins ○ Query Monitor By John Blackbourn. ○ Debug This By MachoThemes. ○ Debug Bar By wordpressdotorg ○ Monster Widget By Automattic. ○ Block Unit Test for Gutenberg By Rich Tabor. ● Theme Unit Test Data https://github.com/WPTRT/theme-unit-test . ● Code is Poetry PHPCS for writing clean and beautiful code.
  • 18. WPGULP # 1— Install WPGulp in your WordPress theme/plugin. > npx wpgulp # 2— Now configure variables inside the `wpgulp.config.js` file. # 3— Start your npm build workflow. > npm start
  • 19. What it can do? ● Auto browser reloading. ● SCSS Compiler on save. ● One command to compress all images in theme. ● One command to create pot file. ● One command for RTL stylesheets generator. ● You can customize WPGulp as you want.
  • 20. Why WPGulp? ● WPGulp is Open Source Project. ● Awesome folks contributed in WPGULP. ● Just one command to get start. ● It will save your time that you invest in doing setup of your Workflow. ● Lots of features. ● Always Updated.
  • 21. Resources ● https://make.wordpress.org/cli/handbook/installing/ ● http://bit.ly/33pOVhH ( Docker Compose File:- WordPress + PhpMyAdmin + WP-CLI) ● https://github.com/ahmadawais/WPGulp ● https://github.com/WordPress/WordPress-Coding-Standards ● https://deliciousbrains.com/deploying-wordpress-plugins-travis/ ● https://www.slideshare.net/HardeepAsrani/automating-wordpress-theme-development
  • 24. My Name is Naveen Kharwar. ➔ From Varanasi. ➔ WordPress and Gatsby Developer. ➔ WordPress Contributor. ➔ Part of Varanasi Foss and WordPress Varanasi Community https://twitter.com/naveenkharwar0

Editor's Notes

  • #2: Hi everyone, I am Naveen Kharwar and I am just another WordPress Developer from Varanasi, it’s a great honor for me to discuss about my WordPress development workflow. English mein me itna hi rat ke aaya tha... Toh aaplogo mein se kitne logo ne Wordpress themes install