Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Increase Your Productivity - The Local WordPres...
Search
Luminus Olumide Alabi
August 17, 2018
Technology
3.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Increase Your Productivity - The Local WordPress Development Toolset of Your Dreams
Luminus Olumide Alabi
August 17, 2018
More Decks by Luminus Olumide Alabi
See All by Luminus Olumide Alabi
Rocking Remote Work: Living Your Best Life & Maintaining Your Sanity
luminus
0
270
The Power Of Open Source: How WordPress Saved My Life
luminus
0
92
eCommerce in Nigeria for Fun and Profit
luminus
2
3.6k
Other Decks in Technology
See All in Technology
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
480
AI Native Platform Engineering 〜PlatformとAgileで“作る速さ”を“価値”へ〜
uya116
0
610
Claude Designがめちゃくちゃ便利なので使ってほしい
diggymo
0
240
AWS FinOps Agent 結局何が得意なの?
siromi
0
230
DAMOS - The Smart Cruise Control for RAM
ennael
PRO
1
110
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
410
Snowflake Horizon Catalog と Apache Iceberg で作る オープンなデータ基盤
kitagawaz
0
390
Swap and Memory Reclaim - Squeezing Out More RAM
ennael
PRO
1
1.5k
[2026 Oracle Technical Deep Dive] AI時代のデータベース基盤をどう選ぶ? Exadata Database Serviceの選択肢と使い分け (2026年9月17日開催)
oracle4engineer
PRO
0
190
AI感のないAWS構成図をAIエージェントに描かせたい!
sagochiko
2
500
SDDの運用にめげずに向き合った話
sansantech
PRO
0
110
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
240
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
Facilitating Awesome Meetings
lara
57
7.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Documentation Writing (for coders)
carmenintech
77
5.6k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
380
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
550
Optimising Largest Contentful Paint
csswizardry
37
4k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
520
Transcript
INCREASE YOUR PRODUCTIVITY THE LOCAL WORDPRESS DEVELOPMENT TOOLSET OF YOUR
DREAMS 1 — © Luminus Alabi | WordCamp Brighton 2018
LUMINUS ALABI HI > Happiness Engineer @ Automattic > 7th
degree Black Belt at Hanging Out > Equal Opportunities Hugs Dispenser Hi ! @luminus // " https://luminus.alabi.blog 2 — © Luminus Alabi | WordCamp Brighton 2018
WHY WE'RE HERE > Blazing Fast Local Development Setup >
Making magic with WP-CLI > Supercharging your Terminal experience 3 — © Luminus Alabi | WordCamp Brighton 2018
BLAZING FAST LOCAL DEVELOPMENT SETUP 4 — © Luminus Alabi
| WordCamp Brighton 2018
LARAVEL VALET 1 1 https://laravel.com/docs/5.6/valet 5 — © Luminus Alabi
| WordCamp Brighton 2018
LARAVEL VALET PHP Development environment for Mac minimalists. 6 —
© Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET > No Vagrant > No Docker > No
/etc/hosts file > No headache 7 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET Blazing fast and uses roughly 7 MB of
RAM. 8 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET Configures your Mac to always run Nginx in
the background when your machine starts 9 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET Uses DnsMasq to proxy all requests on the
*.test domain to point to sites installed on your local machine. 10 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET Perfect if you prefer extreme speed, or are
working on a machine with a limited amount of RAM 11 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET > Out of the box support for 20+
Frameworks/CMSes > Extensible to support more via custom drivers 12 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET Linux & Windows users aren't left out 2
2 Valet Linux and Valet Windows 13 — © Luminus Alabi | WordCamp Brighton 2018
VALET+ 3 3 https://github.com/weprovide/valet-plus 14 — © Luminus Alabi |
WordCamp Brighton 2018
VALET+ > 3rd Party fork of Laravel Valet > Includes
additional functionality 15 — © Luminus Alabi | WordCamp Brighton 2018
VALET+ PHP version switching > valet use 5.6 > valet
use 7.1 > valet use 7.2 16 — © Luminus Alabi | WordCamp Brighton 2018
VALET+ Xdebug support 17 — © Luminus Alabi | WordCamp
Brighton 2018
VALET+ Mailhog 18 — © Luminus Alabi | WordCamp Brighton
2018
VALET+ Subdomains > valet subdomain list > valet subdomain add
<subdomain> 19 — © Luminus Alabi | WordCamp Brighton 2018
VALET+ WP-CLI 20 — © Luminus Alabi | WordCamp Brighton
2018
MIGRATING FROM VALET TO VALET+ 1. Install Valet+ globally with
Composer 2. Remove Laravel Valet to prevent conflicts 3. Optional but Recommended: Update Composer 4. Run the valet install command 21 — © Luminus Alabi | WordCamp Brighton 2018
MIGRATING FROM VALET TO VALET+ > composer global require weprovide/valet-plus
> composer global remove laravel/valet > composer global update > valet install 22 — © Luminus Alabi | WordCamp Brighton 2018
SERVING SITES 1. Create a Sites directory if you don’t
already have one: mkdir ~/Sites 2. Navigate to that directory: cd ~/Sites 3. Set that directory as your project root: valet park 23 — © Luminus Alabi | WordCamp Brighton 2018
MAKING MAGIC WITH WP-CLI 24 — © Luminus Alabi |
WordCamp Brighton 2018
SETTING UP A NEW WORDPRESS SITE WITH WP-CLI 25 —
© Luminus Alabi | WordCamp Brighton 2018
WP-CLI Demo Demo 1 Demo 1 Setting up a new
WordPress site with WP-CLI 26 — © Luminus Alabi | WordCamp Brighton 2018
SITE CREATION ON STEROIDS WITH THE WP-CLI VALET COMMAND 4
4 https://github.com/aaemnnosttv/wp-cli-valet-command 27 — © Luminus Alabi | WordCamp Brighton 2018
WP-CLI VALET COMMAND Custom WP-CLI command with 2 functions: >
Create a new WordPress install -- fast > Completely remove an installation. 28 — © Luminus Alabi | WordCamp Brighton 2018
WP-CLI Valet Command Demo Demo 2 Demo 2 WP-CLI Valet
Command Demo 29 — © Luminus Alabi | WordCamp Brighton 2018
BENDING WP-CLI SITE CREATION TO YOUR WILL THROUGH CONFIG FILES
30 — © Luminus Alabi | WordCamp Brighton 2018
Arguments are interpreted following an order of precedence, from highest
priority to lowest: 1. Command-line arguments. 2. wp-cli.local.yml file inside the current working directory (or upwards). 3. wp-cli.yml file inside the current working directory (or upwards). 4. ~/.wp-cli/config.yml file. 5. WP-CLI defaults. 31 — © Luminus Alabi | WordCamp Brighton 2018
MY ~/.wp-cli/config.yml FILE 5 Core config core config: dbuser: root
dbpass: root extra-php: | define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors',0); define( 'WCS_DEBUG', true ); 5 https://gist.github.com/Luminus/45e886809c81e325894a0825374065ec 32 — © Luminus Alabi | WordCamp Brighton 2018
MY ~/.wp-cli/config.yml FILE Core download core download: # locale: nl_NL
skip-content: true 33 — © Luminus Alabi | WordCamp Brighton 2018
MY ~/.wp-cli/config.yml FILE Core install core install: admin_user: luminus admin_password:
password admin_email:
[email protected]
34 — © Luminus Alabi | WordCamp Brighton 2018
MY ~/.wp-cli/config.yml FILE Valet new & Valet destroy valet new:
admin_user: luminus admin_password: password dbpass: root valet destroy: yes: true 35 — © Luminus Alabi | WordCamp Brighton 2018
KICKING IT UP A NOTCH WITH BASH SCRIPTING 36 —
© Luminus Alabi | WordCamp Brighton 2018
MY wc-site SCRIPT 6 A single command to create a
new WordPress site with: > WooCommerce plugin installed and activated > Storefront theme installed and activated > Default browser launched with my Admin user already logged in to WP-Admin 6 https://gist.github.com/Luminus/363f5c381b2ba279c747fc2c2913917c 37 — © Luminus Alabi | WordCamp Brighton 2018
MY wc-site SCRIPT #!/bin/bash # Function to display usage instructions
when the command is used incorrectly function usage { echo "usage: wc-site <name> [--master]" echo "e.g. wc-site gradient will create a site at https://gradient.test" echo "The \"--master\" switch will install the current WooCommerce master from Github" exit 1 } 38 — © Luminus Alabi | WordCamp Brighton 2018
MY wc-site SCRIPT # If the wc-site command is run
without the site name, display usage instructions if [[ -z "$1" ]]; then usage else # If only the site name is supplied, assume WordPress.org version of WooCommerce is wanted if [[ -z "$2" ]]; then woo="woocommerce" # If master switch is used then current WooCommerce master from Github is wanted elif [[ $2 = "--master" ]]; then woo="https://github.com/woocommerce/woocommerce/archive/master.zip" # If a second argument other than "--master" is supplied, teach the user how to do it else usage fi fi 39 — © Luminus Alabi | WordCamp Brighton 2018
MY wc-site SCRIPT # Change current directory to Sites cd
~/www/sites/ # Create WordPress site. Set the database name to be the same as the site name. # wp valet uses `wp_<name>` which I'm not keen on wp valet new $1 --dbname=$1 # Change current directory to the new site so you can work your WP-CLI magic cd ~/www/sites/$1 # Install & Activate WooCommerce based on whether the master switch is used or not. wp plugin install $woo --activate # Install & Activate Storefront wp theme install storefront --activate # Install & Activate the WP-CLI Login Companion Plugin wp login install --activate # Update permalink structure wp rewrite structure '/%year%/%monthnum%/%day%/%postname%/' # Launch the site in your default browser # valet open $1 # Launch the site's /wp-admin/ in your default browser # wp admin # Generate a Magic Link and Log in to the site in your default browser # Luminus is the default admin username for my local sites wp login as luminus --launch 40 — © Luminus Alabi | WordCamp Brighton 2018
WC-Site Demo Demo 3 Demo 3 WC-Site script in action
41 — © Luminus Alabi | WordCamp Brighton 2018
SUPER CHARGING YOUR TERMINAL EXPERIENCE 42 — © Luminus Alabi
| WordCamp Brighton 2018
ZSH AND OH-MY-ZSH 7 7 Installing ZSH and https://ohmyz.sh/ 43
— © Luminus Alabi | WordCamp Brighton 2018
ZSH > Extended Bourne shell with a large number of
improvements. > Oh-My-Zsh makes all the magic happen 44 — © Luminus Alabi | WordCamp Brighton 2018
OH-MY-ZSH > Community-driven framework for managing your ZSH configurations >
Bundled with loads of helpful functions, plugins & themes > Will make you shout… Oh My ZSH! > Windows 10 users can get in on it 8 8 https://www.maketecheasier.com/install-zsh-and-oh-my-zsh-windows10/ 45 — © Luminus Alabi | WordCamp Brighton 2018
OH-MY-ZSH Say goodbye to cd for changing directories. 46 —
© Luminus Alabi | WordCamp Brighton 2018
No cd Demo Demo 4 Demo 4 NO cd 47
— © Luminus Alabi | WordCamp Brighton 2018
OH-MY-ZSH Say hello to the take command: > Create a
new directory and change to it. > Will even create intermediate directories as required. 48 — © Luminus Alabi | WordCamp Brighton 2018
Take Command Demo Demo 5 Demo 5 Take Command Demo
49 — © Luminus Alabi | WordCamp Brighton 2018
OH-MY-ZSH Quick aliases for Git introduced by the git plugin
9 > gcl instead of git clone > gaa instead of git add --all > gcmsg instead of git commit -m > gp instead of git push > gcb instead of git checkout -b 9 GIT Plugin Cheat sheet 50 — © Luminus Alabi | WordCamp Brighton 2018
OH-MY-ZSH WP-CLI aliases for speeding up WordPress tasks 10 >
wppi woocommerce instead of wp plugin install woocommerce > wpta storefront instead of wp theme activate storefront 10 WP-CLI Plugin Cheat sheet 51 — © Luminus Alabi | WordCamp Brighton 2018
ITERM2, Z, HUB, GITUP 52 — © Luminus Alabi |
WordCamp Brighton 2018
ITERM2 11 > Replacement for the Mac OS terminal >
Brings features you never knew you always wanted: > Split Panes > Hotkey Window > Inline Images 11 iTerm2 Features 53 — © Luminus Alabi | WordCamp Brighton 2018
Z 12 > Jump around in the terminal > Tracks
most used directories based on 'frecency' > Frecency is a portmanteau of ‘recent’ and ‘frequency’ > Goes to most 'frecent' directory matching your request > z sites goes to your Sites directory > Quicker than using cd and memorising exact paths 12 https://github.com/rupa/z 54 — © Luminus Alabi | WordCamp Brighton 2018
HUB 13 > Command-line wrapper for git > Makes working
with GitHub easier > Useful for contributors as well as maintainers > git clone cool-stuff - clone your own project > git clone woocommerce/woocommerce vs git:// github.com/woocommerce/woocommerce.git 13 https://hub.github.com/ 55 — © Luminus Alabi | WordCamp Brighton 2018
GITUP 14 > For updating multiple git repositories at once
> Smart enough to handle several remotes > Works on OS X, Linux, and Windows > gitup . updates all repos in current directory 14 https://github.com/earwig/git-repo-updater 56 — © Luminus Alabi | WordCamp Brighton 2018
COMMAND LINE POWER USER 15 Online Video Course covering: >
CLI Basics > iTerm2 > ZSH & Z 15 Wes Bos's Free Command Line Power User course. 57 — © Luminus Alabi | WordCamp Brighton 2018
RECAP 58 — © Luminus Alabi | WordCamp Brighton 2018
RECAP > Blazing Fast Local Development Setup > Making magic
with WP-CLI > Supercharging your Terminal experience 59 — © Luminus Alabi | WordCamp Brighton 2018