0
Help us understand the problem. What are the problem?

posted at

updated at

WordPressのテーマをコーディング標準チェックできるようにする(phpcs)

はじめに

WordPress でもコーディング標準チェックを行いたい!と思ったので、導入することにしました
本当は 1週間後の IPA の応用情報技術者試験の勉強から逃げたくなったからですが

バージョン

バージョン
docker desktop 4.6.1
Windows 11 Pro 22H2
Ubuntu 20.04.4 LTS
PHP 8.0.11
WordPress 5.8.1

前提

以下の記事の続きです

環境は Docker + NGINX + WSL2 とします
今回紹介するソースは、以下のリポジトリにあります

手順

※ permission denied が出たら sudo chown で所有者とグループを他ファイルに合わせたり、 sudo chmod で権限を付与したりで解決してください

  1. WordPress コンテナに入る

    # WordPress コンテナ起動
    docker-compose up -d
    # WordPress コンテナに入る
    # docker exec -it {コンテナ名} /bin/bash
    docker exec -it app /bin/bash
    
  2. composer インストール

    • ↓リンク内の Composer インストールコマンドを実行する
      composer.phar ファイルが追加される

      https://getcomposer.org/download/

      # WordPress コンテナから出る
      exit
      
  3. composer.json 追加

    composer.json
    {
        // 値はよしなに設定する
        // `docker exec -it app php composer.phar validate --strict`コマンド実行時のエラー防止
        "name": "wordpress/app",
        "description": "WordPress skeleton app",
        "license": "MIT",
    
        // 開発だけで利用したいので require-dev 内で
        "require-dev": {
            // WordPress のコーディング標準をインストールする
            // バージョンは自由に指定(現時点では 2.3 が最新)
            "wp-coding-standards/wpcs": "^2.3"
        },
        // `docker exec -it app php composer.phar check`コマンドでチェックできるように scripts を記載
        // 記載しなくてもよい
        // `docker exec -it app vendor/bin/phpcs --colors -p --standard=WordPress wp-content/themes/` コマンドでもチェックできるため
        // テーマに対してコーディング標準チェックを行う( wp-content/themes/ 部)
        "scripts": {
            "check": [
                "@cs-check"
            ],
            "cs-check": "phpcs --colors -p --standard=WordPress wp-content/themes/"
        }
    }
    
  4. phpcs インストール

    # docker exec -it {コンテナ名} php composer.phar install
    docker exec -it app php composer.phar install
    
  5. phpcs に WordPress 用コーディング標準設定追加

    # docker exec -it {コンテナ名} vendor/bin/phpcs --config-set installed_paths vendor/wp-coding-standards/wpcs
    docker exec -it app vendor/bin/phpcs --config-set installed_paths vendor/wp-coding-standards/wpcs
    
  6. コーディング標準チェック実施して完了

    # docker exec -it {コンテナ名} php composer.phar check
    docker exec -it app php composer.phar check
    # もしくは
    # docker exec -it {コンテナ名} vendor/bin/phpcs --colors -p --standard=WordPress wp-content/themes/
    docker exec -it app vendor/bin/phpcs --colors -p --standard=WordPress wp-content/themes/
    

おわりに

WordPress 標準のテーマ、 twentytwenty に対してコーディング標準チェックを実行すると 290 件くらいエラーが発生したので、ルールを独自に定義してあげるのが一般的なんですかね、、
この記事が他のエンジニアの助けになれば幸いです

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?