wpsyntex/polylang-cs

Coding standards for WP Syntex's plugins

Maintainers

Package info

github.com/polylang/polylang-cs

Type:phpcodesniffer-standard

pkg:composer/wpsyntex/polylang-cs

Transparency log

Statistics

Installs: 872

Dependents: 3

Suggesters: 0

Stars: 0

Open Issues: 3

dev-main 2026-07-08 15:16 UTC

This package is auto-updated.

Last update: 2026-07-08 15:17:49 UTC


README

Version License: MIT

Polylang Coding Standards is a ruleset for code quality tools to be used in WP Syntex's projects.

Installation

Standards are provided as a Composer package and can be installed with:

composer require --dev wpsyntex/polylang-cs:dev-main

PHP Code Sniffer

Set of PHP_CodeSniffer rules.

The following rulesets are included:

  • Several custom sniffs mainly focused on naming conventions,
  • NeutronStandard,
  • PHPCompatibilityWP (for PHP and WP version),
  • Suin (unmaintained; breaks on PHP 8.2+ with deprecation errors. Exclude Suin.Classes.PSR4 in your phpcs.xml.dist and enforce PSR-4 with composer.json autoload.psr-4 instead),
  • WordPress,
  • WordPressVIPMinimum.

Example for your phpcs.xml.dist file:

<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Polylang Foobar" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
    <description>Coding standards for Polylang Foobar.</description>

    <arg value="p"/><!-- Shows progress. -->
    <arg name="colors"/><!-- Shows results with colors. -->
    <arg name="extensions" value="php"/><!-- Limits to PHP files. -->

    <file>.</file>

    <!-- Our own ruleset. -->
    <rule ref="Polylang">
        <exclude name="Squiz.PHP.CommentedOutCode.Found"/>
        <exclude name="WordPress.PHP.DiscouragedPHPFunctions.serialize_serialize"/>
    </rule>

    <!-- Run against the PHPCompatibility ruleset: PHP 5.6 and higher + WP 5.4 and higher. -->
    <config name="testVersion" value="5.6-"/>
    <config name="minimum_supported_wp_version" value="5.4"/>
</ruleset>

When referencing this ruleset with nested <exclude> rules, omit <arg name="cache"/> (PHPCS cache can ignore them).