Konfiguracja GitHub Actions do automatycznej weryfikacji zgodności z WPCS: poradnik dla PHP i WordPressa
Ten poradnik wyjaśnia, jak skonfigurować GitHub Actions, aby automatycznie sprawdzać kod PHP pod kątem zgodności ze standardami kodowania WordPressa (WPCS) przy użyciu PHP w wersji 7.4 i nowszych. Dzięki odpowiedniej konfiguracji plików `composer.json`, `phpcs.xml` i `ci.yml` można zautomatyzować kontrolę kodu oraz zapewnić zgodność ze standardami, poprawiając jego jakość i łatwość utrzymania.
Czym jest WPCS i dlaczego go potrzebujesz?
WPCS (WordPress Coding Standards) to zbiór standardów kodowania, który pomaga programistom tworzyć przejrzysty i łatwy w utrzymaniu kod dla WordPressa. W tym poradniku wyjaśniamy, jak skonfigurować GitHub Actions do automatycznej weryfikacji kodu pod kątem zgodności z WPCS z wykorzystaniem wersji PHP 7.4 i nowszych.
Jak skonfigurować GitHub Actions do weryfikacji zgodności z WPCS?
GitHub Actions pozwala zautomatyzować proces weryfikacji kodu. Przy każdym commicie do głównej gałęzi kod zostanie automatycznie sprawdzony pod kątem zgodności z WPCS, co pomaga unikać błędów i poprawia jakość projektu.
Konfiguracja pliku composer.json
Aby skonfigurować WPCS, dodaj poniższy wpis do sekcji „scripts” w pliku composer.json:
"scripts": {
"phpcs": "vendor/bin/phpcs --colors --standard=phpcs.xml"
}
To polecenie wskazuje, gdzie znajduje się plik konfiguracyjny phpcs.xml.
Tworzenie pliku phpcs.xml
Utwórz plik phpcs.xml w katalogu głównym projektu. Plik ten zawiera reguły służące do weryfikacji kodu. Przykładowa konfiguracja wygląda następująco:
<?xml version="1.0"?>
<ruleset name="WPCS">
<description>Coding Standards</description>
<!-- What to scan -->
<file>.</file>
<exclude-pattern>*/\.github/*</exclude-pattern>
<exclude-pattern>*/assets/*</exclude-pattern>
<exclude-pattern>*/htmltofpdf/*</exclude-pattern>
<exclude-pattern>*/languages/*</exclude-pattern>
<exclude-pattern>*/node_modules/*</exclude-pattern>
<exclude-pattern>*/src/js/*</exclude-pattern>
<exclude-pattern>*/src/php/includes*</exclude-pattern>
<exclude-pattern>*/vendor/*</exclude-pattern>
<exclude-pattern>*\.js</exclude-pattern>
<exclude-pattern>*\.mo</exclude-pattern>
<exclude-pattern>*\.po</exclude-pattern>
<exclude-pattern>*\.css</exclude-pattern>
<!-- How to scan -->
<arg value="sp"/><!-- Show sniff and progress -->
<arg name="basepath" value="./"/><!-- Strip the file paths down to the relevant bit -->
<arg name="extensions" value="php"/>
<arg name="parallel" value="12"/><!-- Enables parallel processing when available for faster results. -->
<config name="installed_paths" value="vendor/phpcompatibility/php-compatibility,vendor/phpcompatibility/phpcompatibility-paragonie,vendor/phpcompatibility/phpcompatibility-wp,vendor/wp-coding-standards/wpcs"/>
<config name="testVersion" value="7.4-"/>
<!-- Rules: Check PHP version compatibility -->
<rule ref="PHPCompatibility"/>
<rule ref="PHPCompatibilityWP"/>
<!-- Rules: WordPress Coding Standards -->
<config name="minimum_supported_wp_version" value="5.9"/>
<rule ref="WordPress"/>
<!-- Allow only short array syntax -->
<rule ref="Generic.Arrays.DisallowShortArraySyntax.Found">
<severity>0</severity>
</rule>
<rule ref="Generic.Arrays.DisallowLongArraySyntax.Found"/>
<!-- Allow short ternary syntax -->
<rule ref="WordPress.PHP.DisallowShortTernary.Found">
<severity>0</severity>
</rule>
<!-- Rules to follow PSR4 -->
<rule ref="WordPress.Files.FileName.InvalidClassFileName">
<severity>0</severity>
</rule>
<rule ref="WordPress.Files.FileName.NotHyphenatedLowercase">
<severity>0</severity>
</rule>
</ruleset>
Więcej informacji znajdziesz w dokumentacji.
Konfiguracja pliku ci.yml
Utwórz katalog .github/workflows i dodaj w nim plik ci.yml z następującą konfiguracją:
name: check WPCS
on: [ push, pull_request ]
jobs:
cs_and_tests:
strategy:
matrix:
os: [ ubuntu-latest ]
php-version: [ '7.4', '8.0', '8.1', '8.2' ]
env:
wp-directory: wordpress
wp-plugin-directory: wordpress/wp-content/plugins/your_folder
runs-on: ${{ matrix.os }}
name: PHP ${{ matrix.php-version }} on ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
path: ${{ env.wp-plugin-directory }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: json, mysqli, mbstring, zip
- name: Install dependencies with caching
uses: ramsey/composer-install@v2
with:
working-directory: ${{ env.wp-plugin-directory }}
- name: Run code sniffer
working-directory: ${{ env.wp-plugin-directory }}
run: composer phpcs
Zadbaj o prawidłowe wcięcia, ponieważ pliki YAML są wrażliwe na formatowanie.
Przyjrzyjmy się bliżej temu plikowi i najważniejszym parametrom, które należy zmodyfikować:
- php-version: [ ‘7.4’, ‘8.0’, ‘8.1’, ‘8.2’ ] — Są to wersje PHP, na których Twój kod będzie testowany.
- wp-plugin-directory: wordpress/wp-content/plugins/your_folder_name
Możesz nazwać wp-plugin-directory w dowolny sposób, ponieważ jest to jedynie zmienna środowiskowa (ENV). Musisz jednak konsekwentnie używać tej samej nazwy w całym pliku. Zmienna ta określa ścieżkę do Twojego kodu w maszynie wirtualnej.
To jedyne zmiany, które musisz wprowadzić w tym pliku, aby działał z Twoim projektem.
Następnie wystarczy wykonać polecenie git push, aby przesłać wszystkie zmiany do repozytorium. Aby sprawdzić, jak to działa, przejdź do swojego repozytorium i otwórz zakładkę Actions. Powinieneś zobaczyć coś takiego.

Jeśli Twój kod nie przejdzie weryfikacji, przejdź do konkretnego uruchomienia akcji. Znajdziesz tam szczegółową listę błędów i problemów w kodzie, które należy poprawić, aby pomyślnie przejść test.

Jak naprawić błędy weryfikacji WPCS?
Jeśli weryfikacja zakończy się niepowodzeniem, GitHub Actions wyświetli listę błędów. Aby je naprawić:
- Przejdź do zakładki Actions w swoim repozytorium.
- Otwórz szczegółowy raport błędów.
- Popraw wskazane problemy w kodzie.
Po poprawieniu błędów wykonaj polecenie git push, aby ponownie uruchomić weryfikację.
Podsumowanie
Konfiguracja GitHub Actions do weryfikacji zgodności z WPCS to prosty i skuteczny sposób na poprawę jakości kodu. Postępuj zgodnie z tym poradnikiem, aby mieć pewność, że Twój projekt spełnia standardy WordPressa. Jeśli napotkasz trudności, skontaktuj się z naszym zespołem, aby uzyskać profesjonalną pomoc.
Powiązane wpisy
Wskazówki i spostrzeżenia z mojej drogi zawodowej
- Kategoria:
- Konserwacja
Krytyczne podatności PHP2Shell (CVE-2026-109618 i CVE-2026-109619): Analiza i instrukcja naprawy dla VPS
Gotowy, aby wynieść swój projekt
na wyższy poziom?
Wprowadźmy Twoją wizję w życie dzięki profesjonalnemu tworzeniu stron i dedykowanym rozwiązaniom.
Skontaktuj się z nami już teraz i rozpocznijmy pracę nad przekształceniem Twoich pomysłów w rzeczywistość!