Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Increase Your Productivity - The Local WordPres...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Luminus Olumide Alabi
August 17, 2018
Technology
3.3k
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
260
The Power Of Open Source: How WordPress Saved My Life
luminus
0
89
eCommerce in Nigeria for Fun and Profit
luminus
2
3.6k
Other Decks in Technology
See All in Technology
データ活用研修 データマネジメント【MIXI 26新卒技術研修】
mixi_engineers
PRO
4
840
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
5
1.4k
GMOフィナンシャルゲートが挑む、「止まらない」決済インフラ構築の裏側【SORACOM Discovery 2026】
soracom
PRO
0
110
Pavlokで始める電撃駆動開発
sgrsn
0
140
基調講演:人とAIをつなぐIoTの今と未来 ー 「フィジカル」と「デジタル」が出会うその先へ【SORACOM Discovery 2026】
soracom
PRO
0
370
セキュリティ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
32
27k
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
750
データエンジニアこそ組織のオントロジーに向き合うべき — 問いに答えるAIから、事業を動かすAIへ
gappy50
7
2.9k
ガバメントクラウドでのランサムウェア対策
techniczna
1
410
QAタスクをスキル化したいときに考えること
aomoriringo
0
140
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
170
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
1.6k
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
So, you think you're a good person
axbom
PRO
2
2.1k
The Curious Case for Waylosing
cassininazir
1
440
Amusing Abliteration
ianozsvald
1
240
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
680
Fireside Chat
paigeccino
42
4k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Building Applications with DynamoDB
mza
96
7.1k
Become a Pro
speakerdeck
PRO
31
6k
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