better!
Do it
After dozens projects based on WordPress I found I miss something important. This is the solution (or one among the
others), but let's do some introduction at first...
famous 5-minute
installation
WP is famous because of its simplicity when even BFU can easily start a project (which is great). One can download a ZIP,
decompress, upload, and start working. It has automatic updates and web based plugin/themes installation.
Such a simple one-click-to-profit process may however lead to irregularities in the future.
$ git init
We can start to use git to allow cooperation in dev team and also to prevent conflicts between develop and production
environments. But how will the commits and pull requests look like? What about third-party dependencies?
Too many files to handle.
Manual upload through FTP?
Try to remember everything. There is also another dark side of this process...
WordPress modern development
$ composer init
Move on and start to use PHP package manager. What can be a package in WP world?
Plugin, theme and even a WordPress core itself.
https://github.com/WordPress/WordPress
https://wpackagist.org/
WP is not prepared for composer. To get plugins and themes we can thankfully use their mirror with composer.json files
included. Problem is their installation destination - vendor folder by default, where WP doesn’t look.
johnpbloch/wordpress
custom install paths
There is an unofficial mirror also for the WordPress core with composer.json file. WordPress’ dependencies are special
types of packages, so we can change their destination thanks to the composer custom paths.
wordpress-plugin
wordpress-theme
wordpress-muplugin
There is a plenty of custom packages types. Muplugin stands for must-use, a special type of a plugin that cannot be
deactivated.
$ composer create-project roots/bedrock project-name
Again, too much to remember. Bedrock is a boilerplate for your WP projects. It has all features we mentioned so far
included. And adds something more...
environments
wp-config.php → .env
wp-password-bcrypt md5 → bcrypt
Bedrock supports different configuration for more environments (development, testing, production, …). It also ships
with a plugin that makes users’ passwords more secure (can be used also on a project which is not based on Bedrock).
Part of composer.json file. You can see custom composer repository or custom install paths.
Project structure and part of a configuration file.
Deployment can be made via several tools like Trellis, ruby-based Capistrano or via ssh access with just two commands.
1 project
2+ repositories
You can split your project into (at least) two repositories. One with defined dependencies like WP core and third-party
plugins. The second is for your custom theme. More might come when you develop your own plugins.
+
● Less amount of manual work
● Cleaner repositories
● Easier code review
● Overview of dependencies and their versions -
composer.json
● Simplified deployment
-
● Need to change old habits
● Time to set a new routine
● Automatic updates
You can find me here
@rmnvsl

More Related Content

