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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
10
10k
現場で使える AWS DevOps Agent 活用ノウハウ - Release Management 機能の検証結果を添えて / AWS DevOps Agent Release Management and Know-How
kinunori
3
110
文字起こし基盤の信頼性
abnoumaru
0
140
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
520
Claude Mythos、Fable...フロンティアAIの最新動向と企業のセキュリティ対策
flatt_security
0
150
数値で見る Microsoft MVP 〜Spec Kit と GitHub Copilot Agent で作るデータ可視化ダッシュボード〜
yutakaosada
0
150
SRENEXT_2026_Chairs__Talks_in_Tamachi.sre.pdf
srenext
1
160
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
490
OPENLOGI Company Profile for engineer
hr01
1
75k
ソフトウェアアーキテクチャ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
540
探索・可視化・自動化を一本化 Amazon Quickでデータ活用スピードを上げる方法
koheiyoshikawa
0
210
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
340
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
320
The Mindset for Success: Future Career Progression
greggifford
PRO
0
430
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.6k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
600
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
45k
Claude Code のすすめ
schroneko
67
230k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
ラッコキーワード サービス紹介資料
rakko
1
4M
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