wp-cliは、WordPressのコマンドラインツール。コマンドで WordPress やデータベースの様々な操作ができる。仮想環境なら、仮想マシンにログインした状態で実行する。
» エックスサーバー(XServer)で SSH接続し、PHP のバージョン切替えと WP-CLI のインストールをするまでの手順
wp-cli コマンドの一例
プラグイン
-
wp plugin install broken-link-checker contact-form-7 --activateインストール。--activate オプション付けると有効化 -
wp plugin activate wp-multibyte-patchプラグインの有効化 -
wp plugin deactivate broken-link-checkerプラグインの無効化 -
wp plugin uninstall akismet helloアンインストール。無効化した後で。jetpack は手動で wp-content/plugins/jetpack ディレクトリを削除する必要がある -
wp plugin statusインストールされたプラグインの一覧と状況。頭にAがあるものは有効化されているもの、Uが付いてるものはアップデートが出てるもの -
wp plugin searchプラグイン検索
アップデート
-
wp core update && wp plugin update --all && wp theme update --all && wp core language update色々まとめてアップデート -
wp plugin update --all全てのプラグインをアップデート -
wp plugin update addquicktag contact-form-7特定のプラグインをアップデート -
wp plugin update contact-form-7 --version=バージョン特定バージョンへのアップデート/ダウンデート ※ダウングレードもこれ -
wp core language update翻訳ファイルのアップデート -
wp core check-updateWordPress本体のアップデートが出てないか確認 -
wp core updateWordPress本体を最新版にアップデート(wp-cliもアップデートすること) -
wp core updatewp core update-dbwp core language install jaWordPress本体を最新バージョンにアップデート -
wp core update --version=4.0.1 --forceWordPress本体を指定バージョンにする。アップデートで不具合が起き戻すときに。--forceが必要らしい。 -
wp core download --locale=ja --path=/var/www/html/wordpress --version=4.5.2 --forceパスやバージョンを指定してwp本体をインストール。--force 付けると存在するファイルを上書き
メディア
-
wp media regenerate --yesサムネイル画像の再生成。Imagick か GD が必要。 --skip-delete で現在ある画像を削除せず残す -
wp media import ~/Pictures/**\/*.jpgホーム/Picturesにあるjpg画像を全てWordPressにインポート。オプション一例、--title=タイトル、--caption=キャプション、--alt=代替テキスト
例)wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image
テーマ
-
wp theme statusインストールされたテーマの一覧と状況。頭に付いてる文字の意味はプラグインのそれと同じ -
wp theme update --all全てのテーマをアップデート - その他、プラグインとほぼ同じ
-
wp theme activate twentysixteenテーマの切り替え
記事、タクソノミー
-
wp post list --field=post_title --post_type=page固定ページ記事の記事タイトル一覧を表示 ★★表示項目の複数指定どうする?--fieldはカンマじゃダメ(--post_typeはいけた) -
wp term create category 'テスト' --slug=testカテゴリ登録 -
wp term update category 4 --name=Sample --slug=sampleカテゴリ更新 -
wp user listユーザーの一覧
wp-cli
-
wp cli versionバージョン表示(:q で抜ける) wp cli info-
wp cli check-updateアップデートがあるかチェック -
wp cli updatewp-cliのアップデート。--nightly 付けるとナイトリービルド版(リリース前開発中の最新版)。エラーが出る場合、-allow-root オプション付けるとうまくいく?
scaffold
-
wp scaffold vccw wordpress.dev --lang=ja
コマンド一つで VCCW環境を構築(https://qiita.com/miya0001/items/687d142d714b1386a44f) -
wp scaffold _s sample-theme --theme_name="Sample Theme" --author="John Doe"_s ベースのテーマを生成 -
wp scaffold post-type movie --label=Movie --theme=simple-lifeカスタム投稿タイプの雛形を生成。指定のテーマフォルダ内に post-types/movie.php が生成される -
wp scaffold plugin sample-pluginプラグインの雛形を生成
テキスト置換
シリアライズされたデータも正常に置換してくれる。
下のサンプルは URL置換の例。
※ URL末尾に/(スラッシュ)を入れないこと
WordPressの引っ越しに便利な wp search-replace – Gatespace's Blog
-
wp search-replace --dry-run 'http://dev.example.com' 'https://example.com'まずはドライランでチェック -
wp search-replace 'http://dev.example.com' 'https://example.com'置換する
データベース操作
-
wp db export /var/www/html/db-backup/wordpress.sqlデータベースのエクスポート [サンプル] (https://developer.wordpress.org/cli/commands/db/export/) ※仮想マシンなら共有フォルダを指定 -
wp db import /var/www/html/db-backup/wordpress.sqlデータベースのインポート -
wp db createwp-config.php に基づき新しくデーターベースを作成 -
wp db drop存在するデータベースを削除 -
wp db resetデータベースからすべてのテーブルを削除 -
wp db columns wp_posts指定テーブルの情報を表示(例は wp_posts) -
wp db cliMySQL コンソールを開く オプション -
wp db querySQLクエリを実行 -
wp db checkデータベースのステータスチェック -
wp db tablesデータベース中のテーブルを表示 -
wp db prefixWordPressデータベースのプレフィックスを表示 -
wp db sizeデータベースのサイズを表示 -
wp db search キーワードデータベースから文字列検索 オプション -
wp db repairデータベースの修復 -
wp db optimizeデータベースの最適化 -
wp db clean$table_prefix の付いたテーブルを全削除
その他
-
wp rewrite flushリライトルール変更後に反映させるためのflush -
wp helpwp help cliヘルプ
ホストマシン(Mac)から直接実行
仮想マシンにログインせず、ホストマシン(Mac)から直接実行することもできる
vagrant ssh -c "wp plugin list"
vagrant ssh -c "wp plugin update --all"