PPTX
Drupal Development Tips
PPTX
Grunt and Bower
PDF
The eggless Plone manifesto (or Plone the open source cms-as-a-service platf...
PDF
PHP SA 2014 - Releasing Your Open Source Project
PDF
Gestione avanzata di WordPress con WP-CLI - WordCamp Torino 2017 - Andrea Car...
PDF
Bower & Grunt - A practical workflow
PDF
Capistrano deploy Magento project in an efficient way
PPTX
Varying wordpressdevelopmentenvironment wp-campus2016
Drupal Development Tips
Grunt and Bower
The eggless Plone manifesto (or Plone the open source cms-as-a-service platf...
PHP SA 2014 - Releasing Your Open Source Project
Gestione avanzata di WordPress con WP-CLI - WordCamp Torino 2017 - Andrea Car...
Bower & Grunt - A practical workflow
Capistrano deploy Magento project in an efficient way
Varying wordpressdevelopmentenvironment wp-campus2016

What's hot (20)

PPTX
WordPress Bhubaneswar Meetup - dive into gutenberg creation
PDF
Modernizing Your WordPress Workflow with Grunt & Bower
PPTX
Bower - A package manager for the web
PDF
Introduction to Express and Grunt
PDF
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
PDF
Testing and updating WordPress - Advanced techniques for avoiding regressions
PDF
Composer and deployer for enterprise
PDF
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
PDF
Get Started in Professional WordPress Design & Development
PDF
Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ...
PPTX
Managing your Drupal project with Composer
PPTX
Introduction to using Grunt & Bower with WordPress theme development
PDF
Production Ready Javascript With Grunt
PDF
MAGA - PUG Roma giugno 2017
PPTX
Xdebug, KCacheGrind and Webgrind with WampServer
PDF
Preprocessor Workflow with Grunt
PDF
Introducing Wordpress Multitenancy
PPTX
Google Chromebook for the Enterprise: Yeah or Meh?
PDF
Using Composer to create manageable WordPress websites
PDF
Wocker @WordBench Osaka No.41
WordPress Bhubaneswar Meetup - dive into gutenberg creation
Modernizing Your WordPress Workflow with Grunt & Bower
Bower - A package manager for the web
Introduction to Express and Grunt
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
Testing and updating WordPress - Advanced techniques for avoiding regressions
Composer and deployer for enterprise
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Get Started in Professional WordPress Design & Development
Laravel Poznań Meetup #12 - "Speed up web API with Laravel and Swoole using ...
Managing your Drupal project with Composer
Introduction to using Grunt & Bower with WordPress theme development
Production Ready Javascript With Grunt
MAGA - PUG Roma giugno 2017
Xdebug, KCacheGrind and Webgrind with WampServer
Preprocessor Workflow with Grunt
Introducing Wordpress Multitenancy
Google Chromebook for the Enterprise: Yeah or Meh?
Using Composer to create manageable WordPress websites
Wocker @WordBench Osaka No.41
Ad

Viewers also liked (14)

PDF
Luz nas trevas pe. julio maria - respostas irrefutaveis as objecoes protest...
PDF
PORTFOLIO_english
PPTX
The HEED Award Recognizes Colleges' Achievements in Diversity
PPTX
Wearable Healthcare Innovations
PPTX
Historia del mercadeo
PPTX
Presentacion del bullying
PDF
MiM application - Express yourself - Question I
PPS
Cuidaa tu pareja
PPTX
Baruch de Espinoza
PPTX
Звіт шмк 2016
PPTX
GOTIK
PPTX
Que talentos tengo y por que
PPTX
Presentación3
PPT
2 3 gestionproyectos
Luz nas trevas pe. julio maria - respostas irrefutaveis as objecoes protest...
PORTFOLIO_english
The HEED Award Recognizes Colleges' Achievements in Diversity
Wearable Healthcare Innovations
Historia del mercadeo
Presentacion del bullying
MiM application - Express yourself - Question I
Cuidaa tu pareja
Baruch de Espinoza
Звіт шмк 2016
GOTIK
Que talentos tengo y por que
Presentación3
2 3 gestionproyectos
Ad

Similar to WordPress modern development (20)

PPTX
A new way to develop with WordPress!
PPTX
Introduction to git & WordPress
PDF
Wordpress development: A Modern Approach
PDF
Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...
PPTX
Praktikum Rekayasa Web, WordPress (1)
PDF
WordPress and Git
KEY
WordPress - Open Source Overview Presentation
PDF
Modern Gentlemen's WordPress
PDF
A Better WordPress Workflow with WP-CLI
PPTX
Improving WordPress Theme Development Workflow - Naveen Kharwar.
PDF
Submitting Your First Plugin to WordPress.org
PDF
Bending word press to your will
PDF
WordCamp Belfast DevOps for Beginners
PDF
Manage WordPress with Awesome using wp cli
PDF
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cli
PDF
Web development automatisation for fun and profit (Artem Daniliants)
PDF
How to Submit a plugin to WordPress.org Repository
PDF
Demystifying WordPress
PDF
.Git for WordPress Developers
PPT
WordPress, an Open Source CMS Technologies
A new way to develop with WordPress!
Introduction to git & WordPress
Wordpress development: A Modern Approach
Managing a WordPress Site as a Composer Project by Rahul Bansal @ WordCamp Na...
Praktikum Rekayasa Web, WordPress (1)
WordPress and Git
WordPress - Open Source Overview Presentation
Modern Gentlemen's WordPress
A Better WordPress Workflow with WP-CLI
Improving WordPress Theme Development Workflow - Naveen Kharwar.
Submitting Your First Plugin to WordPress.org
Bending word press to your will
WordCamp Belfast DevOps for Beginners
Manage WordPress with Awesome using wp cli
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cli
Web development automatisation for fun and profit (Artem Daniliants)
How to Submit a plugin to WordPress.org Repository
Demystifying WordPress
.Git for WordPress Developers
WordPress, an Open Source CMS Technologies

Recently uploaded (20)

PDF
Cloud Native Aachen Meetup - Aug 21, 2025
PPTX
Foundations of Marketo Engage: Nurturing
PDF
Ragic Data Security Overview: Certifications, Compliance, and Network Safegua...
PDF
solman-7.0-ehp1-sp21-incident-management
PPTX
Swiggy API Scraping A Comprehensive Guide on Data Sets and Applications.pptx
PDF
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
PPTX
Post-Migration Optimization Playbook: Getting the Most Out of Your New Adobe ...
PPTX
WJQSJXNAZJVCVSAXJHBZKSJXKJKXJSBHJBJEHHJB
PPTX
ESDS_SAP Application Cloud Offerings.pptx
PDF
Top 10 Project Management Software for Small Teams in 2025.pdf
PDF
What Makes a Great Data Visualization Consulting Service.pdf
PPT
3.Software Design for software engineering
PDF
IT Consulting Services to Secure Future Growth
PPTX
SAP Business AI_L1 Overview_EXTERNAL.pptx
PPTX
Chapter 1 - Transaction Processing and Mgt.pptx
PPTX
Folder Lock 10.1.9 Crack With Serial Key
PPTX
Why 2025 Is the Best Year to Hire Software Developers in India
PPTX
Human-Computer Interaction for Lecture 1
PDF
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
Cloud Native Aachen Meetup - Aug 21, 2025
Foundations of Marketo Engage: Nurturing
Ragic Data Security Overview: Certifications, Compliance, and Network Safegua...
solman-7.0-ehp1-sp21-incident-management
Swiggy API Scraping A Comprehensive Guide on Data Sets and Applications.pptx
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Post-Migration Optimization Playbook: Getting the Most Out of Your New Adobe ...
WJQSJXNAZJVCVSAXJHBZKSJXKJKXJSBHJBJEHHJB
ESDS_SAP Application Cloud Offerings.pptx
Top 10 Project Management Software for Small Teams in 2025.pdf
What Makes a Great Data Visualization Consulting Service.pdf
3.Software Design for software engineering
IT Consulting Services to Secure Future Growth
SAP Business AI_L1 Overview_EXTERNAL.pptx
Chapter 1 - Transaction Processing and Mgt.pptx
Folder Lock 10.1.9 Crack With Serial Key
Why 2025 Is the Best Year to Hire Software Developers in India
Human-Computer Interaction for Lecture 1
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf

WordPress modern development

  • 2. After dozens projects based on WordPress I found I miss something important. This is the solution (or one among the others), but let's do some introduction at first...
  • 3. famous 5-minute installation WP is famous because of its simplicity when even BFU can easily start a project (which is great). One can download a ZIP, decompress, upload, and start working. It has automatic updates and web based plugin/themes installation. Such a simple one-click-to-profit process may however lead to irregularities in the future.
  • 4. $ git init We can start to use git to allow cooperation in dev team and also to prevent conflicts between develop and production environments. But how will the commits and pull requests look like? What about third-party dependencies?
  • 5. Too many files to handle. Manual upload through FTP? Try to remember everything. There is also another dark side of this process...
  • 7. $ composer init Move on and start to use PHP package manager. What can be a package in WP world? Plugin, theme and even a WordPress core itself.
  • 8. https://github.com/WordPress/WordPress https://wpackagist.org/ WP is not prepared for composer. To get plugins and themes we can thankfully use their mirror with composer.json files included. Problem is their installation destination - vendor folder by default, where WP doesn’t look.
  • 9. johnpbloch/wordpress custom install paths There is an unofficial mirror also for the WordPress core with composer.json file. WordPress’ dependencies are special types of packages, so we can change their destination thanks to the composer custom paths.
  • 10. wordpress-plugin wordpress-theme wordpress-muplugin There is a plenty of custom packages types. Muplugin stands for must-use, a special type of a plugin that cannot be deactivated.
  • 11. $ composer create-project roots/bedrock project-name Again, too much to remember. Bedrock is a boilerplate for your WP projects. It has all features we mentioned so far included. And adds something more...
  • 12. environments wp-config.php → .env wp-password-bcrypt md5 → bcrypt Bedrock supports different configuration for more environments (development, testing, production, …). It also ships with a plugin that makes users’ passwords more secure (can be used also on a project which is not based on Bedrock).
  • 13. Part of composer.json file. You can see custom composer repository or custom install paths.
  • 14. Project structure and part of a configuration file.
  • 15. Deployment can be made via several tools like Trellis, ruby-based Capistrano or via ssh access with just two commands.
  • 16. 1 project 2+ repositories You can split your project into (at least) two repositories. One with defined dependencies like WP core and third-party plugins. The second is for your custom theme. More might come when you develop your own plugins.
  • 17. + ● Less amount of manual work ● Cleaner repositories ● Easier code review ● Overview of dependencies and their versions - composer.json ● Simplified deployment - ● Need to change old habits ● Time to set a new routine ● Automatic updates
  • 18. You can find me here @rmnvsl