WP-CLI v2-ターミナルからのWordPressの管理

その人生のほとんどのために、WordPressは、オブジェクト指向のPHPのダッシュが最も抽象的なシステムである単純なコードベー しかし、過去数年間で、これはより良い方向に変化しています。 単体テストからCSSの前処理やコマンドラインツールに、より多くの開発者に優しい資産がポップアップしています。 この記事では、私のお気に入りの1つ、WP-CLIを見ていきます。

WP-CLIとは何ですか?

WP-CLIは、開発者がWordPressインストールの一般的なタスク(あまり一般的ではない)を管理するためのコマンドラインツールです。 これは、ユーザー、投稿、カテゴリの追加/削除、テストデータの挿入、データベース内の検索と置換、パスワードのリセット、パフォーマンスの問題のトラブルシューティング

サポート

WP-CLIは、2003年以来、主にDaniel Bachhuberによって維持されている、十年以上のためのオープンソースプロジェクトとなっています。 WP-CLIの主な目的は、WordPress開発者のワークフローの高速化を支援することです。

長年にわたり、プロジェクトはそんなに多くに浮上しています! 現在では、TrellisやBedrockなどの他のオープンソースプロジェクトの要件にもなっています。 2017年1月現在、WP-CLIは正式に次の場所に移動しています。WordPress.org また、現在はAlain Schlesserによって共同維持されています。

WP-CLI v2はAugust8th,2018にリリースされましたので、いくつかの変更と新機能についても検討します。 あなたがKinstaクライアントの場合、WP-CLI v2.0。1は、私たちのサーバーのすべてにデフォルトでインストールされ、単に開始するためにあなたのサーバーにSSH。 SSHアクセスはすべてのホスティングプランに含まれています(SSH経由で接続できませんか? SSH”接続が拒否されました”エラーを修正しました)。

  • WP-CLIの取得
  • WP-CLIの基本
  • WP-CLIコマンド一般
  • 有用な例
  • Wp-CLIをリモートで使用する
  • Bashスクリプトを使用する

WP-CLIを取得する

WP-CLIを取得する

WP-CLIを取得する

WP-CLIを取得する

