Schedule a Free Consultation
Install Php Code Sniffer on Windows & PHPStorm

Install Php Code Sniffer on Windows & PHPStorm

Read Article

If you are concerned about delivering high-quality code, compliant with WordPress coding standards, you’d better use an automated tool for these checks.

PHP Code Sniffer together with PHPStorm editor is a great and powerful combination as you get all these code checks in real time, as you type your code.

There are many great tutorials on how to install PHP Code Sniffer with PHPStorm on Mac, but we did not find any article explaining how to install and configure these tools on Windows.

On Windows

So here’s a small contribution for those who need to check their code on Windows:

  • Using Composer
  • Using PEAR
    • Install PHP. Suggested are bundle: XAMPP OR WAMP
      1. Restart computer
      2. XAMPP ship with PEAR and PHP_CodeSniffer you can skip steps 2-
      3. To check if PHP_CodeSniffer is installer run this command in CMD: phpcs -i
    • Add System Environment variable: https://www.screencast.com/t/1zs1WY31l with link to PHP.exe from BIN folder
    • How to install PEAR(if needed)
      1. Download from: http://pear.php.net/go-pear.phar
      2. Copy PEAR to php location
      3. Open CMD to this location. Can be done two ways
        1. RUN -> write cmd -> CD into your php server folder
        2. Open Explorer -> go to PHP location -> SHIFT + RIGHT CLICK there and open SHELL
      4. RUN command php go-pear.phar
        1. Check folder settings to be OK
        2. Follow on screen details and complete installation
    • Install PHP_CodeSniffer
      1. Run command from cmd(see step 3-C-i and 3-C-ii) pear install PHP_CodeSniffer from PHP -> PEAR folder
      2. Download WORDPRESS STANDARDS from https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/archive/master.zip
      3. Unpack the archive folders: https://www.screencast.com/t/jgucqIDo to ~phpPEARphpCodeSniffersrcStandards where ~ means path to PHP
    • For Updates you need to download the WORDPRESS STANDARDS from the link above and copy them to CodeSniffer location.
  • PHPStorm settings – is suggested to work on “default settings” dialog (from File)

Reference:

https://github.com/squizlabs/PHP_CodeSniffer
https://w3guy.com/setup-php-code-sniffer-phpstorm-windows/
https://kellenmace.com/set-up-php-codesniffer-in-phpstorm-with-wordpress-coding-standards/

At WPRiders, we know your website isn’t just a project—it’s part of your business engine ⚙️. That’s why we offer more than just code. From thoughtful WordPress custom development to dependable monthly WordPress maintenance, we’re here to support what matters most. Whether you’re planning a new build with custom WordPress website development 🛠️, looking for a reliable WordPress consultant 🧠, need and Elementor developer,or need ongoing support through our WordPress development service, we’d love to explore how we can work together.

If that sounds like what you need, 👉 Schedule a Free Discovery Call and let’s talk about your next move. We’re always up for a good conversation.

Navigate to

You Might Also Enjoy These Digital Marketing Articles:

Test If Flexslider Loaded
Test If Flexslider Loaded
Recently I had a mini project for a client and I had to test if Flexslider has been shown on the screen in order to further modify it. Subscribing to the startcallback didn’t work because the slider was shown by the theme and not by my code. jQuery(document).ready(…) didn’t work either. The slider was there, […]
Replace Comment Notification Email With Mandrill Template
Replace Comment Notification Email With Mandrill Template
Have you ever needed to replace the default email that WordPress is sending whenever a new comment is added? Recently I did. Here’s how I did it: To get this going you have to: Let me know if it worked for you.
Filter Custom Posts by Author in WP-Admin - WPRiders Article
Filter Custom Posts by Author in WP-Admin
Need to filter your Custom Post Types in WordPress by Author in WPAdmin? Here’s a handy way to do it by adding a new drop down for filtering: And here’s how it looks like: