Windowsに「WordPress-Coding-Standards」を導入する方法

WordPressでテーマやプラグインを開発している人なら必須な「WordPress-Coding-Standards」をWindowsに導入する方法について紹介していきます。

いざ実行するとエラー出まくりで、めちゃくちゃ凹みますが、それぞれのエラーの意味を噛みしめながら修正していってください笑

はにわまん

手順が多いですが、、、順番に導入していってください

目次

「WordPress-Coding-Standards」を導入までの流れ

前提で導入していかないといけないものがたくさんあるので、順番に行っていきましょう。

導入の流れとしては以下のとおりです。(たぶんMacとかならめちゃくちゃ簡単なんだろうなぁと思いつつ。。)

  1. XAMPP
  2. Composer
  3. PHP_CodeShiffer
  4. Git
  5. WordPress-Coding-Standards

それでは順番に入れていきましょう!何も導入していない人にとっては道のりが長いですが、頑張ってついてきてください。。

Composerのインストール

「PHP_CodeShiffer」を導入するためには、Composerが必要になります。ComposerをWindowsに導入する方法は下記にまとめていますので、参考にして導入してみてください。

コマンドプロンプトで下記が動作するところまで動けば、こちらに戻ってきだてください。

composer --version
Composer version 1.6.3 2018-01-31 16:28:17

PHP_CodeShifferのインストール

Composerが導入できていれば、下記のコマンドで「PHP_CodeShiffer」が導入できます。

composer global require "squizlabs/php_codesniffer=*"

少し時間がかかります。

コマンドプロンプトで以下のコマンドが反応すればOKです。

phpcs -i
The installed coding standards are PEAR, Squiz, PSR2, PHPCS, PSR1, Zend and MySource

Gitのインストール

手順については、以下でまとめています。

コマンドプロンプトで下記のコマンドが使えるようになればOKです。

git --version
git version 2.16.2.windows.1

WordPress-Coding-Standardsのインストール

WordPress-Coding-Standardsのファイル一式をダウンロードしていきます。
ダウンロード先は、XAMPPのC:\xampp\php\pear\PHP\CodeSniffer\Standardsフォルダです。

公式のソースはこちらです → https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards

gitコマンドを使って、ダウンロードしていきましょう。

ダウンロード先のフォルダに移動します。

cd C:\xampp\php\pear\PHP\CodeSniffer\Standards

クローン(ダウンロード)します。標準のブランチが「develop」となっているっぽいので、「master」を指定してあげる必要があります。(参考:https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1283

git clone -b master https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git

フォルダはコピーされましたが、まだ「WordPress-Coding-Standards」を使うことはできません。PHP_CodeShifferに存在を教えてあげる必要があります。

XAMPPのPHPフォルダに移動

cd c:\xampp\php

パスの設定

phpcs --config-set installed_paths c:\xampp\php\pear\PHP\CodeSniffer\Standards\WordPress-Coding-Standards

インストールされたコーディングスタンダードの確認

phpcs -i
The installed coding standards are MySource, PEAR, PSR1, PSR2, Squiz, Zend, WordPress, WordPress-Core, WordPress-Docs, WordPress-Extra and WordPress-VIP
  • WordPress
  • WordPress-Core
  • WordPress-Docs
  • WordPress-Extra
  • WordPress-VIP

が追加されているのが分かります。

WordPress-Coding-Standardsの使い方

簡単にですが使い方についても紹介します。

調査したいphpファイルのあるフォルダに移動してください。

cd wp-content

--standard=WordPressでWordPressを選択して、対象のファイルを指定します。

phpcs --standard=WordPress index.php

すると、、、

エラーがこんなにも!
(行数にして10行くらいしか書いてないのに。。)

----------------------------------------------------------------------
FOUND 6 ERRORS AND 6 WARNINGS AFFECTING 8 LINES
----------------------------------------------------------------------
  1 | WARNING | [ ] The "WordPress.XSS.EscapeOutput" sniff has been
    |         |     renamed to "WordPress.Security.EscapeOutput".
    |         |     Please update your custom ruleset.
  1 | ERROR   | [x] End of line character is invalid; expected "\n"
    |         |     but found "\r\n"
  4 | WARNING | [ ] Found precision alignment of 2 spaces.
  5 | WARNING | [ ] Found precision alignment of 2 spaces.
  6 | WARNING | [ ] Found precision alignment of 2 spaces.
  7 | WARNING | [ ] Found precision alignment of 2 spaces.
  7 | ERROR   | [ ] Stylesheets must be registered/enqueued via
    |         |     wp_enqueue_style
  7 | ERROR   | [ ] Missing file doc comment
  7 | ERROR   | [ ] All output should be run through an escaping
    |         |     function (see the Security sections in the
    |         |     WordPress Developer Handbooks), found
    |         |     'get_template_directory_uri'.
  8 | WARNING | [ ] Found precision alignment of 2 spaces.
 18 | ERROR   | [x] Newline required after opening brace
 34 | ERROR   | [x] File must end with a newline character
----------------------------------------------------------------------
PHPCBF CAN FIX THE 3 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------

これがまだ1ファイル目って考えるとゾッとしますね。

ただ、ここで吐き出されたエラーの意味を理解してWordPressのコーディング規則に沿ったコーディングをしていきましょう。

おわり

Windowsに「WordPress-Coding-Standards」を導入する方法でした。

Windowsだと、環境整備が結構たいへんだったりしますね。たぶんMacだったらコマンドをターンッってしていけばカッコよく導入していけるんだと思います。

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

WordPressが得意なWeb屋。HPcode代表。

300件以上のWordPressカスタマイズを対応してきました。SE → 農家 → アフィリエイター → Web屋。生まれは三重県。

目次