WP-CLIを取得する

  • WP-Cli V2.0.0のPHPの最小要件がPHP5.4にアップされました。 これは良い動きですが、少なくとも5.6以上を意味するサポートされているバージョンのPHPを実行することをお勧めします。 PHP7.2は、セキュリティとパフォーマンスの両方の理由から、すべてのKinstaインストールでデフォルトです。 また、PHP7.3と7.4も利用できます。開始するには、WP-CLIをインストールする必要があります–非常に簡単なプロセスです。 LinuxとOSXの手順は次のとおりです。:
    curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.pharchmod +x wp-cli.pharsudo mv wp-cli.phar /usr/local/bin/wp

    何かがうまくいかないか、Windows上にある場合は、基本的な手順または代替のインストール方法を参照してください。

    完了したら、wp --infoコマンドを発行して意味のある応答を得ることができるはずです。サーバーにWP-CLIをインストールする場合もプロセスは同じです。 KINSTAクライアントの場合、WP-CLIは既にインストールされていることを忘れないでください。 現在実行しているバージョンがわかりませんか? いつでもwp cli versionコマンドを発行して調べることができます。

    WP-CLIの基本

    コマンドラインからWordPressにアクセスすることは強力ですが、bashスクリプトを使用すると、さらに制御と速度の向上が得られます。

    Bashスクリプトを使用すると、単一のコマンドで一連のコマンドを実行できます。 bash install-and-setup.shと入力すると、次の結果が得られます:

    • ワードプレスをダウンロード
    • 作成し、移入wp-config.php
    • データベースを作成
    • ワードプレスをインストール
    • 必要なプラグインをインストールしてアクティブ化
    • テーマをイ私はプロジェクトのための新しいテスト環境を作成するために取るだろう。 通常、それは関与するいくつかのプラグインがある場合は特に、少なくとも私に5-10分かかるだろう。 単一のコマンドを発行する方が、明らかにはるかに高速です。一般的なWP-CLIコマンド

      ターミナルでの作業に慣れている場合は、WP-CLIについて特別なことはありません。 コマンドは常にwpで始まり、その後にコマンドとサブコマンドが続き、その後に必須パラメータとオプションパラメータが続きます。:

      wp command subcommand requiredparam --optionalparam --optionalparam2=value

      のは、これが実際のコマンドでどのように動作するかを確認するためにテーマをインストールしてみましょう:

      wp theme install twentyseventeen --activate

      これにより、WordPressのインストールにTwenty Seventeenテーマがインストールされ、アクティブ化されます。

      WP-CLIは、現在ターミナルにあるWordPressのインストールで動作することに注意してください。 あなたが別のWordPressのインストールに行くためにディレクトリを切り替える場合、それはそのもので動作します。

      便利な例

      それは一言で言えばWP-CLIでした! あなたが行うことができますいくつかの高度なものがありますが、我々はすぐに取得しますが、あなたはすでに開始し、あなたがする必要があるものは何 私はコマンドリストを見て、それらのいくつかを試してみることをお勧めします。 ここでいくつかの便利なものを見てから、SSH経由でWP-CLIを使用し、bashスクリプトを使用することに進みます。

      WordPressのインストール

      私はWP-CLIをたくさん使ってテスト環境をセットアップしています。 これが私が実行するコマンドのリストです:

      wp core downloadwp core config --dbname=mydbname --dbuser=mydbuser --dbpass=mydbpass --dbhost=localhost --dbprefix=whebfubwef_ --extra-php <<PHPdefine( 'WP_DEBUG', true );define( 'WP_DEBUG_LOG', true );PHPwp db createwp core install --url=http://siteurl.com --title=SiteTitle --admin_user=username --admin_password=mypassword 

      これはどのようにクールに注意してください! WordPressの最新バージョンは、最初のコマンドを使用してダウンロードされます。 第二のコマンドは、データベースアクセスと最後にいくつかの追加のPHPで設定ファイルを設定します。 追加の定数は、テスト用にデバッグオプションがオンになっていることを確認します。 あなたはWordPressのデバッグについての詳細を学びたい場合は、我々はここに詳細なガイドを持っています。

      3番目のコマンドはデータベースを作成し(WP-CLIは設定ファイルのデータベースアクセス情報を使用します)、最後にいくつかのパラメータを使用してWordPressをイ

      WordPress Coreの再インストール

      WP-CLIを使用してWordPress coreを再インストールすることもできます。 次のコマンドは、デフォルトのテーマとプラグインなしでWordPress coreをダウンロードします。

      wp core download --skip-content --force

      WordPressのURLを変更する

      WordPressのURLを変更する必要がある理由や変更したい理由はたくさんあります。 おそらく、ドメインを変更したり、サブドメインに移動したり、wwwから非wwwに更新したり、ファイルを移動したり、HTTPからHTTPSに移行したりしています。 どのような場合でも、このためにwp option updateコマンドを簡単に使用できます。 以下に例を示します:

      wp option update home 'http://example.com'wp option update siteurl 'http://example.com'

      現在のプラグインのリスト詳細

      サイトにインストールされている現在のプラグインのリストを取得するには、次のコマンドを使用します。 この例では、スキーマとYoast SEOプラグインがインストールされていることがわかります。 また、利用可能な更新がある場合は、ステータス(アクティブ/非アクティブ)、および現在のバージョンを返します。

      wp plugin list
      WP-CLIプラグインリスト

      WP-CLIプラグインリスト

      複数のプラグインをインストール

      複数のプラグインをインストールするには、単にパラメータ 以下は、3つのプラグインをダウンロードしてアクティブ化する例です:

      wp plugin install advanced-custom-fields jetpack ninja-forms --activate

      プラグイン名はリポジトリ内の名前から来ていることに注意してください。 これを理解する最も簡単な方法は、自分のページにアクセスしてURLを見るか、端末にリストを表示するwp plugin search searchtermを使用することです。

      WordPressプラグインリポジトリURL

      WordPressプラグインリポジトリURL

      必要に応じて、古いバージョンのWordPressプラグインを--version属性でインストールすることもできます。

      wp plugin install wordpress-seo --version=4.8 --activate

      クーラーでも、プラグインを開発している場合やプレミアムプラグインを使用している場合に便利なリポジトリだけでなく、リモートファイルからプラグインをインストールすることができます。 次のコマンドは、リポジトリから2つのプラグインとAmazon S3サーバーから1つのプラグインをインストールします。

      wp plugin install advanced-custom-fields jetpack https://d1qas1txbec8n.cloudfront.net/wp-content/uploads/2015/06/23073607/myplugin.zip --activate

      複数のプラグインを無効にする

      単一のプラグインを無効にするには、次のコマンドを実行します。

      wp plugin deactivate wordpress-seo

      すべてのプラグインを一度に無効にするには、次のコマンドを実行します。

      wp plugin deactivate --all
      WP-CLI deactivate all plugins

      WP-CLI deactivate all plugins

      上記のコマンドは、互換性の問題をトラブルシューティングしていて、すべてのプラグインを一挙に無効にする必要がある場合に便利です。 その後、戻って、あなたが行くようにテストし、それらを一つずつ有効にすることができます。

      プラグインの更新

      WordPressのプラグインを手動で更新することもできます。 以下の例:

      wp plugin update wordpress-seo
      wp-cli手動更新wordpressプラグイン

      WP-CLI手動更新WordPressプラグイン

      データベース検索と置換

      データベースをコピー&ペーストするだけでサイトを移行することが困難な主な理由の一つは、データベースにシリアル化された配列が含まれていることです。 すべてのインスタンスを置き換える必要がある場合http://testsite.comhttp://livewebsite.com文字列数が一致しないため、シリアル化された配列は意味をなさないでしょう。

      ニュースレターにサインアップ

      私たちはWordPressでトラフィックを1,187%増加させました。 私たちはどのようにお見せします。

      インサイダー WordPressのヒントと私たちの毎週のニュースレターを取得する20,000+他の人に参加!

      Subscribe Now

      search-replaceコマンドは、最初に配列をシリアル化解除し、検索と置換を実行してから、配列を再シリアル化します。 これは簡単なコマンドで行うことができます:

      wp search-replace oldstring newstring

      追加のパラメータを使用すると、--dry-runを使用して置換されるものをプレビューするなど、より多くのことを行うことができます。

      インポートとエクスポート

      WP-CLIでコンテンツをエクスポートするには、二つの方法があります。 WordPressのエクスポートツールと同じようにXMLファイルを作成するか、生のデータベースをエクスポート/インポートすることができます。 私は後で私の毎日のルーチンでより多くの有用な見つける、それはサイトを同期するときに便利です。SQLファイルを作成するために必要なのは

      wp db exportだけで、インポートするために必要なのはwp db import file.sqlだけです。 魅力のように動作しますが、必要なものを上書きしないように注意してください。

      役割と機能の管理

      WP-CLIはwp roleコマンドを使用してロールを非常に簡単に管理できます。 これは、プラグインがカスタムロールでどのように動作するかをテストしたいが、プラグイン内で実際にロールを作成しない場合にはかなりクールです。

      wp role create organizer Organizerwp cap list 'editor' | xargs wp cap add 'organizer'wp cap add 'organizer' 'manage-events'

      上記のコマンドは、新しいロール(オーガナイザー)を作成し、エディタロールからすべての機能を追加してから、新しい機能を追加します:manage-events。

      テストデータを生成

      私はすべての種類の偽物のような機能が大好きです。 WP-CLIにはこれらの機能がいくつか組み込まれていますが、ここではユーザー、用語、投稿を生成するいくつかの機能があります。WP-CRONイベントの管理WP-CLIでWP-CronイベントやWordPress Cronジョブを管理することができます。 たとえば、次のコマンドは現在のcronイベントリストを提供します。

      wp cron event list
      wp-cronイベントリスト

      wp-cronイベントリスト

      トランジェントの削除

      次のコマンドを使用して、一つまたはすべてのトランジェントを削除してクリアすることもできます。

      wp transient delete --all

      マルチサイトを実行している場合は、もう少し複雑なコマンドが必要になります。 デフォルトでは、このコマンドはwp_optionsテーブルのみをチェックします。 それはwp_1_optionswp_2_optionsなどをチェックしません。

      ダウンタイムとWordPressの問題に苦労していますか? Kinstaはあなたの時間を節約するために設計されたホスティングソリューションです! 私たちの機能をチェックしてくださ

      wp transient delete --all --network && wp site list --field=url | xargs -n1 -I % wp --url=% transient delete --all

      wp_optionsテーブルのクリーンアップ

      wp_optionsテーブルは、サードパーティのプラグインやテーマから残された自動ロードされたデータのために、サイトのクエリ時間が遅い WP-CLIを使用してwp_optionsテーブルをクリーンアップする方法については、WP Bulletのこの素晴らしい記事をチェックしてください。

      WordPressのリビジョンを削除

      大規模なサイトでは、WordPressのリビジョンは、必要のないデータベース内の何千もの行に非常に迅速に追加することができます。 WP-CLIで投稿リビジョンを削除することができます。 コマンドの例を次に示します:

      $ wp post delete $(wp post list --post_type='revision' --format=ids)
      wp-cli wordpressリビジョンの削除

      WP-CLI WordPressリビジョンの削除

      メンテナンスモードの制御

      WP-CLI v2.2.0以降、WordPressサイトのメンテナンスモードを制御できるようになりました。 例:

      wp maintenance-mode activatewp maintenance-mode deactivatewp maintenance-mode status

      Elasticsearchを使用したデータのインデックス

      elasticsearchはオープンソースの全文検索エンジンです。 これは、データのインデックスを作成し、そのデータを信じられないほど迅速に検索するために使用されます。 これはKinstaのお客様のためのアドオンとして提供しています。 ELASTICPRESS WP-CLIコマンドを使用して、SSH経由でインデックス作成を実行できます。 例:

      wp elasticpress index

      多言語サイトの操作

      WP-CLI v2.0.0には、多言語サイトで作業する人のための新しいコマンドファミリwp i18nが含まれています。 たとえば、WordPressプラグインまたはテーマ用のPOTファイルを作成できます。

      wp i18n make-pot <source> ] 

      i18n-commandのドキュメントを参照してください。

      WOOCOMMERCEでWP-CLIを使用する

      eコマースサイトでの作業? 使用できる迅速かつ簡単なコマンドについては、Robot Ninjaのamazing WP-CLI WooCommerce開発ガイドを確認することをお勧めします。 顧客、注文のリストを生成し、さらにはバルク製品を作成することは、WP-CLIですべて可能です。

      リモートでWP-CLIを使用する

      あなたがWP-CLIで行うことができる最高のものの一つは、リモートWordPressのインストールを管理することです。 これは本当にウェブサイトのマネージャーの夢が叶うです。

      ssh経由でリモートサーバー上でwp-CLIコマンドをシームレスに実行するには、以前はwp-cli-ssh addonコマンドが必要でした。 しかし、v0.24.0の時点で、これはWP-CLI自体の一部になりました! §

      重要:WP-CLIは、コマンドを実行しているコンピュータとサーバーの両方にインストールする必要があります。

      リモートサーバーの設定

      サーバーはグローバルまたはローカルに設定できます。 それらをグローバルに設定するには、config.ymlファイルを使用します。 現在の作業ディレクトリでwp-cli.ymlまたはwp-cli.local.ymlファイルを使用することもできます。

      サーバーの設定は次のように動作します。:

      ssh: staging: cmd: ssh %pseudotty% %cmd% url: http://myseite.com path: /www/path/to/site/root

      これがすべて完了したら、次のコマンドを入力してリモートサイトのWordPressを更新できます:

      wp ssh core update --host=staging

      あなたが多くのサイトを所有または管理している場合、私はあなたがこれが素晴らしいことを見ることができると思います! スクリプトはパスワードを要求しますが、RSAキーを使用してログインする場合は、それを無視することもできます。 それを設定するには、この記事を見てみましょう。

      Bashスクリプトの使用

      Bashスクリプトは、タスクを自動化することにより、さらに多くの時間を節約します。 WordPressをインストールするために多くのコマンドを入力する必要があったことを覚えていますか? あなたは単一のbashスクリプトでそれを行うことができます。 ディレクトリ内にinstall.shファイルを作成します。 私たちが前に持っていたのと同じコードを内部に貼り付けて保存します。

      wp core downloadwp core config --dbname=mydbname --dbuser=mydbuser --dbpass=mydbpass --dbhost=localhost --dbprefix=whebfubwef_ --extra-php <<PHPdefine( 'WP_DEBUG', true );define( 'WP_DEBUG_LOG', true );PHPwp db createwp core install --url=http://siteurl.com --title=SiteTitle --admin_user=username --admin_password=mypassword 

      今すぐ行う必要があるのはbash install.shと入力するだけで、すべてがユーザーの介入なしに実行されます。 多くのサイトを管理している場合は、すべての環境を設定し、次のようなbashスクリプトを作成できます:

      wp ssh core update --host=clientAwp ssh core update --host=clientBwp ssh core update --host=clientCwp ssh core update --host=clientD

      新しいWordPressのバージョンが出てくると、これはあなたに多くの時間を節約することができます! あなたはWP-CLIで好きなことを行うことができますので、あなたも一度にクライアントサイトの数に定期的にテーマやプラグインを更新することがで

      概要

      WP-CLIは本当に開発者とウェブサイトマネージャの夢が叶うです。 開発者として、私たちはちょっとの間でテストサイトを作成し、テストコンテンツを追加し、あらゆる種類のインポート/エクスポー サイト管理者は、単一のコマンドで複数のサイトのサイト更新やその他のタスクを処理できます。 WP-CLI v2リリースノートを必ずチェックしてください!WP-CLIをまだ試していない場合は、試してみることをお勧めします。 さらに優れた機能を追加するWP-CLI-SSHのようなコミュニティコマンドもたくさんあります! 問題が発生している場合は、WP-CLI common issuesのドキュメントを確認してください。

      KinstaのGoogleクラウドベースのアーキテクチャは、すぐにWP-CLIをサポートしていることを忘れないでください。 あなたが最も近代的なWordPressのホスティングアーキテクチャを試してみたいとWP-CLIのような素晴らしいツールへのアクセス権を持っている場合は、私たち

      この記事を楽しんでいれば、KinstaのWordPressホスティングプラットフォームが好きになります。 あなたのウェブサイトをターボチャージし、私たちのベテランWordPressチームから24/7のサ Google Cloud powered infrastructureは、自動スケーリング、パフォーマンス、セキュリティに焦点を当てています。 私たちはあなたにKinstaの違いをお見せしましょう!



  • +