The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site for general updates, status reports, and the occasional code debate. There’s lots of ways to contribute:
Found a bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.?Create a ticket in our bug tracker.
Alert: This page is under construction and may contain inaccurate information. Want to help fix it? PingPingThe act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” the #docs channel in WordPress SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..
Testing patches is an important part of ensuring the quality of WordPress releases.
Grunt is a command runner that allows you to test patches that have been uploaded to Trac. To use Grunt, follow these steps:
Install nodejs and npm to your development environment.
Clone the develop WordPress repository located at https://develop.svn.wordpress.org/
Run npm install to get all the dependencies.
Run npm run grunt build to get the fully-built version
Setup your server to use /build as the root (varies depending on how your development environment is setup).
In order for changes to /src to be reflected in /build, run npm run grunt watch while you are working.
Alternatively, you can use /src as your document root, which may be much more convenient for PHP-focused development. You’ll need to run npm run grunt build -- --dev once, but after that you don’t need npm run grunt watch at all, unless you’re changing JavaScript/CSS. If you are, then use npm run grunt watch -- --dev instead of npm run grunt watch.
If you use VVV, a site can be added that contains a full WP Core development build. If you open config/config.yml there is a site pre-pepared for this, but disabled out of the box. Look for wordpress-trunk and change skip_provisioning from true to false, it should look like this:
wordpress-trunk:
skip_provisioning: true
description: "An git based WP Core trunk dev setup, useful for contributor days, Trac tickets, patches"
repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template-develop.git
hosts:
- trunk.wordpress.test
custom:
vcs: git # using 'svn' will force this vcs
Once saved, reprovision with vagrant up --provision. VVV will download and prepare a developer environment for working on core and testing. This new site will be located in the www/wordpress-trunk/public_html folder.
Inside the site there will be 2 folders, src and build. Changes made in the src folder are processed by a tool called grunt and put in the build folder. This happens automatically by running the command npm run grunt watch in the www/wordpress-trunk/public_html folder. For example:
vagrant ssh
cd /srv/www/wordpress-trunk/public_html
npm run grunt watch
Now that Grunt is setup, type in npm run grunt patch:####, replacing #### with either a ticket number from Trac or a patch URL. This will download the patch and apply the changes to your development environment.
Note: If you receive a Cannot find module 'grunt-cli/bin/grunt' error, run the following and then try again:
rm -rf node_modules && npm install
Ready to test your environment? Use npm run grunt test to automatically run automated tests. Note that this step requires PHPUnit to be installed.
If you’re a committer, be sure to run npm run grunt precommit before committing code, especially code that touches anything on the front-end (CSS/JS).