Skip to content

Instantly share code, notes, and snippets.

@tajidyakub
Last active March 29, 2018 11:15
Show Gist options
  • Save tajidyakub/1ee4b00806b5de30c20e153b376eaf21 to your computer and use it in GitHub Desktop.
Save tajidyakub/1ee4b00806b5de30c20e153b376eaf21 to your computer and use it in GitHub Desktop.
Integrasi WP CLI ke dalam flow pengembangan WordPress

WordPress Command Line Interface (WP CLI)

Melakukan integrasi WP CLI ke dalam workflow pengembangan WordPress serta pengelolaan situs web berbasis WordPress yang sedang berjalan.

WP CLI merupakan tools official dari WordPress yang menyediakan interface ke WordPress di lingkungan Comand Line, interface ini memungkinkan instalasi, setup dan beberapa aktifitas pengelolaan rutin dapat dilakukan melalui command line.

Keberadaaan tools ini tidak hanya diperuntukan kepada web administrator yang terbiasa melakukan aktifitasnya di lingkungan command line namun juga membuka ruang pengembangan / extend ataupun automatisasi melalui script yang dapat dikembangkan melalui bahasa program apapun.

Berikut merupakan beberapa hal dasar yang dapat dilakukan untuk mengadopsi WP CLI ke dalam alur proses pengembangan WordPress yang kita lakukan.

URL WP CLI => https://wp-cli.org/

Instalasi

  • Download file wp-cli.phar
  • Ubah mode file menjadi executable +x dan pindahkan ke path bin untuk local user
  • Verifikasi bahwa WP CLI sudah terinstall
$ cd ~
$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
$ chmod +x wp-cli.phar
$ mv wp-cli.phar /usr/local/bin/wp
$ wp

NAME

  wp

DESCRIPTION

  Manage WordPress through the command-line.

SYNOPSIS

  wp <command>

...

$ wp --info
OS:	Darwin 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64
Shell:	/bin/bash
PHP binary:	/usr/local/Cellar/php71/7.1.14_25/bin/php
PHP version:	7.1.14
php.ini used:	/usr/local/etc/php/7.1/php.ini
WP-CLI root dir:	phar://wp-cli.phar
WP-CLI vendor dir:	phar://wp-cli.phar/vendor
WP_CLI phar path:	/Users/tjrocks/Projects/Web_Development/Music_Concert
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version:	1.5.0

Tab Completions

Fitur tambahan penyelesaian perintah melalui Tab juga dapat dinikmati melalui script wp-completion.bash.

$ wget https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash
$ source wp-completion.bash

tjrocks at Thead in ~
$ wp db #Tab
check      create     export     optimize   query      reset      size
cli        drop       import     prefix     repair     search     tables

Usage

Setelah dicopy ke dalam folder bin untuk local user maka WP CLI dapat diakses melalui command wp, untuk verifikasi awal silahkan jalankan wp tanpa parameter apapun. Aplikasi akan menampilkan parameter tamabahan yang dapat diberikan untuk menggunakan aplikasi ini.

Download file WordPress menggunakan WP CLI

$ cd /path/wp/root/
$ wp core download

Perintah di atas akan melakukan download terhadap file WordPress core melalui command git.

Contoh lain yaitu melakukan instalasi dan aktifasi plugin melalui WP CLI;

$ wp plugin install user-switching --activate
Installing User Switching (1.0.9)
Downloading install package from https://downloads.wordpress.org/plugin/user-switching.1.0.9.zip...
Unpacking the package...
Installing the plugin...
Plugin installed successfully.
Activating 'user-switching'...
Plugin 'user-switching' activated.
Success: Installed 1 of 1 plugins.

Skenario pemanfaatan WP CLI

WordPress Local Provisioning

Dikombinasikan dengan Laravel Valet, provisioning WordPress untuk Local Development Environment dapat dilakukan dengan sangat mudah melalui beberapa baris perintah.

  • Download core files wp core download
  • Create MySQL database via mysqli
  • Create WordPress config file wp config create --dbname=namadb --dbuser=namadbuser
  • Install WordPress melalui wp core install dengan parameter yang kita inginkan
  • Masukkan path ke dalam konfigurasi valet
$ cd /path/ke/local/web/root/wp
$ wp core download
$ ls #Verifikasi file sudah terdownload
$ mysql -uroot
mysql> create database database_db;
myaql> exit;
$ wp config create --dbname=database_db --dbuser=root
$ wp core install [email protected] --admin_user="AdminLocalWP" --admin_password="PasswordLocal##" --title="Site Title" --url="https://localinstall.dev"
$ valet link localinstall
$ valet secure

Local install WordPress tersebut kemudian dapat kita akses dalam keadaaan sudah terinstall di https://localinstall.dev, dengan asumsi konfigurasi valet sudah berhasil dilakukan.

WordPress Local Server

Untuk provisioning non valet juga dapat dilakukan dengan menggunakan http://localhost sebagai url instalasi

$ wp server
PHP 7.1.14 Development Server started at Thu Mar 29 17:28:42 2018
Listening on http://localhost:8080
Document root is /Users/tjrocks/Projects/Web_Development/Music_Concert/concerts-v2
Press Ctrl-C to quit.

Instalasi dan Aktifasi Plugin WordPress

Beberapa plugin yang ada di setiap instalasi WordPress

Instalasi dan aktifasi plugin menggunakan WP CLI dan plugin slug

$ wp plugin install --activate advanced-custom-fields
Installing Advanced Custom Fields (4.4.12)
Downloading installation package from https://downloads.wordpress.org/plugin/advanced-custom-fields.4.4.12.zip...
Unpacking the package...
Installing the plugin...
Plugin installed successfully.
Activating 'advanced-custom-fields'...
Plugin 'advanced-custom-fields' activated.
Success: Installed 1 of 1 plugins.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment